FRayTracingGeometryManager::ReleaseRayTracingGeometryHandle関数にてクラッシュすることがありました

レベルを読み替え中にFRayTracingGeometryManager::ReleaseRayTracingGeometryHandle関数の中でクラッシュすることがありました。

PendingStreamingRequestsのRemove処理を走らせているところでクラッシュしていたので、マルチスレッドによるPendingStreamingRequestsの同時操作かメモリが壊れているかのどちらかのような気がするのですが、Epic様の方で何か情報はありますでしょうか??

<br/>

もし、既知のクラッシュですでに修正済みであれば関係するCLを教えていただけますと幸いです。

コールスタック:

0x7ff73d71e5f7 TSet<int,DefaultKeyFuncs<int,0>,FDefaultSetAllocator>::Remove() + 0x47 [Set.h(930)]

0x7ff744930588 FRayTracingGeometryManager::ReleaseRayTracingGeometryHandle() + 0x2c8 [RayTracingGeometryManager.cpp(389)]

0x7ff741d23f7b FRayTracingGeometry::ReleaseResource() + 0x5b [RayTracingGeometry.cpp(288)]

0x7ff74492f695 Nanite::FSceneProxy::ReleaseDynamicRayTracingGeometries() + 0x95 [NaniteResources.cpp(1886)]

0x7ff7448e19dd Nanite::FSceneProxy::~FSceneProxy() + 0x1d [NaniteResources.cpp(1033)]

0x7ff744c50ee4 FNaniteSplineMeshSceneProxy::`scalar deleting destructor’() + 0x14

0x7ff741241c09 `FRDGBuilder::AddSetupTask<`FScene::Update’::`2’::<lambda_15>,TArray<UE::Tasks::Private::FTaskHandle,TSizedDefaultAllocator<32> > >‘::`2’::<lambda_1>::operator()() + 0x119 [RenderGraphBuilder.inl(603)]

0x7ff741284365 UE::Tasks::Private::TExecutableTaskBase<`FRDGBuilder::AddSetupTask<`FScene::Update’::`2’::<lambda_15>,TArray<UE::Tasks::Private::FTaskHandle,TSizedDefaultAllocator<32> > >‘::`2’::<lambda_1>,void,void>::ExecuteTask() + 0x15 [TaskPrivate.h(907)]

0x7ff73cd14a63 UE::Tasks::Private::FTaskBase::TryExecuteTask() + 0x113 [TaskPrivate.h(528)]

0x7ff73cce502f LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`UE::Tasks::Private::FTaskBase::Init’::`2’::<lambda_1> >‘::`13’::<lambda_1>,0>::CallAndMove() + 0x2f [TaskDelegate.h(171)]

0x7ff73ccf2fce LowLevelTasks::FTask::ExecuteTask() + 0x6e [Task.h(627)]

0x7ff73ccf2d7a LowLevelTasks::FScheduler::ExecuteTask() + 0x5a [Scheduler.cpp(364)]

0x7ff73cd18551 LowLevelTasks::FScheduler::WorkerLoop() + 0x191 [Scheduler.cpp(724)]

0x7ff73ccdcb1a `LowLevelTasks::FScheduler::CreateWorker’::`2’::<lambda_1>::operator()() + 0x9a [Scheduler.cpp(188)]

0x7ff73ceeae43 FThreadImpl::Run() + 0x33 [Thread.cpp(69)]

0x7ff73d34a508 FRunnableThreadWin::Run() + 0x68 [WindowsRunnableThread.cpp(159)]

0x7ff73d34311c FRunnableThreadWin::GuardedRun() + 0x13c [WindowsRunnableThread.cpp(71)]

0x7ffe3a59259d BaseThreadInitThunk() + 0x1d

お世話になっております。

社内では今のところこのコールスタックに関連する問題を修正した情報が見つからなかったのですが、現在開発チームにこの問題に関する修正を行ったかどうかを確認しております。お時間を頂き恐縮ですが、確認までに少々お待ちいただけますと幸いです。

承知しました!

続報お待ちしております!

お世話になっております。ご連絡が遅くなりまして申し訳ございませんでした。

本件 Water+Raytracingのシーンでこの問題が発生しておりましたら、CL#46069276 の修正がこの問題への修正に適用できそうです。

https://github.com/EpicGames/UnrealEngine/commit/ddd4a4865f1e5d977aaee53cf2dc3b5fe64222a2

ただしこれ以外には今のところ修正した履歴等が見つからず、もしかしたら別の条件によって発生している問題とも考えられます。

まずはこちらについてご確認頂けますと幸いです。

情報ありがとうございます!

こちらのCLを適用してみます!