BUG: Startup crash with DX12

0
After upgrading to 4.11, we get a crash when launching our game with the -DX12 flag. It used to run (slowly) with -DX12 under 4.10, but now it just crashes every time. This has happened on every PC I’ve tried it on so far.

MachineId:A11B089D43E80244E7D21C92A62ADE41 EpicAccountId:

Fatal error: [File:D:\BuildFarm\buildmachine_++UE4+Release-4.11\Engine\Source\Runtime\Windows\D3D12RHI\Private\D3D12Util.cpp] [Line: 223] GetParentDevice()->GetDevice()->CreateGraphicsPipelineState(&Desc->Desc, IID_PPV_ARGS(PipelineState.GetInitReference())) failed at D:\BuildFarm\buildmachine_++UE4+Release-4.11\Engine\Source\Runtime\Windows\D3D12RHI\Private\D3D12StateCache.cpp:3337 with error E_INVALIDARG

PrototypeOC!FDebug::AssertFailed() PrototypeOC!D3D12RHI::VerifyD3D11Result() PrototypeOC!FD3D12PipelineState::Create() PrototypeOC!FD3D12PipelineStateCache::Add() PrototypeOC!FD3D12PipelineStateCache::FindGraphicsLowLevel() PrototypeOC!FD3D12PipelineStateCache::FindGraphics() PrototypeOC!FD3D12StateCacheBase::ApplyState() PrototypeOC!FD3D12CommandContext::RHIDrawIndexedPrimitive() PrototypeOC!FRHICommandDrawIndexedPrimitive::Execute() PrototypeOC!FRHICommandListExecutor::ExecuteInner_DoExecute() PrototypeOC!FExecuteRHIThreadTask::DoTask() PrototypeOC!TGraphTask::ExecuteTask() PrototypeOC!FNamedTaskThread::ProcessTasksNamedThread() PrototypeOC!FNamedTaskThread::ProcessTasksUntilQuit() PrototypeOC!FRHIThread::Run() PrototypeOC!FRunnableThreadWin::Run()

Hello Mothership.Entertainment,

I just attempted to run the editor using both -DX12 and -D3D12 arguements on the Windows 10 machine we have here for testing, and did not get a crash to occur. I also attempted to locate your crash within our internal crash reporter tool, but did not get see any reports sent.

Could you provide me with your full crash logs, your ‘dxdiag’, and any other information that will help me reproduce this crash on my end?

Thank you,

Hi Andrew, I’ve put the DXDiag and the crash logs for both machines (a very high-end up-to-date Alienware laptop I just bought a few weeks ago, plus a Surface Pro 4) in the DropBox folder I’m sharing with you guys at

It’s inside the “DX12 crash” subfolder.

Also, it’s super weird that you didn’t get the reports in your internal crash reporter tool. I hit “Save and Close” each time the UE4 error reporting dialog came up.

Well it seems you are reporting two issues at once here. The movie not playing in Standalone is a known and reported issue (UE-28011).

I just tested your project on my end and did not receive a crash. Upon looking through your logs, you wouldn’t happen to have an VR device plugged in when you are packaging?

Also, could you test this on a non-laptop machine. Both of your computers have an integrate Intel Iris 530 and 540 GPU which are decent, but could be having issues with the D3D12 argument when packaging. I see that your Alienware uses a 970M, but I would like to see if you get this crash on a machine that does not have an integrated gpu.

Hi Andrew – Yes, the movie not playing is a separate issue which we’ve reported separately here: Movie playback bug in 4.11: standalone vs. new editor window - Asset Creation - Unreal Engine Forums

We just happen to be using the same DropBox folder for all our communication with Epic, so that’s probably the source of the confusion. The project at the root of that folder is for reproducing the movie playback bug, NOT the DirectX 12 crash.

We do not have a VR device plugged in while packaging. We only have 1 VR device and it’s set up on a different PC from our build server or any of the laptops we used to run the game.

We don’t currently have Windows 10 installed on any of our development systems here at Mothership (we’re a very small studio), but we’re considering doing so soon; I’ll let you know …

Also, if you’d like to reproduce the crash with our ACTUAL project and not that sample project provided to repro the movie playback bug, I can make it available – contact me at paul@mothership-entertainment.com and I will send you a DropBox download link.

Could you provide me with the sample project via a dropbox download link in a Private Message to me on the Forums.

Thank you,

OK, sent!

So you are definitely coming across a unique crash because the -DX12 command line arguement, and our DirectX 12 integration is strictly for the Windows 10 platform. With that being said, you mentioned you have no Windows 10 machines installed on your development machines, so unfortunately this isn’t something we can actually address and fix. The crash and slow behavior is probably a direct correlation of your DirectX failing due to not have the correct OS to support it.

Hi Andrew – Both of the machines in question DO have Windows 10 installed. Obviously I would not be trying this on a machine that didn’t have Win10 on it.

When I said we have no Win10 machines installed on our development PCs, that’s only because the 2 machines in question aren’t currently used for development. Sorry for the confusion.

I sent you a PM in the forums earlier today with a DropBox link to a ZIP file of our entire game and an associated README file (as per your request). You should be able to attempt to reproduce the problem with that.

So I downloaded and extracted the project to my machine, but I am unable to load the project since I am missing the source code files. It asks me to add C++ files through the editor in order to compile and open the project. The problem is when I go to open the project in the editor, I need to rebuild a missing .dll which it fails to do so.

Unfortunately, there isn’t anything I can do to work past this point, and I need to have a reproduction case on my end in order to enter the bug/crash report. Usually this is not the case, as all I need is to find your crash within our internal crash reporter, but I have not been successful in doing this either.

Is there anyway you are able to test this on the most recent binary release of the engine, get the crash to occur in a blank/empty project, submit the crash to crash reporter, and provide me with your crash logs?

Thank you,

Hi Andrew – Yes, we didn’t include our source, but could you try just running the game as per the README file and see if you can get the crash?

You should just be able to run the executable directly.

I ran through the tutorial and did not get the crash to occur on my end. I took a read over the readme file to see if I missed anything in particular that could trigger the crash, but I got nothing.

If you can get this crash to occur and get me the logs we can move forward with the bug report.

Thanks,

Nope, the crash should happen immediately if you start it with the -DX12 flag …

I did not get the crash immediately using the flag as you mention.

OK. Thanks for the info – we will test once we get another PC set up with DX12.

Awesome, and I appreciate your patience as this issue seems to be hard to track down and identify the exact cause.

Us and our users are seeing the same crash when DX12 support is enabled.

Occurred for me on a NVidia GTX Titan X, and for a user with an AMD R9 390:
http://steamcommunity.com/app/360950/discussions/0/357285562480539675/

89678-dx12crash.png