Description of problem: Launching vkcube --validate I'm at vulkan-validation-layers-1.4.321.0-3.fc43.x86_64, mesa-vulkan-drivers-25.2.7-2.fc43.x86_64 and vulkan-tools-1.4.321.0-4.fc43.x86_64 https://bugzilla.redhat.com/show_bug.cgi?id=2415839 https://gitlab.freedesktop.org/mesa/mesa/-/issues/14322 https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/11111 Version-Release number of selected component: vulkan-tools-1.4.321.0-4.fc43 Additional info: reporter: libreport-2.17.15 type: CCpp reason: vkcube killed by SIGSEGV journald_cursor: s=4b829cde21c34c7aae16c1a283b85f49;i=180f3e;b=97a80c1904704fe284e55e20d2d69d2b;m=35c8572e0;t=64431d079baf6;x=53f0f5360c8ff05 executable: /usr/bin/vkcube cmdline: vkcube --validate cgroup: 0::/user.slice/user-1000.slice/user/app.slice/app-org.gnome.Terminal.slice/vte-spawn-8d3bb9b4-e790-4f08-84d1-719f6d383b48.scope rootdir: / uid: 1000 kernel: 6.17.8-300.fc43.x86_64 package: vulkan-tools-1.4.321.0-4.fc43 runlevel: /bin/sh: line 1: runlevel: command not found backtrace_rating: 4 crash_function: threadsafety::Counter<VkInstance_T*>::StartRead Truncated backtrace: Thread no. 1 (8 frames) #0 threadsafety::Counter<VkInstance_T*>::StartRead at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/./thread_tracker/thread_safety_validation.h:184 #1 threadsafety::Instance::StartReadObject at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/thread_safety_instance_defs.h:38 #2 threadsafety::Instance::PreCallRecordEnumeratePhysicalDevices at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/thread_safety.cpp:56 #3 vulkan_layer_chassis::EnumeratePhysicalDevices at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/chassis.cpp:114 #4 vvl::dispatch::Instance::EnumeratePhysicalDevices at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/dispatch_object.cpp:611 #5 vulkan_layer_chassis::EnumeratePhysicalDevices at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/chassis.cpp:120 #6 vvl::dispatch::Instance::EnumeratePhysicalDevices at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/dispatch_object.cpp:611 #7 vulkan_layer_chassis::EnumeratePhysicalDevices at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/chassis.cpp:120
Created attachment 2115719 [details] File: proc_pid_status
Created attachment 2115720 [details] File: maps
Created attachment 2115721 [details] File: limits
Created attachment 2115722 [details] File: environ
Created attachment 2115723 [details] File: open_fds
Created attachment 2115724 [details] File: mountinfo
Created attachment 2115725 [details] File: os_info
Created attachment 2115726 [details] File: cpuinfo
Created attachment 2115727 [details] File: core_backtrace
Created attachment 2115728 [details] File: exploitable
Created attachment 2115729 [details] File: dso_list
Created attachment 2115730 [details] File: backtrace
Note that I had to manually trim the backtrace, because I kept hitting: --- Running report_Bugzilla --- Checking for duplicates Creating a new bug... Failed to create bug. Server says: 400 Bad Request {"code":114,"documentation":"https://bugzilla.redhat.com/docs/en/html/api/index.html","message":"Comments cannot be longer than 65535 characters.","error":true} ('report_Bugzilla' exited with 1)
I'm seeing this too. Meaning, that I get a segfault due to infinite recursion, however on a totally different app. I'm running custom code that uses GLFW to help start a Vulkan instance. The infinite recursion occurs in a call to vk::createInstance( cinfo_str ); I'm running on a Dell Precision 7680 using an Intel iGPU and an Nvidia RTX 3500 dGPU. Things were working before a recent update. The code sets up the Vulkan Hpp dispatcher before attempting to create a Vulkan instance. I can provide more code if that helps.
Downgrading mesa-vulkan-drivers from 25.2.7 to 25.2.4 fixed the problem. I could avoid the immediate infinite recursion with 25.2.7 by omitting the validation layer when creating an instance, but then I eventually encountered hangs or delays when getting the next image from a swapchain, perhaps due to my own abuse of Vulkan, but something that did not occur before 25.2.7.
I mentioned a workaround in another thread, use NODEVICE_SELECT=1 to avoid the crash if you're using validation layers, crash only happens for me with both MESA_device_select and validation layers enabled. There was no change to the MESA_device_select between 25.2.4 and 25.2.7, it's likely that the issue comes the fedora package for 25.2.7 also including this mesa MR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38252 See https://bodhi.fedoraproject.org/updates/FEDORA-2025-82b66363b4 For the record the top and bottom of my backtrace: #0 0x00007fffe465f252 in threadsafety::Counter<VkInstance_T*>::FindObject () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/./thread_tracker/thread_safety_validation.h:121 #1 0x00007fffe465e8d3 in threadsafety::Counter<VkInstance_T*>::StartRead () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/./thread_tracker/thread_safety_validation.h:188 #2 0x00007fffe4620ee3 in threadsafety::Instance::StartReadObject () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/thread_safety_instance_defs.h:38 #3 threadsafety::Instance::PreCallRecordEnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/thread_safety.cpp:56 #4 0x00007fffe43176c7 in vulkan_layer_chassis::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/chassis.cpp:114 #5 0x00007fffe43176df in vvl::dispatch::Instance::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/dispatch_object.cpp:611 #6 vulkan_layer_chassis::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/chassis.cpp:120 #7 0x00007fffe43176df in vvl::dispatch::Instance::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/dispatch_object.cpp:611 #8 vulkan_layer_chassis::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/chassis.cpp:120 #9 0x00007fffe43176df in vvl::dispatch::Instance::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/dispatch_object.cpp:611 #10 vulkan_layer_chassis::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/chassis.cpp:120 ... #55002 vulkan_layer_chassis::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/chassis.cpp:120 #55003 0x00007fffe43176df in vvl::dispatch::Instance::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/dispatch_object.cpp:611 #55004 vulkan_layer_chassis::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/chassis.cpp:120 #55005 0x00007fffe478fe5d in vvl::dispatch::Instance::EnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/dispatch_object.cpp:611 #55006 DispatchEnumeratePhysicalDevices () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/vulkan/generated/dispatch_functions.h:40 #55007 vvl::InstanceState::PostCallRecordCreateInstance () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/state_tracker/state_tracker.cpp:3953 #55008 0x00007fffe40476d0 in vulkan_layer_chassis::CreateInstance () at /usr/src/debug/vulkan-validation-layers-1.4.321.0-3.fc43.x86_64/layers/chassis/chassis_manual.cpp:250 #55009 0x00007ffff6cbee7e in device_select_CreateInstance (pCreateInfo=0x7fffffff8a20, pAllocator=0x0, pInstance=0x7fffffff8b28) at ../src/vulkan/device-select-layer/device_select_layer.c:162 #55010 0x00007ffff7c596e4 in loader_create_instance_chain (pCreateInfo=<optimized out>, pAllocator=<optimized out>, inst=<optimized out>, created_instance=<optimized out>) at /usr/src/debug/vulkan-loader-1.4.321.0-3.fc43.x86_64/loader/loader.c:4894 #55011 0x00007ffff7c6d793 in vkCreateInstance (pCreateInfo=<optimized out>, pAllocator=<optimized out>, pInstance=<optimized out>) at /usr/src/debug/vulkan-loader-1.4.321.0-3.fc43.x86_64/loader/trampoline.c:687 #55012 0x0000555555555293 in demo_init_vk (demo=0x7fffffffce10) at /usr/src/debug/vulkan-tools-1.4.321.0-4.fc43.x86_64/cube/cube.c:4203 #55013 demo_init (demo=0x7fffffffce10, argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vulkan-tools-1.4.321.0-4.fc43.x86_64/cube/cube.c:4875 #55014 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vulkan-tools-1.4.321.0-4.fc43.x86_64/cube/cube.c:5086
Hi, issue is fixed in mesa-25.2.7-3