Basically, the subject.
My application uses Vulkan for playing video streams.
It works with amdgpu but crashes on the test system with the Nvidia driver.
SIGSEGV occurs in vkQueuePresentKHR.
Is this a known problem? Perhaps, a workaround exists that I could use until a fixed driver is available?
The problem can be reproduced with the Khronos Vulkan samples.
Here is gdb backtrace from the hello_triangle sample:
(gdb) run sample hello_triangle
Starting program: /home/d/vulkan/Vulkan-Samples/build/linux-d2d-dbg/app/bin/Debug/x86_64/vulkan_samples sample hello_triangle
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[info] Logger initialized
[info] Initializing vulkan instance.
[info] Enabled Validation Layers:
[error] [samples/api/hello_triangle/hello_triangle.cpp:38] Validation Layer: Warning: Loader Message: loader_icd_scan: Can not find 'ICD' object in ICD JSON file /usr/share/vulkan/icd.d/nvidia_layers.json. Skipping ICD JSON
[info] Found GPU: NVIDIA GeForce GTX 750
[info] Initializing vulkan device.
[New Thread 0x7fffed3c2700 (LWP 2754)]
[New Thread 0x7fffecbc1700 (LWP 2755)]
Thread 1 "vulkan_samples" received signal SIGSEGV, Segmentation fault.
0x00007ffff1691cb3 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-eglcore.so.510.47.03
(gdb) bt
#0 0x00007ffff1691cb3 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-eglcore.so.510.47.03
#1 0x00007ffff183a048 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-eglcore.so.510.47.03
#2 0x00007ffff1779a2d in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-eglcore.so.510.47.03
#3 0x00007ffff1774c93 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-eglcore.so.510.47.03
#4 0x00007ffff17735e4 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-eglcore.so.510.47.03
#5 0x00007ffff1884e76 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-eglcore.so.510.47.03
#6 0x00005555558640a6 in HelloTriangle::present_image (this=0x555556b8bf80, context=..., index=1)
at /home/d/vulkan/Vulkan-Samples/samples/api/hello_triangle/hello_triangle.cpp:958
#7 0x0000555555864c77 in HelloTriangle::update (this=0x555556b8bf80, delta_time=1.60701108)
at /home/d/vulkan/Vulkan-Samples/samples/api/hello_triangle/hello_triangle.cpp:1127
#8 0x0000555555648ac3 in vkb::Platform::update (this=0x7fffffffe1b0)
at /home/d/vulkan/Vulkan-Samples/framework/platform/platform.cpp:181
#9 0x000055555564882e in vkb::Platform::main_loop (this=0x7fffffffe1b0)
at /home/d/vulkan/Vulkan-Samples/framework/platform/platform.cpp:143
#10 0x000055555562c8ed in main (argc=3, argv=0x7fffffffe3b8) at /home/d/vulkan/Vulkan-Samples/app/main.cpp:54
System is Ubuntu 18.04.2
Kernel 5.4.0-92-generic
GeForce GTX 750 (UUID: GPU-6b273b83-5ef5-6142-0325-814e0ed7869f)
nvidia-smi output:
±----------------------------------------------------------------------------+
| NVIDIA-SMI 510.47.03 Driver Version: 510.47.03 CUDA Version: 11.6 |
|-------------------------------±---------------------±---------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce … On | 00000000:04:00.0 On | N/A |
| 33% 34C P8 1W / 38W | 1MiB / 2048MiB | 0% Default |
| | | N/A |
±------------------------------±---------------------±---------------------+