NVIDIA vulkan driver is crashing with code c0000409 on Geforce MX150 under Windows 10 on executing an command buffer

The NVIDIA vulkan driver is crashing with code c0000409 (stack overflow ???) on Geforce MX150 at nvoglv64!vk_icdNegotiateLoaderICDInterfaceVersion+0xc5019 under Windows 10 on executing an command buffer.

With Intel iGPUs and AMD GPUs it works without any problems.

Test program: outnvidia.zip (6.3 MB) (run the bin\gltf
test.exe then. The ZIP includes also all the shader source code. It happens at the multiview-capable skybox drawing. So the skybox*.* shader stuff would be the interesting stuff for you at the debugging. The “/fakedvr” cmdline parameter enables the Fake-VR mode and “/openvr” enables the real OpenVR-mode for to test it with multiview in real usage)

WinDbg Crash Log: nvidia_crash.txt (20.4 KB)

And you can find the full source code for it at GitHub - BeRo1985/pasvulkan at c4907be64fbb5957421fc12da75539857378869a (where pasvulkan/projects/gltftest/src/ is the sub-project location of the gltftest.exe )

Driver version: 472.12 64-bit

Screen capture video on Youtube of this issue: - YouTube

With driver version 496.13 it is still nearly the same, but now with DEVICE_LOST instead the exception code. And I’ve updated the ZIP with a new build of the example and it includes also a capture.rdc for RenderDoc now, where RenderDoc has also problems at replaying this capture on NVIDIA GPUs (at least on a MX150).

ZIP: outnvidia.zip (6.8 MB) (matches PasVulkan GIT repo tree version GitHub - BeRo1985/pasvulkan at b1bc21ba428653b22cec685c23a60c6f5e1934c3 )

Hello @rosseaux and welcome to the NVIDIA Developer forums!

Thank you for bringing this issue up with us. I forwarded all your information to our Vulkan experts and I will post here if I receive updates or further questions for you.

Markus

Thanks and here it is again a updated screen video capture together with a new ZIP NVIDIA Vulkan problems - YouTube and https://rootserver.rosseaux.net/stuff/nvidiac0000409/outnvidia.zip where I have also fixed all by the validation layers reported errors and warnings, but without any success regarding the problem with NVIDIA GPUs.

Update:

It “seems to be” a Optimus issue, because my PasVulkan GLTF stuff runs on my GTX1060 6GB without problems but not on my Geforce MX150 2GB on my Thinkpad T480 (but which is also Pascal like the GTX1060).

But the one computer with the GTX1060 has older drivers (456.71). I’ll update these later und recheck it then also again.

Ok with newer drivers it crashes also on my GTX1060. But it works with the older version 456.71 .

@MarkusHoHo i have done the further more detailed driver version bisecting, the result: it seems that 466.77 was the last good nvidia driver version where my vulkan stuff is not crashing and where it works, where from about 471.xx on it crashes. And with 466.77 it works even with my Geforce MX140 on my Thinkpad T480 (besides on my GTX1060 in a desktop computer of mine).

Edit: On my further research, it happens sometimes also with 466.77 with some few GLTF models, but it shows here that it can be something to do with VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT and VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT in connection with persistent mapping. When I disable persistent mapping at constant updating streaming-buffers (by mapping and unmapping at each streaming-buffer update then), then the crashe never happens with 466.77, but it still happens always with newer NVIDIA driver versions.

Edit 2: Hm okay, after a fresh reboot, the driver version 466.77 works also with enabled persistent mapping again. But it crashes still constantly at newer NVIDIA driver versions than 466.77 .

Edit 3: Another NVIDIA Vulkan driver issue (466.77), where at NVIDIA seems to have a coherent buffer sync problem when the main loop is paused for a short time, and thus also the continuous display of new frames, where the buffers then briefly contain partially wrong older data from a few frames earlier afterwards. => see Another NVIDIA Vulkan driver issue - YouTube

Thank you once again for keeping at it and updating with more details!

Right now I don’t have anything to share yet.