Developer Notes

This Jira has been made for users who are sill experiencing the D3D 'HUNG' crash with this specific callstack. If you have information that may help Epic staff reproduce this issue, please log a bug report on the UE4 Answerhub.

Description

This is a new ticket for the D3D 'HUNG' crash originally reported in UE-38818. Some fixes were introduced in 4.14.2 that decreased the occurrences of this crash, but other cases are still ongoing. The original Jira ticket has been closed for the cases that have been fixed.

Error message:

Fatal error: [Link Removed] [Line: 176] Unreal Engine is exiting due to D3D device being lost. (Error: 0x887A0006 - 'HUNG')

Source Context:

  161       
  162       const TCHAR* Reason = TEXT("?");
  163       switch (hRes)
  164       {
  165       case DXGI_ERROR_DEVICE_HUNG:Reason = TEXT("HUNG"); break;
  166       case DXGI_ERROR_DEVICE_REMOVED:Reason = TEXT("REMOVED"); break;
  167       case DXGI_ERROR_DEVICE_RESET:Reason = TEXT("RESET"); break;
  168       case DXGI_ERROR_DRIVER_INTERNAL_ERROR:Reason = TEXT("INTERNAL_ERROR"); break;
  169       case DXGI_ERROR_INVALID_CALL:Reason = TEXT("INVALID_CALL"); break;
  170       case S_OK:Reason = TEXT("S_OK"); break;
  171       }
  172       
  173       // We currently don't support removed devices because FTexture2DResource can't recreate its RHI resources from scratch.
  174       // We would also need to recreate the viewport swap chains from scratch.
  175 ***** UE_LOG(LogD3D11RHI, Fatal, TEXT("Unreal Engine is exiting due to D3D device being lost. (Error: 0x%X - '%s')"), hRes, Reason);
  176       }
  177       else
  178       {
  179       UE_LOG(LogD3D11RHI, Fatal, TEXT("Unreal Engine is exiting due to D3D device being lost. D3D device was not available to assertain DXGI cause."));
  180       }
  181       
  182       // Workaround for the fact that in non-monolithic builds the exe gets into a weird state and exception handling fails. 
  183       // @todo investigate why non-monolithic builds fail to capture the exception when graphics driver crashes.
  184       #if !IS_MONOLITHIC
  185       FPlatformMisc::RequestExit(true);
  186       #endif
  187       }
  188       }
  189       
  190       static void TerminateOnOutOfMemory(HRESULT D3DResult, bool bCreatingTextures)

Most recent user affected CL:
3195953

Logs:

  • [Link Removed]
  • [Link Removed]
  • [Link Removed]

CrashReporter User Descriptions:

  • Put an unsaved AI character in my level
  • I open up my character blueprint, click on skeletal mesh, nvidia drivers crash with the engine.
Steps to Reproduce

Steps to reproduce currently unknown.

Callstack
UE4Editor_D3D11RHI!TerminateOnDeviceRemoved() [d3d11util.cpp:176]
UE4Editor_D3D11RHI!VerifyD3D11Result() [d3d11util.cpp:225]
UE4Editor_D3D11RHI!FD3D11DynamicRHI::GetQueryData() [d3d11query.cpp:135]
UE4Editor_D3D11RHI!FD3D11DynamicRHI::RHIEndDrawingViewport() [d3d11viewport.cpp:562]
UE4Editor_RHI!FRHICommandList::EndDrawingViewport() [rhicommandlist.cpp:1347]
UE4Editor_SlateRHIRenderer!FSlateRHIRenderer::DrawWindow_RenderThread() [slaterhirenderer.cpp:486]
UE4Editor_SlateRHIRenderer!TGraphTask<`FSlateRHIRenderer::DrawWindows_Private'::`35'::EURCMacro_SlateDrawWindowsCommand>::ExecuteTask() [taskgraphinterfaces.h:868]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [taskgraph.cpp:932]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [taskgraph.cpp:679]
UE4Editor_RenderCore!RenderingThreadMain() [renderingthread.cpp:320]
UE4Editor_RenderCore!FRenderingThread::Run() [renderingthread.cpp:454]
UE4Editor_Core!FRunnableThreadWin::Run() [windowsrunnablethread.cpp:74]

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-40824 in the post.

16
Login to Vote

Duplicate
ComponentRendering
Affects Versions4.14.34.15
CreatedJan 18, 2017
ResolvedFeb 22, 2017
UpdatedApr 27, 2018