d3d11 CreateDirect3D11SurfaceFromDXGISurface crash
It seems we have an issue in a certain FBX model that uses a skinned mesh renderer. In our dump file and crash log, the following stacktrace indicates the crash:
Stack Trace of Crashed Thread 6316:
0x00007FFF2CEF1634 (d3d11) CreateDirect3D11SurfaceFromDXGISurface
0x00007FFEEF3F55DA (UnityPlayer) StreamOutSkinPoseBuffer::Update
0x00007FFEEF3E6F90 (UnityPlayer) GfxDeviceD3D11Base::UpdateSkinPoseBuffer
0x00007FFEEF446E3B (UnityPlayer) GfxDeviceWorker::RunCommand
0x00007FFEEF447E1B (UnityPlayer) GfxDeviceWorker::RunExt
0x00007FFEEF447EF7 (UnityPlayer) GfxDeviceWorker::RunGfxDeviceWorker
0x00007FFEEF6FAF21 (UnityPlayer) Thread::RunThreadWrapper
0x00007FFF330D3034 (KERNEL32) BaseThreadInitThunk
0x00007FFF33711471 (ntdll) RtlUserThreadStart[link text][1]
Which crashes inside the d3d11.dll with the following message:
d3d11: failed to create buffer (target 0x1 mode 3 size 4800) [0x887A0005]
When looking into the disassembly code, the error appears to be happening inside the “CContext::TID3D11DeviceContext_Map_” operation inside the d3d11.dll library.
By disabling some gameobjects inside this scene, we concluded that the crash was due to a certain skinned mesh renderer.
Disabling this mesh renderer prevents the crash from happening.
We are pretty clueless on what’s the exact issue inside our model that causes this crash.
I’ve attached the crash logs in this post. Hopefully someone can assist us with this issue.
[1]: /storage/temp/128883-crash-2018-12-03-224622697.zip
Answer by M-Hanssen · Dec 17, 2018 at 08:42 AM
It appears to have something to do with the new tangents calculation method "Mikktspace", when reverting to a legacy method, the crashes do not occur anymore! Its really hard to reproduce in a blank scene because it only occurs after 50+ scene reloads in a rather complex environment. So a clean bug report is out of the question.
Answer by zhujiangbo · Jan 18, 2019 at 06:47 AM
There is a player encontered the same issue.
0x00007FFDB3731634 (d3d11) CreateDirect3D11SurfaceFromDXGISurface 0x00007FFD5963386A (UnityPlayer) StreamOutSkinPoseBuffer::Update 0x00007FFD5962E1E2 (UnityPlayer) GfxDeviceD3D11Base::UpdateSkinPoseBuffer 0x00007FFD5964DDBE (UnityPlayer) GfxDeviceWorker::RunCommand 0x00007FFD5964EEAB (UnityPlayer) GfxDeviceWorker::RunExt 0x00007FFD5964EF59 (UnityPlayer) GfxDeviceWorker::RunGfxDeviceWorker 0x00007FFD590E0518 (UnityPlayer) Thread::RunThreadWrapper 0x00007FFDB92E3034 (KERNEL32) BaseThreadInitThunk 0x00007FFDBA333691 (ntdll) RtlUserThreadStart
Answer by AlexTuduran · Jun 06, 2020 at 04:46 PM
My builds were crashing too due to CreateDirect3D11SurfaceFromDXGISurface
API call. Found out that the problem was that I was calling Shader.WarmupAllShaders();
.
Your answer
Follow this Question
Related Questions
Performance of looping compute shader in Update() 2 Answers
Unity crashing on startup 0 Answers
Crash on splash screen 0 Answers
All builds created in Unity 5.3.3f1 crash on launch. 0 Answers
Problems met after upgrading unity. 0 Answers