Developer Notes

The 4.14.2 release fixed some cases of this crash, but we are aware that other cases are still occurring. For ongoing crashes, a new ticket has been logged: https://issues.unrealengine.com/issue/UE-40824. This ticket is marked as "Fixed" because the specific reproduction case has been resolved. Epic is still investigating other causes of this crash.

Description

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
  1. Open attached project "UDN_Repro" in 4.14
  2. Open the map "ImportStaticMeshes_ReproBUG.umap
  3. Select the HoseMultipleMaterials Static Mesh in the scene (use world outliner)
  4. Select the White material in content browser
  5. One by one assign the material in the editor using the material ID arrow button (use selected actor from content browser)
  6. After all 5 materials have been assigned select the 'White_2' (it's actually yellow in colour)
  7. And again assign the 'White_2' material to each of the material IDs from the top to bottom

RESULT
crash

EXPECTED
Materials get assigned correctly

NOTE
This bug only occurs on certain hardware. I will attach the dxdiag of the computer used to reproduce this crash with these steps named "ReproDxDiag".

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-38818 in the post.

17
Login to Vote

Fixed
ComponentRendering
Affects Versions4.14
Target Fix4.14.24.15
Fix Commit3237597
Main Commit3249983
Release Commit3250830
CreatedNov 18, 2016
ResolvedDec 16, 2016
UpdatedApr 27, 2018