Hey everyone,
I’ve encountered a persistent issue in my game development project and could really use some help. My game occasionally crashes when I try to reload a level, and it seems to happen across all levels. Upon investigation, it appears to be related to the groomComponents, specifically associated with the hair of my main character and some secondary characters. I’m using MetaHumans for character creation and developing on Unreal Engine version 4.27.2.
Here’s the stacktrace:
[ 00 ] private: UGroomComponent::InitResources(bool)
[ 01 ] public: virtual USceneComponent::UpdateComponentToWorld(enum EUpdateTransformFlags,enum ETeleportType)
[ 02 ] public: FQuat::Rotator(void)const
[ 03 ] private: UActorComponent::GetWorld_Uncached(void)const
[ 04 ] private: TArray<class TMeshAttributeArrayBase,class TSizedDefaultAllocator<32> >::ResizeGrow(int)
[ 05 ] public: virtual UPrimitiveComponent::OnAttachmentChanged(void)
[ 06 ] public: FTickFunction::AddPrerequisite(class UObject *,struct FTickFunction &)
[ 07 ] public: USceneComponent::AttachToComponent(class USceneComponent *,struct FAttachmentTransformRules const &,class FName)
[ 08 ] public: USceneComponent::AttachToComponent(class USceneComponent *,struct FAttachmentTransformRules const &,class FName)
[ 09 ] public: FMallocBinned2::FreeExternal(void *)
[ 10 ] public: virtual FMallocBinned2::Free(void *)
[ 11 ] public: virtual FMallocBinned2::Free(void *)
[ 12 ] public: static FMemory::Free(void *)
[ 13 ] physx::shdfnd::NonTrackingAllocator::deallocate(void *) ( psallocator.h:180 )
[ 14 ] physx::MaterialIndicesStruct::deallocate() ( gugeometryunion.h:110 )
[ 15 ] physx::shdfnd::NonTrackingAllocator::deallocate(void *) ( psallocator.h:180 )
[ 16 ] physx::MaterialIndicesStruct::deallocate() ( gugeometryunion.h:110 )
[ 17 ] public: virtual USceneComponent::UpdateBounds(void)
[ 18 ] physx::NpShape::~NpShape() ( npshape.cpp:79 )
[ 19 ] public: static class FTlsAutoCleanup * __cdecl UE4Function_Private::TFunctionRefCaller<class <lambda_1387534536e0fe8b03eff324e271a417>, class FTlsAutoCleanup * __cdecl(void)>::Call(void *)
[ 20 ] private: USceneComponent::PropagateTransformUpdate(bool,enum EUpdateTransformFlags,enum ETeleportType)
[ 21 ] physx::NpShape::`scalar deleting destructor’(unsigned int)
[ 22 ] public: static class FTlsAutoCleanup * __cdecl UE4Function_Private::TFunctionRefCaller<class <lambda_1387534536e0fe8b03eff324e271a417>, class FTlsAutoCleanup * __cdecl(void)>::Call(void *)
[ 23 ] private: USceneComponent::UpdateComponentToWorldWithParent(class USceneComponent *,class FName,enum EUpdateTransformFlags,struct FQuat const &,enum ETeleportType)
[ 24 ] addOrRemoveRigidObject(physx::Sc::Scene &,physx::Scb::RigidStatic &,bool,physx::PxBounds3 *) ( scbscene.cpp:1504 )
[ 25 ] ScSceneFnsphysx::Scb::RigidStatic::remove(physx::Sc::Scene &,physx::Scb::RigidStatic &,bool) ( scbscene.cpp:230 )
[ 26 ] physx::Scb::Scene::removephysx::Scb::RigidStatic(physx::Scb::RigidStatic &,physx::Scb::ObjectTracker &,bool) ( scbscene.cpp:414 )
[ 27 ] NvParameterized::DefinitionImpl::child(char const *,int &) ( nvparameterized.cpp:813 )
[ 28 ] physx::shdfnd::BroadcastingAllocator::allocate(unsigned __int64,char const *,char const *,int) ( psbroadcast.h:195 )
[ 29 ] NvParameterized::Handle::set(NvParameterized::Interface const *,char const *) ( nvparameterized.inl:379 )
[ 30 ] physx::shdfnd::ReflectionAllocator::allocate(unsigned __int64,char const *,int) ( psallocator.h:291 )
[ 31 ] public: virtual USkeletalMeshComponent::CalcBounds(struct FTransform const &)const
[ 32 ] public: FBoxSphereBounds::TransformBy(struct FTransform const &)const
[ 33 ] public: virtual USceneComponent::UpdateBounds(void)
[ 34 ] private: USceneComponent::PropagateTransformUpdate(bool,enum EUpdateTransformFlags,enum ETeleportType)
[ 35 ] private: USceneComponent::UpdateComponentToWorldWithParent(class USceneComponent *,class FName,enum EUpdateTransformFlags,struct FQuat const &,enum ETeleportType)
[ 36 ] public: virtual FMallocBinned2::Realloc(void *,unsigned __int64,unsigned int)
[ 37 ] private: USceneComponent::UpdateComponentToWorldWithParent(class USceneComponent *,class FName,enum EUpdateTransformFlags,struct FQuat const &,enum ETeleportType)
[ 38 ] public: virtual FMallocBinned2::Free(void *)
[ 39 ] public: TMultiMap<int,class UObjectBase *,class FDefaultSetAllocator,struct TDefaultMapHashableKeyFuncs<int,class UObjectBase *,1> >::RemoveSingle(int,class UObjectBase *)
[ 40 ] UnhashObject(class UObjectBase *)
[ 41 ] public: TMultiMap<int,class UObjectBase *,class FDefaultSetAllocator,struct TDefaultMapHashableKeyFuncs<int,class UObjectBase *,1> >::RemoveSingle(int,class UObjectBase *)
[ 42 ] HashObject(class UObjectBase *)
[ 43 ] public: virtual USceneComponent::UpdateComponentToWorld(enum EUpdateTransformFlags,enum ETeleportType)
[ 44 ] public: UObject::SetLinker(class FLinkerLoad *,int,bool)
[ 45 ] public: virtual USceneComponent::OnComponentDestroyed(bool)
[ 46 ] public: FRenderCommandFence::BeginFence(bool)
[ 47 ] public: virtual UActorComponent::BeginDestroy(void)
[ 48 ] public: virtual UPrimitiveComponent::BeginDestroy(void)
[ 49 ] public: virtual USkinnedMeshComponent::BeginDestroy(void)
[ 50 ] public: UObject::ConditionalBeginDestroy(void)
[ 51 ] UnhashUnreachableObjects(bool,float)
[ 52 ] public: static FMemory::Free(void *)
[ 53 ] CollectGarbageInternal(enum EObjectFlags,bool)
[ 54 ] public: FRealtimeGC::MarkObjectsAsUnreachable<0,0>(class TArray<class UObject *,class TSizedDefaultAllocator<32> > &,enum EObjectFlags)
[ 55 ] public: FRealtimeGC::MarkObjectsAsUnreachable<1,0>(class TArray<class UObject *,class TSizedDefaultAllocator<32> > &,enum EObjectFlags)
[ 56 ] public: FRealtimeGC::MarkObjectsAsUnreachable<0,1>(class TArray<class UObject *,class TSizedDefaultAllocator<32> > &,enum EObjectFlags)
[ 57 ] public: FRealtimeGC::MarkObjectsAsUnreachable<1,1>(class TArray<class UObject *,class TSizedDefaultAllocator<32> > &,enum EObjectFlags)
[ 58 ] private: FRealtimeGC::PerformReachabilityAnalysisOnObjectsInternal<0>(struct FGCArrayStruct *)
[ 59 ] private: FRealtimeGC::PerformReachabilityAnalysisOnObjectsInternal<1>(struct FGCArrayStruct *)
[ 60 ] private: FRealtimeGC::PerformReachabilityAnalysisOnObjectsInternal<8>(struct FGCArrayStruct *)
[ 61 ] private: FRealtimeGC::PerformReachabilityAnalysisOnObjectsInternal<9>(struct FGCArrayStruct *)
[ 62 ] CollectGarbage(enum EObjectFlags,bool)
[ 63 ] public: static UEngine::TrimMemory(void)
[ 64 ] public: virtual UEngine::LoadMap(struct FWorldContext &,struct FURL,class UPendingNetGame *,class FString &)
[ 65 ] public: virtual FMallocBinned2::Realloc(void *,unsigned __int64,unsigned int)
[ 66 ] private: TArray<class TSharedPtr<struct FAIMessageObserver,0>,class TSizedDefaultAllocator<32> >::ResizeTo(int)
[ 67 ] public: virtual UAssetRegistryImpl::EnumerateAssets(struct FARFilter const &,class A6A_NAEBUFAssetData::TFunctionRef)const
[ 68 ] private: UAssetRegistryImpl::CachePathsFromState(class FAssetRegistryState const &)
[ 69 ] public: virtual FMallocBinned2::Realloc(void *,unsigned __int64,unsigned int)
[ 70 ] public: virtual UEngine::Browse(struct FWorldContext &,struct FURL,class FString &)
[ 71 ] public: virtual FMallocBinned2::Realloc(void *,unsigned __int64,unsigned int)
[ 72 ] public: virtual FMallocBinned2::Free(void *)
[ 73 ] public: virtual FMallocBinned2::Free(void *)
[ 74 ] public: virtual FMallocBinned2::Free(void *)
[ 75 ] public: FName::ToString(void)const
[ 76 ] public: static FMemory::Free(void *)
[ 77 ] public: FURL::FURL(struct FURL *,wchar_t const *,enum ETravelType)
Has anyone encountered a similar problem? Any ideas on how to resolve it would be greatly appreciated.
Thanks in advance for your help!