お世話になっております。
あるユーザーから、ゲームをプレイ中に画面が真っ暗になり、やがてPC全体がクラッシュして再起動してしまうという不具合の報告がありました。
そのユーザーのPCのスペックは以下の通りです:
GPU: NVIDIA GeForce RTX 5090
GPU Driver Version: 610.88
CPU: Intel Core i9-12900KS
Operating System: Windows 11
このゲームは UE 5.4.4 PCD3D_SM6 で動作しています。
ユーザーからは、クラッシュ前後で NVIDIA ドライバーの TDR イベントが繰り返し発生していたとの報告がありました。
しかし、ユーザーが共有したダンプによると、RenderThread で以下のコールスタックを持つ GPU OutOfMemory によるクラッシュが発生しています:
FWindowsDialog::Show(HWND__ * ParentWindowHandle, int Template) Line 1875 C++
FWindowsDialog::Show(HWND__ * ParentWindowHandle, EAppMsgType::Type MsgType, const FString & Text, const FString & Caption) Line 1945 C++
FWindowsPlatformMisc::MessageBoxExt(EAppMsgType::Type MsgType, const wchar_t * Text, const wchar_t * Caption) Line 1966 C++
TerminateOnOutOfMemory(ID3D12Device * InDevice, HRESULT D3DResult, bool bCreatingTextures) Line 903 C++
D3D12RHI::VerifyD3D12Result(HRESULT D3DResult, const char * Code, const char * Filename, unsigned int Line, ID3D12Device * Device, FString Message) Line 1068 C++
FD3D12TransientHeap::FD3D12TransientHeap(const FRHITransientHeap::FInitializer & Initializer, FD3D12Adapter * Adapter, FD3D12Device * Device, FRHIGPUMask VisibleNodeMask) Line 84 C++
FD3D12TransientHeapCache::CreateHeap::__l2::<lambda>(FD3D12Device *) Line 150 C++
FD3D12LinkedAdapterObject<FD3D12TransientHeap>::CreateLinkedObjects(FRHIGPUMask GPUMask, const FD3D12Adapter::CreateLinkedObject::__l2::void <lambda>(IConsoleVariable *) &) Line 190 C++
FD3D12Adapter::CreateLinkedObject(FRHIGPUMask) Line 389 C++
FD3D12TransientHeapCache::CreateHeap(const FRHITransientHeap::FInitializer & HeapInitializer) Line 148 C++
FRHITransientHeapCache::Acquire(unsigned __int64 FirstAllocationSize, ERHITransientHeapFlags FirstAllocationHeapFlags) Line 623 C++
FRHITransientResourceHeapAllocator::CreateBufferInternal(const FRHIBufferCreateInfo & CreateInfo, const wchar_t * DebugName, unsigned int PassIndex, unsigned int BufferSize, unsigned int BufferAlignment, TFunction<FRHITransientBuffer * __cdecl(FRHITransientHeap::FResourceInitializer const &)> CreateBufferFunction) Line 740 C++
FD3D12TransientResourceHeapAllocator::CreateBuffer(const FRHIBufferCreateInfo & InCreateInfo, const wchar_t * InDebugName, unsigned int InPassIndex) Line 231 C++
FRDGBuilder::AllocateTransientResources(TArrayView<FRDGBuilder::FCollectResourceOp const ,int> Ops) Line 2794 C++
FRDGBuilder::Execute() Line 1828 C++
RenderViewFamilies_RenderThread(FRHICommandListImmediate & RHICmdList, const TArray<FSceneRenderer *,TSizedDefaultAllocator<32>> & SceneRenderers) Line 4917 C++
FRendererModule::BeginRenderingViewFamilies::__l44::<lambda>(FRHICommandListImmediate &) Line 5190 C++
ユーザーがこの問題に関して徹底的なトラブルシューティングを行ったことを踏まえると、ゲーム以外に他のソフトウェアが動作していた可能性は低いと思われます。また、NVIDIA 5090 を使用していることを考えると、メモリ不足になるのは不自然です。
当社のQAチームではまだこの問題を再現できていませんが、ユーザーからは発生のタイミングにばらつきがあったとの報告を受けています。
NVIDIA 5090でメモリ不足が発生したという同様の報告を、これまでに受けたことはありますか?また、-gpucrashdebugging以外に、この問題の診断に役立つ情報はありますか?
ご協力いただき、誠にありがとうございます。
[Attachment Removed]