During async loading from an AsyncLoading thread, DecalComponent attempts to precache PSOs which can trigger a checkf in StrongObjectPtr.h which are only allowed to be created on a game thread.
No confirmed repro steps exist, but most likely this requires loading a level with numerous decals in a game client with PSO Precaching and async loading enabled. It may also require spawning decals at runtime.
[Inline Frame] Game3.exe!UEStrongObjectPtr_Private::TInternalReferenceCollector<UEStrongObjectPtr_Private::FInternalReferenceCollectorReferencerNameProvider>::{ctor}(const UObject *) Line 27 C++ [Inline Frame] Game3.exe!MakeUnique(UMaterialInterface * &) Line 788 C++ [Inline Frame] Game3.exe!TStrongObjectPtr<UMaterialInterface,UEStrongObjectPtr_Private::FInternalReferenceCollectorReferencerNameProvider>::Reset(UMaterialInterface * InNewObject) Line 165 C++ [Inline Frame] Game3.exe!TStrongObjectPtr<UMaterialInterface,UEStrongObjectPtr_Private::FInternalReferenceCollectorReferencerNameProvider>::{ctor}(UMaterialInterface *) Line 89 C++ > Game3.exe!FMaterialPSORequestManager::PrecachePSOs(const FMaterialPSOPrecacheParams & Params, EPSOPrecachePriority Priority, TArray<TRefCountPtr<FGraphEvent>,TSizedInlineAllocator<4,32,TSizedDefaultAllocator<32>>> & OutGraphEvents) Line 246 C++ Game3.exe!FMaterial::CollectPSOs(ERHIFeatureLevel::Type InFeatureLevel, const TArray<FPSOPrecacheVertexFactoryData,TSizedInlineAllocator<2,32,TSizedDefaultAllocator<32>>> & VertexFactoryDataList, const FPSOPrecacheParams & PreCacheParams, EPSOPrecachePriority Priority, TArray<unsigned int,TSizedDefaultAllocator<32>> & OutMaterialPSORequestIDs) Line 3155 C++ Game3.exe!UMaterial::PrecachePSOs(const TArray<FPSOPrecacheVertexFactoryData,TSizedInlineAllocator<2,32,TSizedDefaultAllocator<32>>> & VertexFactoryDataList, const FPSOPrecacheParams & InPreCacheParams, EPSOPrecachePriority Priority, TArray<unsigned int,TSizedDefaultAllocator<32>> & OutMaterialPSORequestIDs) Line 2676 C++ Game3.exe!UMaterialInstance::PrecachePSOs(const TArray<FPSOPrecacheVertexFactoryData,TSizedInlineAllocator<2,32,TSizedDefaultAllocator<32>>> & VertexFactoryDataList, const FPSOPrecacheParams & InPreCacheParams, EPSOPrecachePriority Priority, TArray<unsigned int,TSizedDefaultAllocator<32>> & OutMaterialPSORequestIDs) Line 2534 C++ Game3.exe!UDecalComponent::PrecachePSOs() Line 335 C++ Game3.exe!UObject::ConditionalPostLoad() Line 1309 C++ Game3.exe!FAsyncPackage::PostLoadObjects() Line 6953 C++ [Inline Frame] Game3.exe!FCpuProfilerTrace::FEventScope::{ctor}(unsigned int & InChannel, const char *) Line 139 C++ Game3.exe!FAsyncPackage::TickAsyncPackage(bool InbUseTimeLimit, bool InbUseFullTimeLimit, float & InOutTimeLimit) Line 6071 C++ Game3.exe!FAsyncLoadingThread::ProcessAsyncLoading(int & OutPackagesProcessed, bool bUseTimeLimit, bool bUseFullTimeLimit, float TimeLimit, FFlushRequest & FlushRequest) Line 4422 C++ Game3.exe!FAsyncLoadingThread::TickAsyncThread(bool bUseTimeLimit, bool bUseFullTimeLimit, double TimeLimit, bool & bDidSomething, FFlushRequest & FlushRequest) Line 5300 C++ Game3.exe!FAsyncLoadingThread::Run() Line 5225 C++ Game3.exe!FRunnableThreadWin::Run() Line 149 C++ Game3.exe!FRunnableThreadWin::GuardedRun() Line 71 C++
How do I set a material as a post-processing material?
How does TextureRenderTarget2D get TArray<uint8> type data?
Why does the REMOVE method of map container remove elements have memory leaks?
UMG RichText not appear image when packaged
What is the difference between Camera and CineCamera?
What controls of umg have mouse wheel events in UE4.27?
Why does UV setting float2(1,1) display incorrectly in the material's custom node?
How to use the.usf file in the ue4 engine Shader in the material?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-222366 in the post.
0 |
Component | UE - Rendering Architecture - Shaders |
---|---|
Affects Versions | 5.4.3 |
Target Fix | 5.5 |
Created | Aug 21, 2024 |
---|---|
Resolved | Sep 24, 2024 |
Updated | Oct 22, 2024 |