==========
VULKANINFO
==========
Vulkan Instance Version: 1.4.350
Instance Extensions: count = 26
-------------------------------
VK_EXT_acquire_drm_display : extension revision 1
VK_EXT_acquire_xlib_display : extension revision 1
VK_EXT_debug_report : extension revision 10
VK_EXT_debug_utils : extension revision 2
VK_EXT_direct_mode_display : extension revision 1
VK_EXT_display_surface_counter : extension revision 1
VK_EXT_headless_surface : extension revision 1
VK_EXT_layer_settings : extension revision 2
VK_EXT_surface_maintenance1 : extension revision 1
VK_EXT_swapchain_colorspace : extension revision 5
VK_KHR_device_group_creation : extension revision 1
VK_KHR_display : extension revision 23
VK_KHR_external_fence_capabilities : extension revision 1
VK_KHR_external_memory_capabilities : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2 : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2 : extension revision 1
VK_KHR_portability_enumeration : extension revision 1
VK_KHR_surface : extension revision 25
VK_KHR_surface_maintenance1 : extension revision 1
VK_KHR_surface_protected_capabilities : extension revision 1
VK_KHR_wayland_surface : extension revision 6
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6
VK_LUNARG_direct_driver_loading : extension revision 1
Instance Layers: count = 3
--------------------------
VK_LAYER_MESA_anti_lag Open-source implementation of the VK_AMD_anti_lag extension. 1.4.303 version 1
VK_LAYER_MESA_device_select Linux device selection layer 1.4.303 version 1
VK_LAYER_MESA_overlay Mesa Overlay layer 1.4.303 version 1
Devices:
========
GPU0:
apiVersion = 1.4.348
driverVersion = 26.1.1
vendorID = 0x1002
deviceID = 0x15dd
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = AMD Radeon Vega 8 Graphics (RADV RAVEN)
driverID = DRIVER_ID_MESA_RADV
driverName = radv
driverInfo = Mesa 26.1.1
conformanceVersion = 1.4.0.0
deviceUUID = 00000000-0500-0000-0000-000000000000
driverUUID = 414d442d-4d45-5341-2d44-525600000000
Wayfire crashes often when using alt-tab, but not always.
Not crash.
EE 2026-05-31 13:02:04.983 - [xwayland/xwm.c:1449] Failed to get window property
EE 2026-05-31 13:07:46.810 - [xwayland/xwm.c:1449] Failed to get window property
EE 2026-05-31 13:08:21.574 - [src/main.cpp:144] Fatal error: Segmentation fault
EE 2026-05-31 13:08:21.677 - #1 signal_handler(int) ../src/main.cpp:146
EE 2026-05-31 13:08:21.692 - #2 __sigaction ??:?
EE 2026-05-31 13:08:21.773 - #3 WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}::operator()(SwitcherView*, SwitcherView*) const ../plugins/single_plugins/switcher.cpp:769
EE 2026-05-31 13:08:21.854 - #4 void std::__unguarded_linear_insert<__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}>(__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}) /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/stl_algo.h:1757 (discriminator 3)
EE 2026-05-31 13:08:21.935 - #5 __gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >::operator++() /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/stl_iterator.h:1103
EE 2026-05-31 13:08:22.015 - #6 void std::__chunk_insertion_sort<__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, long, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}>(__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, __gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, long, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}) /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/stl_algo.h:2669 (discriminator 1)
EE 2026-05-31 13:08:22.095 - #7 void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, SwitcherView**, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}>(__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, __gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, SwitcherView**, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}) /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/stl_algo.h:2692
EE 2026-05-31 13:08:22.176 - #8 void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, SwitcherView**, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}>(__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, __gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, __gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, SwitcherView**, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}) /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/stl_algo.h:2711
EE 2026-05-31 13:08:22.256 - #9 void std::__stable_sort<__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}>(__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, __gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}) /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/stl_algo.h:5001 (discriminator 2)
EE 2026-05-31 13:08:22.337 - #10 void std::stable_sort<__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}>(__gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, __gnu_cxx::__normal_iterator<SwitcherView**, std::vector<SwitcherView*, std::allocator<SwitcherView*> > >, WayfireSwitcher::calculate_render_order()::{lambda(SwitcherView*, SwitcherView*)#1}) /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/stl_algo.h:5080
EE 2026-05-31 13:08:22.421 - #11 WayfireSwitcher::calculate_render_order() ../plugins/single_plugins/switcher.cpp:795
EE 2026-05-31 13:08:22.501 - #12 WayfireSwitcher::render(wf::scene::render_instruction_t const&) ../plugins/single_plugins/switcher.cpp:808 (discriminator 1)
EE 2026-05-31 13:08:22.583 - #13 WayfireSwitcher::switcher_render_node_t::switcher_render_instance_t::render(wf::scene::render_instruction_t const&) ../plugins/single_plugins/switcher.cpp:166
EE 2026-05-31 13:08:22.717 - #14 wf::render_pass_t::run_partial() ../src/render.cpp:618
EE 2026-05-31 13:08:24.493 - #15 wf::render_manager::impl::start_output_pass(std::unique_ptr<wf::swapchain_damage_manager_t::frame_object_t, std::default_delete<wf::swapchain_damage_manager_t::frame_object_t> >&) ../src/output/render-manager.cpp:1028
EE 2026-05-31 13:08:26.228 - #16 wf::render_manager::impl::paint() ../src/output/render-manager.cpp:1092 (discriminator 1)
EE 2026-05-31 13:08:28.030 - #17 wf::render_manager::impl::impl(wf::output_t*)::{lambda(void*)#1}::operator()(void*) const ../src/output/render-manager.cpp:850
EE 2026-05-31 13:08:29.793 - #18 void std::__invoke_impl<void, wf::render_manager::impl::impl(wf::output_t*)::{lambda(void*)#1}&, void*>(std::__invoke_other, wf::render_manager::impl::impl(wf::output_t*)::{lambda(void*)#1}&, void*&&) /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/invoke.h:63 (discriminator 3)
EE 2026-05-31 13:08:31.544 - #19 std::enable_if<is_invocable_r_v<void, wf::render_manager::impl::impl(wf::output_t*)::{lambda(void*)#1}&, void*>, void>::type std::__invoke_r<void, wf::render_manager::impl::impl(wf::output_t*)::{lambda(void*)#1}&, void*>(wf::render_manager::impl::impl(wf::output_t*)::{lambda(void*)#1}&, void*&&) /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/invoke.h:119
EE 2026-05-31 13:08:33.275 - #20 std::_Function_handler<void (void*), wf::render_manager::impl::impl(wf::output_t*)::{lambda(void*)#1}>::_M_invoke(std::_Any_data const&, void*&&) /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/std_function.h:296
EE 2026-05-31 13:08:33.390 - #21 std::function<void (void*)>::operator()(void*) const /usr/lib/gcc/x86_64-pc-linux-gnu/16/include/g++-v16/bits/std_function.h:581 (discriminator 2)
EE 2026-05-31 13:08:33.506 - #22 wf::wl_listener_wrapper::emit(void*) ../src/wl-listener-wrapper.tpp:59
EE 2026-05-31 13:08:33.621 - #23 wf::handle_wrapped_listener(wl_listener*, void*) ../src/wl-listener-wrapper.tpp:11
EE 2026-05-31 13:08:33.632 - #24 wl_signal_emit_mutable ??:?
EE 2026-05-31 13:08:33.645 - #25 wlr_drm_backend_create ??:?
EE 2026-05-31 13:08:33.656 - #26 drmHandleEvent ??:?
EE 2026-05-31 13:08:33.667 - #27 wlr_drm_connector_get_panel_orientation ??:?
EE 2026-05-31 13:08:33.678 - #28 wl_event_loop_dispatch ??:?
EE 2026-05-31 13:08:33.689 - #29 wl_display_run ??:?
EE 2026-05-31 13:08:33.781 - #30 main ../src/main.cpp:515
EE 2026-05-31 13:08:33.794 - #31 __libc_init_first ??:?
EE 2026-05-31 13:08:33.807 - #32 __libc_start_main ??:?
EE 2026-05-31 13:08:35.656 - #33 _start ??:?
Wayfire version
0.11.0-4ffa601d (May 30 2026) branch master wlroots-0.20.0
GPU / Driver
Describe the bug
Wayfire crashes often when using alt-tab, but not always.
To Reproduce
Expected behavior
Not crash.
Screenshots / Videos / Stacktrace