Description

A licensee is reporting a crash where loading a sublevel that contains an actor with a child actor component can cause a crash. After speaking to Marc Audy, this seems to be related to the initialization of the child actor not causing an Async flush.

Regression?: Not that we are aware of at this time.

Steps to Reproduce

None at the moment, JIRA was requested to be entered before repro was confirmed

Callstack
[Inline Frame] UE4Editor-CoreUObject.dll!FWindowsPlatformMisc::DebugBreak() Line 56	C++
 	UE4Editor-CoreUObject.dll!UObject::ProcessEvent(UFunction * Function, void * Parms) Line 1159	C++
 	UE4Editor-Engine.dll!AActor::ProcessEvent(UFunction * Function, void * Parameters) Line 693	C++
 	UE4Editor-Engine.dll!AActor::ProcessUserConstructionScript() Line 849	C++
 	UE4Editor-Engine.dll!AActor::ExecuteConstruction(const FTransform & Transform, const FRotationConversionCache * TransformRotationCache, const FComponentInstanceDataCache * InstanceDataCache, bool bIsDefaultTransform) Line 833	C++
 	UE4Editor-Engine.dll!AActor::FinishSpawning(const FTransform & UserTransform, bool bIsDefaultTransform, const FComponentInstanceDataCache * InstanceDataCache) Line 2924	C++
 	UE4Editor-Engine.dll!AActor::PostSpawnInitialize(const FTransform & UserSpawnTransform, AActor * InOwner, APawn * InInstigator, bool bRemoteOwned, bool bNoFail, bool bDeferConstruction) Line 2867	C++
 	UE4Editor-Engine.dll!UWorld::SpawnActor(UClass * Class, const FTransform * UserTransformPtr, const FActorSpawnParameters & SpawnParameters) Line 468	C++
 	UE4Editor-Engine.dll!UWorld::SpawnActor(UClass * Class, const FVector * Location, const FRotator * Rotation, const FActorSpawnParameters & SpawnParameters) Line 293	C++
 	UE4Editor-Engine.dll!UWorld::SpawnActor<AWorldSettings>(UClass * Class, const FActorSpawnParameters & SpawnParameters) Line 2727	C++
 	UE4Editor-Engine.dll!UWorld::RepairWorldSettings() Line 1119	C++
 	UE4Editor-Engine.dll!UWorld::PostLoad() Line 851	C++
 	UE4Editor-CoreUObject.dll!UObject::ConditionalPostLoad() Line 988	C++
 	UE4Editor-CoreUObject.dll!UObject::PostLoadSubobjects(FObjectInstancingGraph * OuterInstanceGraph) Line 1023	C++
 	UE4Editor-CoreUObject.dll!UObject::ConditionalPostLoad() Line 974	C++
 	UE4Editor-CoreUObject.dll!UObject::PostLoadSubobjects(FObjectInstancingGraph * OuterInstanceGraph) Line 1023	C++
 	UE4Editor-Engine.dll!AActor::PostLoadSubobjects(FObjectInstancingGraph * OuterInstanceGraph) Line 644	C++
 	UE4Editor-CoreUObject.dll!UObject::ConditionalPostLoad() Line 974	C++
 	UE4Editor-CoreUObject.dll!UObject::PostLoadSubobjects(FObjectInstancingGraph * OuterInstanceGraph) Line 1023	C++
 	UE4Editor-CoreUObject.dll!UObject::ConditionalPostLoad() Line 974	C++
 	UE4Editor-Engine.dll!UBodySetup::PostLoad() Line 1185	C++
 	UE4Editor-CoreUObject.dll!UObject::ConditionalPostLoad() Line 988	C++
 	UE4Editor-CoreUObject.dll!FAsyncPackage::PostLoadObjects() Line 6253	C++
 	UE4Editor-CoreUObject.dll!FAsyncPackage::TickAsyncPackage(bool InbUseTimeLimit, bool InbUseFullTimeLimit, float & InOutTimeLimit, FFlushTree * FlushTree) Line 5523	C++
 	UE4Editor-CoreUObject.dll!FAsyncLoadingThread::ProcessAsyncLoading(int & OutPackagesProcessed, bool bUseTimeLimit, bool bUseFullTimeLimit, float TimeLimit, FFlushTree * FlushTree) Line 4477	C++
 	UE4Editor-CoreUObject.dll!FAsyncLoadingThread::TickAsyncThread(bool bUseTimeLimit, bool bUseFullTimeLimit, float TimeLimit, bool & bDidSomething, FFlushTree * FlushTree) Line 4971	C++
 	UE4Editor-CoreUObject.dll!FAsyncLoadingThread::TickAsyncLoading(bool bUseTimeLimit, bool bUseFullTimeLimit, float TimeLimit, FFlushTree * FlushTree) Line 4706	C++
 	UE4Editor-CoreUObject.dll!FlushAsyncLoading(int PackageID) Line 6757	C++
 	UE4Editor-CoreUObject.dll!ResetLoaders(UObject * InPkg) Line 354	C++
 	UE4Editor-CoreUObject.dll!UObject::Rename(const wchar_t * InName, UObject * NewOuter, unsigned int Flags) Line 213	C++
 	UE4Editor-Engine.dll!AActor::Rename(const wchar_t * InName, UObject * NewOuter, unsigned int Flags) Line 827	C++
	UE4Editor-Engine.dll!UChildActorComponent::ApplyComponentInstanceData(FChildActorComponentInstanceData * ChildActorInstanceData, const ECacheApplyPhase CacheApplyPhase) Line 381	C++
 	UE4Editor-Engine.dll!FComponentInstanceDataCache::ApplyToActor(AActor * Actor, const ECacheApplyPhase CacheApplyPhase) Line 438	C++
 	UE4Editor-Engine.dll!AActor::ExecuteConstruction(const FTransform & Transform, const FRotationConversionCache * TransformRotationCache, const FComponentInstanceDataCache * InstanceDataCache, bool bIsDefaultTransform) Line 755	C++
 	UE4Editor-Engine.dll!AActor::RerunConstructionScripts() Line 494	C++
 	UE4Editor-Engine.dll!ULevel::IncrementalUpdateComponents(int NumComponentsToUpdate, bool bRerunConstructionScripts) Line 948	C++
 	UE4Editor-Engine.dll!UWorld::AddToWorld(ULevel * Level, const FTransform & LevelTransform) Line 2163	C++
 	UE4Editor-Engine.dll!UWorld::UpdateLevelStreamingInner(ULevelStreaming * StreamingLevel) Line 2852	C++
 	UE4Editor-Engine.dll!UWorld::UpdateLevelStreaming() Line 2918	C++

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-52950 in the post.

5
Login to Vote

Fixed
ComponentUE - Gameplay
Affects Versions4.18
Target Fix4.19
Fix Commit3794193
Main Commit3804136
Release Commit3813083
CreatedDec 1, 2017
ResolvedDec 7, 2017
UpdatedApr 27, 2018