Bug 2416557 - [abrt] vulkan-tools: threadsafety::Counter<VkInstance_T*>::StartRead(): vkcube killed by SIGSEGV
Summary: [abrt] vulkan-tools: threadsafety::Counter<VkInstance_T*>::StartRead(): vkcub...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: vulkan-tools
Version: 43
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dave Airlie
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:1ef1ad1ad734cdf9d074863f720...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-11-22 17:01 UTC by Jean-Baptiste Lepesme
Modified: 2025-11-27 23:05 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-11-25 12:04:06 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: proc_pid_status (1.48 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: maps (21.66 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: limits (1.29 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: environ (3.58 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: open_fds (2.28 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: mountinfo (3.42 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: os_info (699 bytes, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: cpuinfo (3.49 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: core_backtrace (104.89 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: exploitable (81 bytes, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: dso_list (4.45 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details
File: backtrace (45.06 KB, text/plain)
2025-11-22 17:01 UTC, Jean-Baptiste Lepesme
no flags Details

Description Jean-Baptiste Lepesme 2025-11-22 17:01:19 UTC
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

Comment 1 Jean-Baptiste Lepesme 2025-11-22 17:01:23 UTC
Created attachment 2115719 [details]
File: proc_pid_status

Comment 2 Jean-Baptiste Lepesme 2025-11-22 17:01:24 UTC
Created attachment 2115720 [details]
File: maps

Comment 3 Jean-Baptiste Lepesme 2025-11-22 17:01:26 UTC
Created attachment 2115721 [details]
File: limits

Comment 4 Jean-Baptiste Lepesme 2025-11-22 17:01:27 UTC
Created attachment 2115722 [details]
File: environ

Comment 5 Jean-Baptiste Lepesme 2025-11-22 17:01:28 UTC
Created attachment 2115723 [details]
File: open_fds

Comment 6 Jean-Baptiste Lepesme 2025-11-22 17:01:30 UTC
Created attachment 2115724 [details]
File: mountinfo

Comment 7 Jean-Baptiste Lepesme 2025-11-22 17:01:31 UTC
Created attachment 2115725 [details]
File: os_info

Comment 8 Jean-Baptiste Lepesme 2025-11-22 17:01:32 UTC
Created attachment 2115726 [details]
File: cpuinfo

Comment 9 Jean-Baptiste Lepesme 2025-11-22 17:01:34 UTC
Created attachment 2115727 [details]
File: core_backtrace

Comment 10 Jean-Baptiste Lepesme 2025-11-22 17:01:35 UTC
Created attachment 2115728 [details]
File: exploitable

Comment 11 Jean-Baptiste Lepesme 2025-11-22 17:01:36 UTC
Created attachment 2115729 [details]
File: dso_list

Comment 12 Jean-Baptiste Lepesme 2025-11-22 17:01:37 UTC
Created attachment 2115730 [details]
File: backtrace

Comment 13 Jean-Baptiste Lepesme 2025-11-22 17:05:39 UTC
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)

Comment 14 David Koppelman 2025-11-22 19:39:08 UTC
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.

Comment 15 David Koppelman 2025-11-22 21:47:14 UTC
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.

Comment 16 Jean-Baptiste Lepesme 2025-11-23 10:54:28 UTC
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

Comment 17 Jean-Baptiste Lepesme 2025-11-25 12:04:06 UTC
Hi, issue is fixed in mesa-25.2.7-3


Note You need to log in before you can comment on or make changes to this bug.