495.x regression: Vulkan applications hang indefinitely

After upgrading from 470.82.00 to 495.29.05 or 495.44 Vulkan applications no longer start and hang somewhere during graphics API initialization. I tried vulkaninfo and Grim Dawn (over Wine+DXVK). While vulkaninfo simply hangs, Grim Dawn freezes the desktop, as if the game grabbed fullscreen with a snapshot of the desktop, with no further updates.

Note that I’m running in graphical desktop environment (KDE/X11), which means OpenGL and GLX is working. I can start desktop applications, as long as they don’t use Vulkan.

I’ve captured a backtrace of vulkaninfo while it was hanging:

(gdb) thread apply all bt

Thread 24 (Thread 0x7f44d37fe640 (LWP 3420) "[vkrt] Analysis"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f44d37fdd80, op=393, expected=0, futex_word=0x7f44c0000d4c) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f44d37fdd80, clockid=0, expected=0, futex_word=0x7f44c0000d4c) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f44c0000d4c, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x7f44d37fdd80, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8d7e in __pthread_cond_wait_common (abstime=0x7f44d37fdd80, clockid=0, mutex=0x7f44c8008e00, cond=0x7f44c0000d20) at pthread_cond_wait.c:504
#4  ___pthread_cond_timedwait64 (cond=0x7f44c0000d20, mutex=0x7f44c8008e00, abstime=0x7f44d37fdd80) at pthread_cond_wait.c:653
#5  0x00007f4532b64fd2 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#6  0x00007f453293d424 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#7  0x00007f4532b67288 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#8  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#9  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 23 (Thread 0x7f44d3fff640 (LWP 3419) "[vkrt] Analysis"):
#0  futex_wait (private=0, expected=2, futex_word=0x7f4533fb02e0) at ../sysdeps/nptl/futex-internal.h:146
#1  __GI___lll_lock_wait (futex=futex@entry=0x7f4533fb02e0, private=0) at lowlevellock.c:50
#2  0x00007f453dcfcf1d in lll_mutex_lock_optimized (mutex=0x7f4533fb02e0) at pthread_mutex_lock.c:49
#3  ___pthread_mutex_lock (mutex=0x7f4533fb02e0) at pthread_mutex_lock.c:124
#4  0x00007f4532b65d09 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#5  0x00007f45344c7056 in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#6  0x00007f453293ea83 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#7  0x00007f4532c0cb86 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#8  0x00007f45344f84fb in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#9  0x00007f453dcf6511 in __GI___nptl_deallocate_tsd () at nptl_deallocate_tsd.c:74
#10 __GI___nptl_deallocate_tsd () at nptl_deallocate_tsd.c:23
#11 0x00007f453dcf97ff in start_thread (arg=<optimized out>) at pthread_create.c:446
#12 0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 22 (Thread 0x7f4508ff9640 (LWP 3418) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f6780) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f6780) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f6780, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f6730, cond=0x55c7861f6758) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f6758, mutex=0x55c7861f6730) at pthread_cond_wait.c:628
#5  0x00007f453c8ed59b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453c8e6aeb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 21 (Thread 0x7f45097fa640 (LWP 3417) "vulkani:disk$0"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c78659a4e8) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c78659a4e8) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c78659a4e8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c78659a498, cond=0x55c78659a4c0) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c78659a4c0, mutex=0x55c78659a498) at pthread_cond_wait.c:628
#5  0x00007f453c90f7fb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453c90d41b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 20 (Thread 0x7f4509ffb640 (LWP 3416) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7fa0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f7f50, cond=0x55c7861f7f78) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7f78, mutex=0x55c7861f7f50) at pthread_cond_wait.c:628
#5  0x00007f453ca42f3b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca416fb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 19 (Thread 0x7f450a7fc640 (LWP 3415) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7fa0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f7f50, cond=0x55c7861f7f78) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7f78, mutex=0x55c7861f7f50) at pthread_cond_wait.c:628
#5  0x00007f453ca42f3b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca416fb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 18 (Thread 0x7f450affd640 (LWP 3414) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7fa0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f7f50, cond=0x55c7861f7f78) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7f78, mutex=0x55c7861f7f50) at pthread_cond_wait.c:628
#5  0x00007f453ca42f3b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca416fb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 17 (Thread 0x7f450b7fe640 (LWP 3413) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7fa0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f7f50, cond=0x55c7861f7f78) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7f78, mutex=0x55c7861f7f50) at pthread_cond_wait.c:628
#5  0x00007f453ca42f3b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca416fb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 16 (Thread 0x7f4510ff9640 (LWP 3412) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7fa0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f7f50, cond=0x55c7861f7f78) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7f78, mutex=0x55c7861f7f50) at pthread_cond_wait.c:628
#5  0x00007f453ca42f3b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca416fb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 15 (Thread 0x7f45117fa640 (LWP 3411) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7fa0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f7f50, cond=0x55c7861f7f78) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7f78, mutex=0x55c7861f7f50) at pthread_cond_wait.c:628
#5  0x00007f453ca42f3b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca416fb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 14 (Thread 0x7f4511ffb640 (LWP 3410) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7fa0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f7f50, cond=0x55c7861f7f78) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7f78, mutex=0x55c7861f7f50) at pthread_cond_wait.c:628
#5  0x00007f453ca42f3b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca416fb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 13 (Thread 0x7f45127fc640 (LWP 3409) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7fa0) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7fa0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f7f50, cond=0x55c7861f7f78) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7f78, mutex=0x55c7861f7f50) at pthread_cond_wait.c:628
#5  0x00007f453ca42f3b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca416fb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 12 (Thread 0x7f4512ffd640 (LWP 3408) "llvmpipe-7"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7298) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7298) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7298, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f7248, cond=0x55c7861f7270) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7270, mutex=0x55c7861f7248) at pthread_cond_wait.c:628
#5  0x00007f453ca4aa03 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca4172b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 11 (Thread 0x7f45137fe640 (LWP 3407) "llvmpipe-6"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f7138) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f7138) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f7138, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f70e8, cond=0x55c7861f7110) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f7110, mutex=0x55c7861f70e8) at pthread_cond_wait.c:628
#5  0x00007f453ca4aa03 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca4172b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 10 (Thread 0x7f450bfff640 (LWP 3406) "llvmpipe-5"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f6fd8) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f6fd8) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f6fd8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f6f88, cond=0x55c7861f6fb0) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f6fb0, mutex=0x55c7861f6f88) at pthread_cond_wait.c:628
#5  0x00007f453ca4aa03 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca4172b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 9 (Thread 0x7f4513fff640 (LWP 3405) "llvmpipe-4"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f6e78) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f6e78) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f6e78, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f6e28, cond=0x55c7861f6e50) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f6e50, mutex=0x55c7861f6e28) at pthread_cond_wait.c:628
#5  0x00007f453ca4aa03 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca4172b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 8 (Thread 0x7f4528ae4640 (LWP 3404) "llvmpipe-3"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f6d18) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f6d18) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f6d18, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f6cc8, cond=0x55c7861f6cf0) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f6cf0, mutex=0x55c7861f6cc8) at pthread_cond_wait.c:628
#5  0x00007f453ca4aa03 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca4172b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 7 (Thread 0x7f45292e5640 (LWP 3403) "llvmpipe-2"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f6bb8) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f6bb8) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f6bb8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f6b68, cond=0x55c7861f6b90) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f6b90, mutex=0x55c7861f6b68) at pthread_cond_wait.c:628
#5  0x00007f453ca4aa03 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca4172b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 6 (Thread 0x7f4529ae6640 (LWP 3402) "llvmpipe-1"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f6a58) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f6a58) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f6a58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f6a08, cond=0x55c7861f6a30) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f6a30, mutex=0x55c7861f6a08) at pthread_cond_wait.c:628
#5  0x00007f453ca4aa03 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca4172b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 5 (Thread 0x7f452a2e7640 (LWP 3401) "llvmpipe-0"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c7861f68f8) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55c7861f68f8) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c7861f68f8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8920 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c7861f68a8, cond=0x55c7861f68d0) at pthread_cond_wait.c:504
#4  ___pthread_cond_wait (cond=0x55c7861f68d0, mutex=0x55c7861f68a8) at pthread_cond_wait.c:628
#5  0x00007f453ca4aa03 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#6  0x00007f453ca4172b in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
#7  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#8  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 4 (Thread 0x7f452ae48640 (LWP 3400) "[vkrt] Analysis"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f452ae47d70, op=393, expected=0, futex_word=0x7f451c000be8) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f452ae47d70, clockid=0, expected=0, futex_word=0x7f451c000be8) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f451c000be8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x7f452ae47d70, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8d7e in __pthread_cond_wait_common (abstime=0x7f452ae47d70, clockid=0, mutex=0x55c7863d13a0, cond=0x7f451c000bc0) at pthread_cond_wait.c:504
#4  ___pthread_cond_timedwait64 (cond=0x7f451c000bc0, mutex=0x55c7863d13a0, abstime=0x7f452ae47d70) at pthread_cond_wait.c:653
#5  0x00007f4532b64fd2 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#6  0x00007f4532fdba45 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#7  0x00007f4532b67288 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#8  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#9  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 3 (Thread 0x7f453087e640 (LWP 3399) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f453087dd60, op=393, expected=0, futex_word=0x7f4524000d08) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f453087dd60, clockid=0, expected=0, futex_word=0x7f4524000d08) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f4524000d08, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x7f453087dd60, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8d7e in __pthread_cond_wait_common (abstime=0x7f453087dd60, clockid=0, mutex=0x55c7863d10f0, cond=0x7f4524000ce0) at pthread_cond_wait.c:504
#4  ___pthread_cond_timedwait64 (cond=0x7f4524000ce0, mutex=0x55c7863d10f0, abstime=0x7f453087dd60) at pthread_cond_wait.c:653
#5  0x00007f4532b64fd2 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#6  0x00007f4532fc4c64 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#7  0x00007f4532b67288 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#8  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#9  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 2 (Thread 0x7f4531d59640 (LWP 3398) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f4531d58d80, op=393, expected=0, futex_word=0x7f452c000d8c) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f4531d58d80, clockid=0, expected=0, futex_word=0x7f452c000d8c) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f452c000d8c, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x7f4531d58d80, private=private@entry=0) at futex-internal.c:139
#3  0x00007f453dcf8d7e in __pthread_cond_wait_common (abstime=0x7f4531d58d80, clockid=0, mutex=0x55c785f83090, cond=0x7f452c000d60) at pthread_cond_wait.c:504
#4  ___pthread_cond_timedwait64 (cond=0x7f452c000d60, mutex=0x55c785f83090, abstime=0x7f4531d58d80) at pthread_cond_wait.c:653
#5  0x00007f4532b64fd2 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#6  0x00007f453293d424 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#7  0x00007f4532b67288 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#8  0x00007f453dcf9927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#9  0x00007f453dd899e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Thread 1 (Thread 0x7f453db3b140 (LWP 3396) "vulkaninfo"):
#0  __futex_abstimed_wait_common64 (private=128, cancel=true, abstime=0x0, op=265, expected=3419, futex_word=0x7f44d3fff910) at futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=128, abstime=0x0, clockid=0, expected=3419, futex_word=0x7f44d3fff910) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f44d3fff910, expected=3419, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=128) at futex-internal.c:139
#3  0x00007f453dcfb464 in __pthread_clockjoin_ex (threadid=139933591270976, thread_return=0x0, clockid=0, abstime=0x0, block=<optimized out>) at pthread_join_common.c:105
#4  0x00007f4532b64d08 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#5  0x00007f4532fd9ca0 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#6  0x00007f4532fa1315 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.495.44
#7  0x00007f4534510e8f in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#8  0x00007f453db0ec5a in vkDestroyDevice () from /lib/x86_64-linux-gnu/libvulkan.so
#9  0x000055c784214847 in ?? ()
#10 0x000055c784245ab8 in ?? ()
#11 0x000055c784208b60 in ?? ()
#12 0x00007f453dc8efd0 in __libc_start_call_main (main=main@entry=0x55c784207ce0, argc=argc@entry=1, argv=argv@entry=0x7fffe0b328a8) at ../sysdeps/nptl/libc_start_call_main.h:58
#13 0x00007f453dc8f07d in __libc_start_main_impl (main=0x55c784207ce0, argc=1, argv=0x7fffe0b328a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffe0b32898) at ../csu/libc-start.c:409
#14 0x000055c784209fae in ?? ()

With 470.82.00 I don’t have this issue.

nvidia-bug-report.log.gz (126.4 KB)

I have found that this problem is caused by __GL_THREADED_OPTIMIZATIONS=1 environment variable. I have it set by default in /etc/environment for better performance. If I remove it, vulkaninfo no longer deadlocks and Grim Dawn also starts and plays. Nvidia, please fix.

1 Like

Thank you, this is tracked as bug 3405104 internally.

1 Like

The bug is still present in 495.46. Is there an ETA on the fix?

The bug has been fixed in our trunk and the fix will appear in the next release branch. I do not have a date estimate.

1 Like