In void ATestActor::OnConstruction(const FTransform& Transform)
there is an infinite loop occuring in a ping pong call between the SetActorLabel and the DestroyChildActor calls.
Happens in vanilla 4.21.2
2- Open project,
2- Try to put TestActor in the viewport.
2- Editor crashes
[Link Removed]
UE4Editor-Engine.dll!AActor::PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) Line 125 C++ UE4Editor-Engine.dll!AActor::SetActorLabelInternal(const FString & NewActorLabelDirty, bool bMakeGloballyUniqueFName, bool bMarkDirty) Line 868 C++ UE4Editor-ChildActorIssue2.dll!ATestActor::OnConstruction(const FTransform & Transform) Line 29 C++ UE4Editor-Engine.dll!AActor::ExecuteConstruction(const FTransform & Transform, const FRotationConversionCache * TransformRotationCache, const FComponentInstanceDataCache * InstanceDataCache, bool bIsDefaultTransform) Line 840 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 495 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 239 C++ UE4Editor-Engine.dll!AActor::PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) Line 125 C++ UE4Editor-Engine.dll!AActor::SetActorLabelInternal(const FString & NewActorLabelDirty, bool bMakeGloballyUniqueFName, bool bMarkDirty) Line 868 C++ UE4Editor-ChildActorIssue2.dll!ATestActor::OnConstruction(const FTransform & Transform) Line 29 C++ UE4Editor-Engine.dll!AActor::ExecuteConstruction(const FTransform & Transform, const FRotationConversionCache * TransformRotationCache, const FComponentInstanceDataCache * InstanceDataCache, bool bIsDefaultTransform) Line 840 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 495 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 239 C++ UE4Editor-Engine.dll!AActor::PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) Line 125 C++ UE4Editor-Engine.dll!AActor::SetActorLabelInternal(const FString & NewActorLabelDirty, bool bMakeGloballyUniqueFName, bool bMarkDirty) Line 868 C++ UE4Editor-ChildActorIssue2.dll!ATestActor::OnConstruction(const FTransform & Transform) Line 29 C++ UE4Editor-Engine.dll!AActor::ExecuteConstruction(const FTransform & Transform, const FRotationConversionCache * TransformRotationCache, const FComponentInstanceDataCache * InstanceDataCache, bool bIsDefaultTransform) Line 840 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 495 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 239 C++ UE4Editor-Engine.dll!AActor::PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) Line 125 C++ UE4Editor-Engine.dll!AActor::SetActorLabelInternal(const FString & NewActorLabelDirty, bool bMakeGloballyUniqueFName, bool bMarkDirty) Line 868 C++ UE4Editor-ChildActorIssue2.dll!ATestActor::OnConstruction(const FTransform & Transform) Line 29 C++ UE4Editor-Engine.dll!AActor::ExecuteConstruction(const FTransform & Transform, const FRotationConversionCache * TransformRotationCache, const FComponentInstanceDataCache * InstanceDataCache, bool bIsDefaultTransform) Line 840 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 495 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 239 C++ UE4Editor-Engine.dll!AActor::PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) Line 125 C++ UE4Editor-Engine.dll!AActor::SetActorLabelInternal(const FString & NewActorLabelDirty, bool bMakeGloballyUniqueFName, bool bMarkDirty) Line 868 C++ UE4Editor-ChildActorIssue2.dll!ATestActor::OnConstruction(const FTransform & Transform) Line 29 C++ UE4Editor-Engine.dll!AActor::ExecuteConstruction(const FTransform & Transform, const FRotationConversionCache * TransformRotationCache, const FComponentInstanceDataCache * InstanceDataCache, bool bIsDefaultTransform) Line 840 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 495 C++ UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 239 C++ UE4Editor-Engine.dll!AActor::PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) Line 125 C++ UE4Editor-Engine.dll!AActor::SetActorLabelInternal(const FString & NewActorLabelDirty, bool bMakeGloballyUniqueFName, bool bMarkDirty) Line 868 C++ UE4Editor-ChildActorIssue2.dll!ATestActor::OnConstruction(const FTransform & Transform) Line 29 C++ UE4Editor-Engine.dll!AActor::ExecuteConstruction(const FTransform & Transform, const FRotationConversionCache * TransformRotationCache, const FComponentInstanceDataCache * InstanceDataCache, bool bIsDefaultTransform) Line 840 C++ UE4Editor-Engine.dll!AActor::FinishSpawning(const FTransform & UserTransform, bool bIsDefaultTransform, const FComponentInstanceDataCache * InstanceDataCache) Line 3098 C++ UE4Editor-Engine.dll!AActor::PostSpawnInitialize(const FTransform & UserSpawnTransform, AActor * InOwner, APawn * InInstigator, bool bRemoteOwned, bool bNoFail, bool bDeferConstruction) Line 3041 C++ UE4Editor-Engine.dll!UWorld::SpawnActor(UClass * Class, const FTransform * UserTransformPtr, const FActorSpawnParameters & SpawnParameters) Line 478 C++ UE4Editor-Engine.dll!UWorld::SpawnActor(UClass * Class, const FVector * Location, const FRotator * Rotation, const FActorSpawnParameters & SpawnParameters) Line 302 C++ UE4Editor-UnrealEd.dll!UEditorEngine::AddActor(ULevel * InLevel, UClass * Class, const FTransform & Transform, bool bSilent, EObjectFlags InObjectFlags) Line 6206 C++ UE4Editor-UnrealEd.dll!FLevelEditorViewportClient::TryPlacingActorFromObject(ULevel * InLevel, UObject * ObjToUse, bool bSelectActors, EObjectFlags ObjectFlags, UActorFactory * FactoryToUse, const FName Name) Line 262 C++
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-70462 in the post.
1 |
Component | UE - Gameplay |
---|---|
Affects Versions | 4.21.2 |
Target Fix | 4.24 |
Created | Feb 22, 2019 |
---|---|
Resolved | Oct 16, 2019 |
Updated | Jan 13, 2021 |