Constant Mutter Crashing

Just to be more specific: We support the Xorg client libraries/frameworks and XWayland. If you are seeing apps/components crash with a backtrace pointing to our drivers (even if you need a native Xorg session to reproduce it), we will look into it. If you are seeing XWayland server crashes, that’s also in scope.

If you are seeing crashes in the native Xorg server though, you’re mostly on your own unless you can repro on XWayland or it’s clear it was an unrelated Mesa regression. Same with any X-specific issues (involving X APIs only relevant to bare metal X usage) or general functionality problems, e.g. if mutter crashes in its own X-related code in a way that isn’t directly caused by a Mesa problem/regression.

While X11 is basically unusable at the moment. The standard Wayland is also bugging out with a constant crash report related to mutter-x11-frames when first logged in. The crash is generated by util_call_once_data_slow in the apple driver.

If I reboot and log in with just wayland it seems to not throw the initial crashes. So I am guessing I’m on my own here. I will just stick with AwesomeWM for a bit since that isn’t having the issue and wait to see if the next mutter release magically fixes it.

The crash reports are logged, so if it’s crashing on X11 and then you boot into Wayland it would then report all the crashes from the X11 attempt. That’s normal, it doesn’t mean it’s crashing in Wayland.

If you want us to take a look, we need at the very least the full stack trace.

Is this of any value? Please let me know how to provide more information.

GNU gdb (Fedora Linux) 13.2-10.fc39
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from gnome-shell...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
e[?2004hEnable debuginfod for this session? (y or [n]) y
e[?2004l
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /home/albsod/.cache/debuginfod_client/2a5b055c254109b7d680e14174bd3d22a568f9d7/debuginfo...
Starting program: /usr/bin/gnome-shell --replace
Downloading separate debug info for system-supplied DSO at 0xfffff7ff4000...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Downloading separate debug info for /lib64/libgbm.so.1...
[New Thread 0xffffeff9e260 (LWP 12625)]
[Thread 0xffffeff9e260 (LWP 12625) exited]
[New Thread 0xffffeff9e260 (LWP 12626)]
[New Thread 0xffffef78e260 (LWP 12627)]
[New Thread 0xffffeef5a260 (LWP 12628)]
[New Thread 0xffffee67e260 (LWP 12630)]
[New Thread 0xffffeddce260 (LWP 12631)]
[New Thread 0xffffed5bc260 (LWP 12632)]
[New Thread 0xffffed3ac260 (LWP 12633)]
[New Thread 0xffffed19c260 (LWP 12634)]
[New Thread 0xffffecf8c260 (LWP 12635)]
[New Thread 0xffffecd7c260 (LWP 12636)]
[New Thread 0xffffecb6c260 (LWP 12637)]
[New Thread 0xffffec95c260 (LWP 12638)]
[New Thread 0xffffec74c260 (LWP 12639)]
libmutter-Message: 21:05:07.460: Running GNOME Shell (using mutter 45.1) as a X11 window and compositing manager
libmutter-Message: 21:05:07.460: Enabling experimental feature 'scale-monitor-framebuffer'
Downloading separate debug info for /lib64/libEGL_mesa.so.0...
Downloading separate debug info for /lib64/libglapi.so.0...
Downloading separate debug info for /lib64/libGLX_mesa.so.0...
Downloading separate debug info for /usr/lib64/dri/apple_dri.so...
[New Thread 0xffffcbffe260 (LWP 12710)]
[New Thread 0xffffcb7ee260 (LWP 12712)]
[Thread 0xffffcb7ee260 (LWP 12712) exited]
[Detaching after fork from child process 12723]
[New Thread 0xffffcb7ee260 (LWP 12728)]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 12743]

(gnome-shell:12488): libmutter-WARNING **: 21:05:08.879: Lost or failed to acquire name org.gnome.Mutter.ServiceChannel
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
GNOME Shell-Message: 21:05:09.281: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
GNOME Shell-Message: 21:05:09.281: Will monitor session 5
[New Thread 0xffffbd24e260 (LWP 12825)]

(gnome-shell:12488): libmutter-WARNING **: 21:05:09.404: Failed to create colord device for 'xrandr-eDP-1': device id 'xrandr-eDP-1' already exists
[Detaching after fork from child process 12876]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[New Thread 0xffffbc97e260 (LWP 12894)]
[New Thread 0xffff8fb9e260 (LWP 12901)]
[New Thread 0xffff8f38e260 (LWP 12902)]
[New Thread 0xffff8eb7e260 (LWP 12903)]
[New Thread 0xffff8e36e260 (LWP 12916)]
[New Thread 0xffff8db5e260 (LWP 12917)]
[New Thread 0xffff8d34e260 (LWP 12918)]
[New Thread 0xffff8cb3e260 (LWP 12919)]
[New Thread 0xffff83ffa260 (LWP 12920)]
[Detaching after fork from child process 12921]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
GNOME Shell-Message: 21:05:09.735: Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
[New Thread 0xffff87eae260 (LWP 13017)]
[Detaching after fork from child process 13046]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[New Thread 0xffff86c0e260 (LWP 13089)]
[New Thread 0xffff863fe260 (LWP 13090)]
[Thread 0xffff86c0e260 (LWP 13089) exited]
[New Thread 0xffff86c0e260 (LWP 13091)]
[New Thread 0xffff85bd2260 (LWP 13092)]
[Thread 0xffff863fe260 (LWP 13090) exited]
[Thread 0xffff86c0e260 (LWP 13091) exited]
[Thread 0xffff85bd2260 (LWP 13092) exited]
[New Thread 0xffff85bd2260 (LWP 13093)]
[New Thread 0xffff86c0e260 (LWP 13094)]
[Thread 0xffff85bd2260 (LWP 13093) exited]
[Thread 0xffff86c0e260 (LWP 13094) exited]
[New Thread 0xffff86c0e260 (LWP 13095)]
[New Thread 0xffff85bd2260 (LWP 13096)]
[Thread 0xffff86c0e260 (LWP 13095) exited]
[New Thread 0xffff86c0e260 (LWP 13097)]
[New Thread 0xffff863fe260 (LWP 13098)]
[Thread 0xffff863fe260 (LWP 13098) exited]
[Thread 0xffff86c0e260 (LWP 13097) exited]
[Thread 0xffff85bd2260 (LWP 13096) exited]
[Detaching after fork from child process 13105]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Thread 0xffff8fb9e260 (LWP 12901) exited]
[Detaching after fork from child process 13116]
GNOME Shell-Message: 21:05:10.513: GNOME Shell started at Fri Nov 24 2023 21:05:09 GMT+0100 (centraleuropeisk normaltid)
GNOME Shell-Message: 21:05:10.514: Registering session with GDM
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13128]
[Thread 0xffff83ffa260 (LWP 12920) exited]
[Thread 0xffff8d34e260 (LWP 12918) exited]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
[Thread 0xffff8db5e260 (LWP 12917) exited]
[Thread 0xffff8e36e260 (LWP 12916) exited]
[Thread 0xffffbd24e260 (LWP 12825) exited]
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Thread 0xffff8cb3e260 (LWP 12919) exited]
[Thread 0xffff8eb7e260 (LWP 12903) exited]
[Thread 0xffffeef5a260 (LWP 12628) exited]
[Detaching after fork from child process 13141]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Thread 0xffffbc97e260 (LWP 12894) exited]
[Detaching after fork from child process 13155]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13167]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13179]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13192]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13210]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13222]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13235]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13252]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13264]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13282]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13292]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13305]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13318]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13332]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13346]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13357]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13372]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13383]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13397]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13409]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13422]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13436]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13448]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13461]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13474]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13487]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13500]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13513]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13526]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13540]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13552]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13569]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13579]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13591]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13604]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13618]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13630]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13643]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13657]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13671]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13687]
[New Thread 0xffffbc97e260 (LWP 13694)]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13706]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13721]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Thread 0xffff8f38e260 (LWP 12902) exited]
[Detaching after fork from child process 13732]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13746]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13758]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13776]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13787]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13802]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13816]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13837]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13846]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13859]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13873]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13886]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13903]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13916]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13929]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13942]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13961]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13973]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 13987]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 14002]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 14013]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 14031]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 14041]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 14056]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 14069]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[Detaching after fork from child process 14090]
TU: error: ../src/freedreno/vulkan/tu_knl.cc:214: device /dev/dri/renderD128 (asahi) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)

unfortunately not but could be the same issue as [TRACKER] GPU rendering issues / app crashes · Issue #72 · AsahiLinux/linux · GitHub

Yes, I believe so. Downgrading MESA (twice, as described by Yussef) to the August version made the issue disappear.

What I did was type coredumpctl and it will list a list of recorded crashes. Choose the PID of the crash, and type coredumpctl gdb <PID>. It will ask if you want debugging symbols, and it will install debug info for the different libraries. Then you will hit a gdb prompt and you type bt full, which will give you a full backtrace.

Thanks Yussef. Mutter is crashing so rapidly in the X11 session that it’s very hard to get the PID in time before it’s cleaned up by rotation, but I managed to get a coredump by running a different command:

coredumpctl gdb --output=gdb --quiet /usr/libexec/mutter-x11-frames
GNU gdb (Fedora Linux) 13.2-10.fc39
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/libexec/mutter-x11-frames...
Reading symbols from /usr/lib/debug/usr/libexec/mutter-x11-frames-45.1-1.fc39.aarch64.debug...
[New LWP 38628]
[New LWP 38635]

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Downloading separate debug info for /lib64/libgtk-4.so.1
                                                                                                                                --Type <RET> for more, q to quit, c to continue without paging--
                                                                                                                                --Type <RET> for more, q to quit, c to continue without paging--c
Downloading separate debug info for /lib64/libGLX_mesa.so.0                                                                     
Missing separate debuginfo for /lib64/libGLX_mesa.so.0.                                                                         
The debuginfo package for this file is probably broken.
Downloading separate debug info for /usr/lib64/dri/apple_dri.so                                                                 
Missing separate debuginfo for /usr/lib64/dri/apple_dri.so.                                                                     
The debuginfo package for this file is probably broken.
Downloading separate debug info for system-supplied DSO at 0xffff91764000                                                       
[Thread debugging using libthread_db enabled]                                                                                   
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/libexec/mutter-x11-frames'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000ffff701a5c1c in util_call_once_data_slow () from /usr/lib64/dri/apple_dri.so
[Current thread is 1 (Thread 0xffff90c899a0 (LWP 38628))]
(gdb) bt full
#0  0x0000ffff701a5c1c in util_call_once_data_slow () at /usr/lib64/dri/apple_dri.so
#1  0x0000ffff6f89416c [PAC] in _mesa_initialize () at /usr/lib64/dri/apple_dri.so
#2  0x0000ffff6f76765c [PAC] in st_api_create_context () at /usr/lib64/dri/apple_dri.so
#3  0x0000ffff6f69fd60 [PAC] in dri_create_context () at /usr/lib64/dri/apple_dri.so
#4  0x0000ffff6f6a3e58 [PAC] in driCreateContextAttribs () at /usr/lib64/dri/apple_dri.so
#5  0x0000ffff7ddc0640 [PAC] in dri3_create_context_attribs () at /lib64/libGLX_mesa.so.0
#6  0x0000ffff7dda7d1c [PAC] in glXCreateContextAttribsARB () at /lib64/libGLX_mesa.so.0
#7  0x0000ffff7e8b8e80 [PAC] in glXCreateContextAttribsARB
    (dpy=0xaaab75dd2a80, config=0xaaab75ec7100, share_list=0x0, direct=1, attrib_list=0xffffe6c1cf28)
    at /usr/src/debug/libglvnd-1.7.0-1.fc39.aarch64/src/GLX/libglx.c:301
        context = 0x0
        vendor = <optimized out>
#8  0x0000ffff912e4984 [PAC] in gdk_x11_context_create_glx_context
    (context=context@entry=0xaaab75e57970 [GdkX11GLContextGLX], api=api@entry=GDK_GL_API_GL, legacy=legacy@entry=0)
    at ../gdk/x11/gdkglcontext-glx.c:563
        context_glx = 0xaaab75e57970 [GdkX11GLContextGLX]
        display = 0xaaab75dec580 [GdkX11Display]
        display_x11 = 0xaaab75dec580 [GdkX11Display]
        dpy = 0xaaab75dd2a80
        share = 0x0
        share_glx = <optimized out>
        surface = 0xaaab75e50d40 [GdkX11DragSurface]
        ctx = 0x0
        context_attribs = {37158, 1, 8337, 3, 8338, 3, 8340, 0, 0, 1900543, -423506048, 65535, -1869413912, 5242879, 1977428608, 43691}
        i = <optimized out>
        flags = <optimized out>
        major_idx = <optimized out>
        minor_idx = <optimized out>
        version = {major = 3, minor = 2}
--Type <RET> for more, q to quit, c to continue without paging--c
        supported_versions = <optimized out>
        debug_bit = <optimized out>
        compat_bit = <optimized out>
        j = <optimized out>
#9  0x0000ffff912e4cb8 [PAC] in gdk_x11_gl_context_glx_realize
    (context=0xaaab75e57970 [GdkX11GLContextGLX], error=0xaaab75dec558) at ../gdk/x11/gdkglcontext-glx.c:670
        display = 0xaaab75dec580 [GdkX11Display]
        share = 0x0
        legacy = 0
        api = <optimized out>
        preferred_api = <optimized out>
#10 0x0000ffff9131f990 [PAC] in gdk_gl_context_realize (context=0xaaab75e57970 [GdkX11GLContextGLX], error=0xaaab75dec558)
    at ../gdk/gdkglcontext.c:1483
        priv = <optimized out>
        __func__ = "gdk_gl_context_realize"
#11 0x0000ffff91314200 [PAC] in gdk_display_init_gl (self=0xaaab75dec580 [GdkX11Display]) at ../gdk/gdkdisplay.c:1286
        priv = 0xaaab75dec550
        context = 0xaaab75e57970 [GdkX11GLContextGLX]
        before = 604604541063
        before2 = 604650492539
        priv = <optimized out>
        __func__ = "gdk_display_prepare_gl"
#12 gdk_display_prepare_gl (self=0xaaab75dec580 [GdkX11Display], error=0x0) at ../gdk/gdkdisplay.c:1352
        priv = <optimized out>
        __func__ = "gdk_display_prepare_gl"
#13 0x0000ffff912e818c [PAC] in gdk_x11_display_open (display_name=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1487
        xdisplay = <optimized out>
        display = 0xaaab75dec580 [GdkX11Display]
        display_x11 = 0xaaab75dec580 [GdkX11Display]
        argc = <optimized out>
        argv = {0xffffe6c1d260 "\020\323\301\346\377\377"}
        class_hint = <optimized out>
        ignore = 147
        maj = 0
        min = 0
        cm_name = <optimized out>
        __func__ = "gdk_x11_display_open"
#14 0x0000ffff9130d6fc [PAC] in gdk_display_manager_open_display (manager=<optimized out>, name=0x0)
    at ../gdk/gdkdisplaymanager.c:431
        backend = 0xaaab75dbee70 "x11"
        any = 0
        found = <optimized out>
        backend_list = <optimized out>
        display = 0x0
        backends = 0xaaab75dbe770
        i = <optimized out>
        j = 1
        allow_any = 0
        __func__ = "gdk_display_manager_open_display"
#15 0x0000ffff9105f900 [PAC] in gdk_display_open_default () at ../gdk/gdk.c:333
        display = <optimized out>
        ret = <optimized out>
        __func__ = "gtk_init_check"
#16 gtk_init_check () at ../gtk/gtkmain.c:614
        ret = <optimized out>
        __func__ = "gtk_init_check"
#17 gtk_init_check () at ../gtk/gtkmain.c:596
        __func__ = "gtk_init_check"
#18 0x0000ffff9105fb30 [PAC] in gtk_init () at ../gtk/gtkmain.c:652
        __func__ = "gtk_init"
#19 0x0000aaab4bdd075c [PAC] in main (argc=<optimized out>, argv=<optimized out>) at ../src/frames/main.c:56
        window_tracker = 0x0
        display = <optimized out>
        loop = <optimized out>
        xdisplay = <optimized out>

I hope this may be of some help to those working on MESA, not to the fix the X11 session per se but to resolve other issues. By the way, I suggest removing the wayland tag from this thread and replacing it with x11.

Edit: Add mesa version

rpm -q mesa-dri-drivers
mesa-dri-drivers-24.0.0~asahipre20231121-1.fc39.aarch64

I was having issues on the Wayland session though. However whatever this bug was, it was affecting both the X11 and Wayland sessions, but X11 was definitely worse affected.

EDIT: clarification

Yes, me too, but that is being discussed in this thread. I only jumped in here to check out the buggy X11 session as reported by mat. I believe the two problems are related since both seem to go away by downgrading mesa.

That trace shows a crash in common Mesa code related to X11 contexts, so nothing to do with our driver. That should not crash, but it’s also unlikely to have anything to do with our driver updates. It’s pretty weird and I’m starting to suspect memory corruption somewhere in Mesa or in Mutter.

If you can only reproduce this with an X11 session though, it’s going to be really hard for us to debug, especially if it doesn’t immediately repro here (Alyssa tried last night and didn’t get anywhere).

Thanks for looking into this!

Are you able to reproduce the lid close/open crash? If so, there might be a good chance of resolving both issues at once since they appeared with the more recent mesa packages.

Below is the beginning of a stack trace from gnome-shell (Wayland session) after having closed the lid (Firefox was running), waited a while and then opened the lid again. It was too long to fit in one message. You can get the full trace here.

(gdb) bt full
#0  __pthread_kill_implementation (threadid=281473196130336, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = 7128
        ret = 0
        pd = 0xffff95de8020
        old_mask = {__val = {281473981294384}}
        ret = <optimized out>
#1  0x0000ffff957b22f8 [PAC] in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x0000ffff95765800 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x0000aaaad9d51700 [PAC] in dump_gjs_stack_on_signal_handler (signo=6) at ../src/main.c:467
        sa = {__sigaction_handler = {sa_handler = 0xaaaad9d51504 <dump_gjs_stack_alarm_sigaction>, sa_sigaction = 0xaaaad9d51504 <dump_gjs_stack_alarm_sigaction>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        i = <optimized out>
#4  0x0000ffff9675c800 [PAC] in <signal handler called> ()
#5  __pthread_kill_implementation (threadid=281473196130336, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = 7128
        ret = 0
        pd = 0xffff95de8020
        old_mask = {__val = {0}}
        ret = <optimized out>
#6  0x0000ffff957b22f8 [PAC] in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#7  0x0000ffff95765800 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#8  0x0000ffff95750288 [PAC] in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {281473198522424, 2387033582442147425, 281473200357376, 281473981299552, 32932570488120388, 187651730187264, 281473196132192, 281473190881072, 32, 11, 281473196519648, 281473981299728, 2533273013024096, 281473981299616, 7036872640246120, 187651730187280}}, sa_flags = -1776349728, sa_restorer = 0x69}
#9  0x0000ffff960f75c4 [PAC] in g_assertion_message
--Type <RET> for more, q to quit, c to continue without paging--c
    (domain=domain@entry=0xffff96030038 "GLib-GObject", file=file@entry=0xffff96037938 "../gobject/gsignal.c", line=line@entry=4161, func=func@entry=0xffff960399f8 <__func__.21> "invalid_closure_notify", message=message@entry=0xaaab1251f7e0 "assertion failed: (handler != NULL)") at ../glib/gtestutils.c:3497
        lstr = "4161\000\377\000\000\240;;\025\253\252\000\0008\000\003\226\377\377\000\0008y\003\226\377\377\000"
        s = 0xaaab12b82410 "\3626\t\270\241\252"
#10 0x0000ffff960f7628 [PAC] in g_assertion_message_expr
    (domain=domain@entry=0xffff96030038 "GLib-GObject", file=file@entry=0xffff96037938 "../gobject/gsignal.c", line=line@entry=4161, func=func@entry=0xffff960399f8 <__func__.21> "invalid_closure_notify", expr=expr@entry=0xffff96037c88 "handler != NULL")
    at ../glib/gtestutils.c:3523
        s = 0xaaab1251f7e0 "assertion failed: (handler != NULL)"
#11 0x0000ffff9600f994 [PAC] in invalid_closure_notify (instance=0xadbd3a8b6, closure=0xaaab153b3ba0)
    at ../gobject/gsignal.c:4161
        handler = <optimized out>
        signal_id = 43691
        __func__ = "invalid_closure_notify"
#12 0x0000ffff95ff558c [PAC] in closure_invoke_notifiers (notify_type=<optimized out>, closure=<optimized out>)
    at ../gobject/gclosure.c:282
warning: left shift count is negative
        n = 255
        ndata = <optimized out>
        __func__ = "g_closure_invalidate"
#13 closure_invoke_notifiers (notify_type=<optimized out>, closure=<optimized out>) at ../gobject/gclosure.c:234
        __func__ = "g_closure_invalidate"
#14 g_closure_invalidate (closure=0xaaab153b3ba0) at ../gobject/gclosure.c:600
        __func__ = "g_closure_invalidate"
#15 0x0000ffff95e49804 [PAC] in invalidate_closure_vector(std::vector<_GClosure*, std::allocator<_GClosure*> >*, void*, GClosureNotify)
    (closures=closures@entry=0xaaab13ba0f00, data=data@entry=0xaaab13ba0ee0, notify_func=notify_func@entry=0xffff95e470e0 <ObjectInstance::closure_invalidated_notify(void*, _GClosure*)>) at ../gi/object.cpp:1720
        it = 0xaaab153b3ba0
#16 0x0000ffff95e49910 [PAC] in ObjectInstance::invalidate_closures() (this=0xaaab13ba0ee0) at ../gi/object.cpp:2131
#17 0x0000ffff95e49ac4 [PAC] in ObjectInstance::disassociate_js_gobject() (this=0xaaab13ba0ee0) at ../gi/object.cpp:1751
        had_toggle_down = <optimized out>
        had_toggle_up = <optimized out>
#18 0x0000ffff95ead304 [PAC] in std::function<void (ObjectInstance*)>::operator()(ObjectInstance*) const
    (__args#0=<optimized out>, this=0xffffc4ab3f20) at /usr/include/c++/13/bits/std_function.h:591
        action = {<std::_Maybe_unary_or_binary_function<void, ObjectInstance*>> = {<std::unary_function<ObjectInstance*, void>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xffff95e49a50 <ObjectInstance::disassociate_js_gobject()>, _M_const_object = 0xffff95e49a50 <ObjectInstance::disassociate_js_gobject()>, _M_function_pointer = 0xffff95e49a50 <ObjectInstance::disassociate_js_gobject()>, _M_member_pointer = (void (std::_Undefined_class::*)(class std::_Undefined_class * const)) 0xffff95e49a50 <ObjectInstance::disassociate_js_gobject()>}, _M_pod_data = "P\232\344\225\377\377\000\000\000\000\000\000\000\000\000"}, _M_manager = 0xffff95e4f9f0 <std::_Function_handler<void (ObjectInstance*), std::_Mem_fn<void (ObjectInstance::*)()> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0xffff95e4fa90 <std::_Function_handler<void (ObjectInstance*), std::_Mem_fn<void (ObjectInstance::*)()> >::_M_invoke(std::_Any_data const&, ObjectInstance*&&)>}
        predicate = {<std::_Maybe_unary_or_binary_function<bool, ObjectInstance*>> = {<std::unary_function<ObjectInstance*, bool>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xffffc4ab4038, _M_const_object = 0xffffc4ab4038, _M_function_pointer = 0xffffc4ab4038, _M_member_pointer = (void (std::_Undefined_class::*)(class std::_Undefined_class * const)) 0xffffc4ab4038}, _M_pod_data = "8@\253\304\377\377\000\000\000\000\000\000\000\000\000"}, _M_manager = 0xffff95e4fad0 <std::_Function_handler<bool(ObjectInstance*), ObjectInstance::update_heap_wrapper_weak_pointers(JSTracer*, JS::Compartment*, void*)::<lambda(ObjectInstance*)> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xffff95e506f0 <std::_Function_handler<bool(ObjectInstance*), ObjectInstance::update_heap_wrapper_weak_pointers(JSTracer*, JS::Compartment*, void*)::<lambda(ObjectInstance*)> >::_M_invoke(const std::_Any_data &, ObjectInstance *&&)>}
        __result = 0xaaab1265a9f0
#19 operator() (link=0xaaab13ba0ee0, __closure=0xffffc4ab3f00) at ../gi/object.cpp:1307
        action = {<std::_Maybe_unary_or_binary_function<void, ObjectInstance*>> = {<std::unary_function<ObjectInstance*, void>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xffff95e49a50 <ObjectInstance::disassociate_js_gobject()>, _M_const_object = 0xffff95e49a50 <ObjectInstance::disassociate_js_gobject()>, _M_function_pointer = 0xffff95e49a50 <ObjectInstance::disassociate_js_gobject()>, _M_member_pointer = (void (std::_Undefined_class::*)(class std::_Undefined_class * const)) 0xffff95e49a50 <ObjectInstance::disassociate_js_gobject()>}, _M_pod_data = "P\232\344\225\377\377\000\000\000\000\000\000\000\000\000"}, _M_manager = 0xffff95e4f9f0 <std::_Function_handler<void (ObjectInstance*), std::_Mem_fn<void (ObjectInstance::*)()> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0xffff95e4fa90 <std::_Function_handler<void (ObjectInstance*), std::_Mem_fn<void (ObjectInstance::*)()> >::_M_invoke(std::_Any_data const&, ObjectInstance*&&)>}
        predicate = {<std::_Maybe_unary_or_binary_function<bool, ObjectInstance*>> = {<std::unary_function<ObjectInstance*, bool>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xffffc4ab4038, _M_const_object = 0xffffc4ab4038, _M_function_pointer = 0xffffc4ab4038, _M_member_pointer = (void (std::_Undefined_class::*)(class std::_Undefined_class * const)) 0xffffc4ab4038}, _M_pod_data = "8@\253\304\377\377\000\000\000\000\000\000\000\000\000"}, _M_manager = 0xffff95e4fad0 <std::_Function_handler<bool(ObjectInstance*), ObjectInstance::update_heap_wrapper_weak_pointers(JSTracer*, JS::Compartment*, void*)::<lambda(ObjectInstance*)> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xffff95e506f0 <std::_Function_handler<bool(ObjectInstance*), ObjectInstance::update_heap_wrapper_weak_pointers(JSTracer*, JS::Compartment*, void*)::<lambda(ObjectInstance*)> >::_M_invoke(const std::_Any_data &, ObjectInstance *&&)>}
        __result = 0xaaab1265a9f0
#20 __gnu_cxx::__ops::_Iter_pred<ObjectInstance::remove_wrapped_gobjects_if(const Predicate&, const Action&)::<lambda(ObjectInstance*)> >::operator()<__gnu_cxx::__normal_iterator<ObjectInstance**, std::vector<ObjectInstance*> > > (__it=Python Exception <class 'gdb.error'>: value has been optimized out

   , this=0xffffc4ab3f00) at /usr/include/c++/13/bits/predefined_ops.h:318
        __result = 0xaaab1265a9f0
#21 std::__remove_if<__gnu_cxx::__normal_iterator<ObjectInstance**, std::vector<ObjectInstance*> >, __gnu_cxx::__ops::_Iter_pred<ObjectInstance::remove_wrapped_gobjects_if(const Predicate&, const Action&)::<lambda(ObjectInstance*)> > >
    (__pred=..., __last=0xff353535ff353535, __first=0xaaab13ba0ee0) at /usr/include/c++/13/bits/stl_algobase.h:2142
        __result = 0xaaab1265a9f0
#22 std::remove_if<__gnu_cxx::__normal_iterator<ObjectInstance**, std::vector<ObjectInstance*> >, ObjectInstance::remove_wrapped_gobjects_if(const Predicate&, const Action&)::<lambda(ObjectInstance*)> > (__pred=..., __last=Python Exception <class 'gdb.error'>: value has been optimized out
, __first=Python Exception <class 'gdb.error'>: value has been optimized out
)
    at /usr/include/c++/13/bits/stl_algo.h:880
#23 ObjectInstance::remove_wrapped_gobjects_if(std::function<bool (ObjectInstance*)> const&, std::function<void (ObjectInstance*)> const&) [clone .constprop.0] (predicate=..., action=...) at ../gi/object.cpp:1303
#24 0x0000ffff95e47550 [PAC] in ObjectInstance::update_heap_wrapper_weak_pointers(JSTracer*, JS::Compartment*, void*)
    (trc=<optimized out>) at ../gi/object.cpp:1600
#25 0x0000ffff93f389cc [PAC] in js::gc::GCRuntime::callWeakPointerCompartmentCallbacks(JSTracer*, JS::Compartment*) const
    (comp=<optimized out>, trc=<optimized out>, this=0xaaab1200ef40)
    at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/GC.cpp:1500
        p = @0xaaab1200fe00: {op = 0xffff95e474b0 <ObjectInstance::update_heap_wrapper_weak_pointers(JSTracer*, JS::Compartment*, void*)>, data = 0x0}
        __for_range = @0xaaab1200fde8: {<js::SystemAllocPolicy> = {<js::AllocPolicyBase> = {<No data fields>}, <No data fields>}, static kElemIsPod = false, static kMaxInlineBytes = 999, static kInlineCapacity = 4, mBegin = 0xaaab1200fe00, mLength = 1, mTail = {<mozilla::Vector<js::gc::Callback<void (*)(JSTracer*, JS::Compartment*, void*)>, 4, js::SystemAllocPolicy>::CapacityAndReserved> = {mCapacity = 4}, mBytes = "\260t\344\225\377\377", '\000' <repeats 57 times>}, static sMaxInlineStorage = <optimized out>}
        __for_begin = 0xaaab1200fe00
        __for_end = 0xaaab1200fe10
        comp = {zone = <optimized out>, it = 0xaaab1208fc28}
        zone = {current = 0xaaab1208f320}
        scc = {stats = @0xaaab1200efc0, scc = 1, start = {mValue = 1933144400618}}
        sweepingAtoms = <optimized out>
        threadIsSweeping = {<js::gc::AutoSetThreadGCUseT<(js::gc::GCUse)3>> = {<js::gc::AutoSetThreadGCUse> = {gcx = 0xaaab1200ef50, prevUse = js::gc::GCUse::Sweeping}, <No data fields>}, <No data fields>}
#26 js::gc::GCRuntime::sweepEmbeddingWeakPointers(JS::GCContext*) (gcx=0xaaab1200ef50, this=0xaaab1200ef40)
    at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/Sweeping.cpp:1472
        comp = {zone = <optimized out>, it = 0xaaab1208fc28}
        zone = {current = 0xaaab1208f320}
        scc = {stats = @0xaaab1200efc0, scc = 1, start = {mValue = 1933144400618}}
        sweepingAtoms = <optimized out>
        threadIsSweeping = {<js::gc::AutoSetThreadGCUseT<(js::gc::GCUse)3>> = {<js::gc::AutoSetThreadGCUse> = {gcx = 0xaaab1200ef50, prevUse = js::gc::GCUse::Sweeping}, <No data fields>}, <No data fields>}
#27 js::gc::GCRuntime::beginSweepingSweepGroup(JS::GCContext*, js::SliceBudget&)
    (this=0xaaab1200ef40, gcx=0xaaab1200ef50, budget=<optimized out>)
    at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/Sweeping.cpp:1538
        scc = {stats = @0xaaab1200efc0, scc = 1, start = {mValue = 1933144400618}}
        sweepingAtoms = <optimized out>
        threadIsSweeping = {<js::gc::AutoSetThreadGCUseT<(js::gc::GCUse)3>> = {<js::gc::AutoSetThreadGCUse> = {gcx = 0xaaab1200ef50, prevUse = js::gc::GCUse::Sweeping}, <No data fields>}, <No data fields>}
#28 0x0000ffff93f2c134 [PAC] in sweepaction::SweepActionSequence::run(js::gc::SweepAction::Args&)
    (this=0xaaab12022130, args=...) at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/Sweeping.cpp:2128
#29 0x0000ffff93f41f40 [PAC] in sweepaction::SweepActionForEach<js::gc::SweepGroupsIter, JSRuntime*>::run(js::gc::SweepAction::Args&) (this=0xaaab120221f0, args=...) at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/Sweeping.cpp:2163
        clearElem = {mExitFunction = {__this = 0xaaab120221f0}, mExecuteOnDestruction = true}
#30 0x0000ffff93f0a17c [PAC] in js::gc::GCRuntime::performSweepActions(js::SliceBudget&) (budget=..., this=0xaaab1200ef40)
    at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/Sweeping.cpp:2305
        s = {<js::AutoGeckoProfilerEntry> = {profilingStack_ = 0x0}, <No data fields>}
        sweepProgress = <optimized out>
        gcx = 0xaaab1200ef50
        args = {gc = 0xaaab1200ef40, gcx = 0xaaab1200ef50, budget = @0xffffc4ab4a68}
        performingGC = {<js::gc::AutoSetThreadGCUse> = {gcx = 0xaaab1200ef50, prevUse = js::gc::GCUse::None}, <No data fields>}
        session = {<js::gc::AutoHeapSession> = {gc = 0xaaab1200ef40, prevState = JS::HeapState::Idle, profilingStackFrame = {<mozilla::detail::MaybeStorage<js::AutoGeckoProfilerEntry, false>> = {<mozilla::detail::MaybeStorageBase<js::AutoGeckoProfilerEntry, false>> = {mStorage = {val = {profilingStack_ = 0x0}}}, mIsSome = 1 '\001'}, <mozilla::detail::Maybe_CopyMove_Enabler<js::AutoGeckoProfilerEntry, false, true, true>> = {<No data fields>}, <No data fields>}}, <No data fields>}
        shouldPauseMutator = <optimized out>
#31 js::gc::GCRuntime::incrementalSlice(js::SliceBudget&, JS::GCReason, bool)
    (this=this@entry=0xaaab1200ef40, budget=..., reason=JS::GCReason::MEM_PRESSURE, budgetWasIncreased=budgetWasIncreased@entry=false) at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/GC.cpp:3668
        performingGC = {<js::gc::AutoSetThreadGCUse> = {gcx = 0xaaab1200ef50, prevUse = js::gc::GCUse::None}, <No data fields>}
        session = {<js::gc::AutoHeapSession> = {gc = 0xaaab1200ef40, prevState = JS::HeapState::Idle, profilingStackFrame = {<mozilla::detail::MaybeStorage<js::AutoGeckoProfilerEntry, false>> = {<mozilla::detail::MaybeStorageBase<js::AutoGeckoProfilerEntry, false>> = {mStorage = {val = {profilingStack_ = 0x0}}}, mIsSome = 1 '\001'}, <mozilla::detail::Maybe_CopyMove_Enabler<js::AutoGeckoProfilerEntry, false, true, true>> = {<No data fields>}, <No data fields>}}, <No data fields>}
        shouldPauseMutator = <optimized out>
#32 0x0000ffff93f0c5c4 [PAC] in js::gc::GCRuntime::gcCycle(bool, js::SliceBudget const&, JS::GCReason)
    (this=this@entry=0xaaab1200ef40, nonincrementalByAPI=nonincrementalByAPI@entry=true, budgetArg=..., reason=<optimized out>, reason@entry=JS::GCReason::MEM_PRESSURE) at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/GC.cpp:4179
        budget = {idle = false, extended = false, static UnlimitedCounter = 9223372036854775807, static StepsPerExpensiveCheck = 1000, budget = {static RawDataAlignment = 8, static RawDataSize = 16, rawData = "\240J\253\304\377\377\000\000\220(\202\225\377\377\032", tag = 2 '\002'}, interruptRequested = 0x0, counter = 9223372036854598284, interrupted = false}
        budgetWasIncreased = false
        agc = {stats = @0xaaab1200efc0}
        result = <optimized out>
#33 0x0000ffff93f0cf3c [PAC] in js::gc::GCRuntime::collect(bool, js::SliceBudget const&, JS::GCReason)
    (this=0xaaab1200ef40, nonincrementalByAPI=true, budget=..., reason=JS::GCReason::MEM_PRESSURE)
    at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/GC.cpp:4366
        cycleResult = <optimized out>
        startTime = {mValue = 1933127970095}
        leaveAtomsZone = {cx_ = 0xaaab12017e20, wasInAtomsZone_ = false}
        repeat = <optimized out>
#34 0x0000ffff93daaf28 [PAC] in js::gc::GCRuntime::gc(JS::GCOptions, JS::GCReason)
    (reason=JS::GCReason::MEM_PRESSURE, options=JS::GCOptions::Normal, this=<optimized out>)
    at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/gc/GC.cpp:4444
#35 JS_GC(JSContext*, JS::GCReason) (cx=0xaaab12017e20, reason=reason@entry=JS::GCReason::MEM_PRESSURE)
    at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/jsapi.cpp:1308
#36 0x0000ffff95e6b11c [PAC] in GjsContextPrivate::trigger_gc_if_needed(void*) (data=data@entry=0xaaab1200e810)
    at ../gjs/context.cpp:876
        gjs = 0xaaab1200e810
#37 0x0000ffff960d0cc8 [PAC] in g_timeout_dispatch
    (source=0xaaab12aa55c0, callback=0xffff95e6b0f0 <GjsContextPrivate::trigger_gc_if_needed(void*)>, user_data=0xaaab1200e810)
    at ../glib/gmain.c:5121
        timeout_source = 0xaaab12aa55c0
        again = <optimized out>
#38 0x0000ffff960d0360 [PAC] in g_main_dispatch (context=0xaaab11fe9650) at ../glib/gmain.c:3476
        dispatch = 0xffff960d0c94 <g_timeout_dispatch>
        begin_time_nsec = 1933127966886
        was_in_call = 0
        user_data = 0xaaab1200e810
        callback = 0xffff95e6b0f0 <GjsContextPrivate::trigger_gc_if_needed(void*)>
        cb_funcs = 0xffff961f0358 <g_source_callback_funcs>
        cb_data = 0xaaab16012de0
        need_destroy = <optimized out>
        source = 0xaaab12aa55c0
        current = 0xaaab11fc15c0
        i = 0
#39 g_main_context_dispatch_unlocked (context=0xaaab11fe9650) at ../glib/gmain.c:4284
#40 0x0000ffff9612e5fc [PAC] in g_main_context_iterate_unlocked.isra.0
    (context=0xaaab11fe9650, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
        max_priority = 2147483647
        timeout = 146
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 16
        fds = 0xaaab15f352f0
#41 0x0000ffff960d1ab4 [PAC] in g_main_loop_run (loop=0xaaab124c20e0) at ../glib/gmain.c:4551
        __func__ = "g_main_loop_run"
#42 0x0000ffff95a358a4 [PAC] in meta_context_run_main_loop (context=<optimized out>, error=0xffffc4ab51b0)
    at ../src/core/meta-context.c:514
        priv = 0xaaab11fe1000
        __func__ = "meta_context_run_main_loop"
#43 0x0000ffff9481c050 [PAC] in ffi_call_SYSV () at ../src/aarch64/sysv.S:127
#44 0x0000ffff948163ac in ffi_call_int
    (cif=0xaaab125b30f0, fn=<optimized out>, orig_rvalue=0xaaab12017e38, avalue=0xaaab125b2710, closure=0xffffc4ab5208)
    at ../src/aarch64/ffi.c:816
        context = <optimized out>
        stack = <optimized out>
        frame = 0x2
        rvalue = 0xffffc4ab5120
        state = {ngrn = 2, nsrn = 2373675376, nsaa = 0, next_struct_area = 281473981305264}
        stack_bytes = <optimized out>
        rtype_size = <optimized out>
        rsize = <optimized out>
        i = <optimized out>
        nargs = <optimized out>
        flags = 302087816
        isvariadic = 43691
        rtype = <optimized out>
#45 0x0000ffff95e30818 [PAC] in Gjs::Function::invoke(JSContext*, JS::CallArgs const&, JS::Handle<JSObject*>, _GIArgument*)
    (this=0xaaab125b30d0, context=context@entry=0xaaab12017e20, args=..., this_obj=..., r_value=r_value@entry=0x0)
    at ../gi/function.cpp:1058
        return_value_p = <optimized out>
        return_value = {v_boolean = -995405304, v_int8 = 8 '\b', v_uint8 = 8 '\b', v_int16 = 21000, v_uint16 = 21000, v_int32 = -995405304, v_uint32 = 3299561992, v_int64 = 281473981305352, v_uint64 = 281473981305352, v_float = -1370.56348, v_double = 1.3906662436113569e-309, v_short = 21000, v_ushort = 21000, v_int = -995405304, v_uint = 3299561992, v_long = 281473981305352, v_ulong = 281473981305352, v_ssize = 281473981305352, v_size = 281473981305352, v_string = 0xffffc4ab5208 "", v_pointer = 0xffffc4ab5208}
        ffi_argc = 2
        state = Python Exception <class 'gdb.error'>: No type named std::__detail::_Hash_node<union _GIArgument *, false>.
{m_in_cvalues = {m_ptr = 0xaaab1254ffa0}, m_out_cvalues = {m_ptr = 0xaaab125b2610}, m_inout_original_cvalues = {m_ptr = 0xaaab125b1300}, ignore_release = std::unordered_set with 0 elements, instance_object = {<js::TypedRootedGCThingBase<js::StackRootedBase, JSObject*>> = {<js::StackRootedBase> = {stack = 0xaaab12017e38, prev = 0xffffc4ab5240}, <No data fields>}, <js::RootedOperations<JSObject*, JS::Rooted<JSObject*> >> = {<js::MutableWrappedPtrOperations<JSObject*, JS::Rooted<JSObject*> >> = {<js::WrappedPtrOperations<JSObject*, JS::Rooted<JSObject*>, void>> = {<No data fields>}, <No data fields>}, <No data fields>}, ptr = 0x142a8d7b6970}, return_values = {<JS::Rooted<JS::StackGCVector<JS::Value, js::TempAllocPolicy> >> = {<js::TypedRootedTraceableBase<js::StackRootedTraceableBase, JS::StackGCVector<JS::Value, js::TempAllocPolicy> >> = {<js::StackRootedTraceableBase> = {<js::StackRootedBase> = {stack = 0xaaab12017e90, prev = 0xffffc4ab55a0}, <js::VirtualTraceable> = {_vptr.VirtualTraceable = 0xffff95f59aa0 <vtable for JS::RootedVector<JS::Value>+16>}, <No data fields>}, <No data fields>}, <js::RootedOperations<JS::StackGCVector<JS::Value, js::TempAllocPolicy>, JS::Rooted<JS::StackGCVector<JS::Value, js::TempAllocPolicy> > >> = {<js::MutableWrappedPtrOperations<JS::StackGCVector<JS::Value, js::TempAllocPolicy>, JS::Rooted<JS::StackGCVector<JS::Value, js::TempAllocPolicy> > >> = {<js::MutableWrappedPtrOperations<JS::GCVector<JS::Value, 8, js::TempAllocPolicy>, JS::Rooted<JS::StackGCVector<JS::Value, js::TempAllocPolicy> > >> = {<js::WrappedPtrOperations<JS::GCVector<JS::Value, 8, js::TempAllocPolicy>, JS::Rooted<JS::StackGCVector<JS::Value, js::TempAllocPolicy> >, void>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, ptr = {<JS::GCVector<JS::Value, 8, js::TempAllocPolicy>> = {vector = {<js::TempAllocPolicy> = {<js::AllocPolicyBase> = {<No data fields>}, static JsContextTag = 1, context_bits_ = 187651718217249}, static kElemIsPod = false, static kMaxInlineBytes = 992, static kInlineCapacity = 8, mBegin = 0xffffc4ab5170, mLength = 0, mTail = {<mozilla::Vector<JS::Value, 8, js::TempAllocPolicy>::CapacityAndReserved> = {mCapacity = 8}, mBytes = "\240s\017\022\253\252\000\000\030R\253\304\377\377\000\000\230Yȓ\377\3774\000\240s\017\022\253\252\000\000\030R\253\304\377\377\000\000(\224e\224\377\377\000\0008\226e\224\377\377\000\000\360R\253\304\377\377\000"}}}, <No data fields>}}, <No data fields>}, local_error = {<GjsAutoPointer<_GError, _GError, g_error_free, GjsAutoErrorFuncs::error_copy>> = {m_ptr = 0x0}, <No data fields>}, info = 0xaaab125b3080, gi_argc = 0 '\000', processed_c_args = 1 '\001', failed = false, can_throw_gerror = true, is_method = true}
        ffi_arg_pointers = std::unique_ptr<void *[]> = {get() = 0xaaab125b2710}
        gi_arg_pos = <optimized out>
        ffi_arg_pos = 2
        js_arg_pos = <optimized out>
        obj = {<js::TypedRootedGCThingBase<js::StackRootedBase, JSObject*>> = {<js::StackRootedBase> = {stack = 0xaaab12017e38, prev = 0xffffc4ab5120}, <No data fields>}, <js::RootedOperations<JSObject*, JS::Rooted<JSObject*> >> = {<js::MutableWrappedPtrOperations<JSObject*, JS::Rooted<JSObject*> >> = {<js::WrappedPtrOperations<JSObject*, JS::Rooted<JSObject*>, void>> = {<No data fields>}, <No data fields>}, <No data fields>}, ptr = 0x142a8d7b6970}
        dynamicString = "MetaContextMain.method Meta.Context.run_main_loop"
        label = {m_stack = 0x0}
        errorp = 0xffffc4ab51b0
        return_type = <optimized out>
#46 0x0000ffff95e3aa0c [PAC] in Gjs::Function::call(JSContext*, unsigned int, JS::Value*)
    (context=0xaaab12017e20, js_argc=<optimized out>, vp=<optimized out>) at ../gi/function.cpp:1236
        js_argv = {<JS::detail::CallArgsBase<JS::detail::IncludeUsedRval>> = {argv_ = 0xaaab120f5b68, argc_ = 0, constructing_ = false, ignoresReturnValue_ = false}, <No data fields>}
        callee = {<js::TypedRootedGCThingBase<js::StackRootedBase, JSObject*>> = {<js::StackRootedBase> = {stack = 0xaaab12017e38, prev = 0xffffc4ab5478}, <No data fields>}, <js::RootedOperations<JSObject*, JS::Rooted<JSObject*> >> = {<js::MutableWrappedPtrOperations<JSObject*, JS::Rooted<JSObject*> >> = {<js::WrappedPtrOperations<JSObject*, JS::Rooted<JSObject*>, void>> = {<No data fields>}, <No data fields>}, <No data fields>}, ptr = 0x142a8d7afa10}
        priv = <optimized out>
#47 0x0000ffff93b7a840 [PAC] in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)
    (args=..., reason=js::CallReason::Call, native=0xffff95e3a900 <Gjs::Function::call(JSContext*, unsigned int, JS::Value*)>, cx=0xaaab12017e20) at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/vm/Interpreter.cpp:486
        recursion = {<No data fields>}
        resumeMode = <optimized out>
        ar = {cx_ = 0xaaab12017e20, origin_ = <optimized out>}
        ok = <optimized out>
        call = 0xffff95e3a900 <Gjs::Function::call(JSContext*, unsigned int, JS::Value*)>
        skipForCallee = <optimized out>
        fun = {<js::TypedRootedGCThingBase<js::StackRootedBase, JSFunction*>> = {<js::StackRootedBase> = {stack = 0xaaab12017e38, prev = 0xffffc4ab5478}, <No data fields>}, <js::RootedOperations<JSFunction*, JS::Rooted<JSFunction*> >> = {<js::MutableWrappedPtrOperations<JSFunction*, JS::Rooted<JSFunction*> >> = {<js::WrappedPtrOperations<JSFunction*, JS::Rooted<JSFunction*>, void>> = {<No data fields>}, <No data fields>}, <No data fields>}, ptr = 0x142a8d7b6970}
        state = {<js::RunState> = {kind_ = (unknown: 0x12017e88), script_ = {<js::TypedRootedGCThingBase<js::StackRootedBase, JSScript*>> = {<js::StackRootedBase> = {stack = 0xffffc4ab54c0, prev = 0xfffe142a8d7b6970}, <No data fields>}, <js::RootedOperations<JSScript*, JS::Rooted<JSScript*> >> = {<js::MutableWrappedPtrOperations<JSScript*, JS::Rooted<JSScript*> >> = {<js::WrappedPtrOperations<JSScript*, JS::Rooted<JSScript*>, void>> = {<No data fields>}, <No data fields>}, <No data fields>}, ptr = 0xaaab12017e80}}, args_ = @0xffffc4ab5430, construct_ = (unknown: 0x8d77b220)}
        ok = <optimized out>
#48 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)
    (cx=0xaaab12017e20, args=..., construct=<optimized out>, reason=js::CallReason::Call)
    at /usr/src/debug/mozjs115-115.4.0-1.fc39.aarch64/vm/Interpreter.cpp:566
        call = 0xffff95e3a900 <Gjs::Function::call(JSContext*, unsigned int, JS::Value*)>
        skipForCallee = <optimized out>
        fun = {<js::TypedRootedGCThingBase<js::StackRootedBase, JSFunction*>> = {<js::StackRootedBase> = {stack = 0xaaab12017e38, prev = 0xffffc4ab5478}, <No data fields>}, <js::RootedOperations<JSFunction*, JS::Rooted<JSFunction*> >> = {<js::MutableWrappedPtrOperations<JSFunction*, JS::Rooted<JSFunction*> >> = {<js::WrappedPtrOperations<JSFunction*, JS::Rooted<JSFunction*>, void>> = {<No data fields>}, <No data fields>}, <No data fields>}, ptr = 0x142a8d7b6970}
[...]

Looks like the GNOME explosions have something to do with Zink trying to load. I could repro the mutter crashes and sudo rm /usr/lib64/dri/zink_dri.so fixes it. Can we check how many of the mentioned bugs go away with that?

Nice find @marcan! Both the lid close/open issue in GNOME Wayland and these constant GNOME Xorg mutter crashes disappeared for me after removing /usr/lib64/dri/zink_dri.so.

Edit: I guess this log already indicated that being the problem.

Sorry, I was too quick in declaring the lid close/open issue fixed. My GNOME Wayland session crashed again after having the lid closed for a couple of minutes and then unlocking/logging in again.

See this new stack trace.

Congrats: you have found a glibc bug

Also reported upstream (but never followed up on) over a year ago, on x86, with exactly the same crash case: 29039 – _dl_tlsdesc_dynamic (sometimes) returns garbage offsets

I don’t know about the lid closing one though, it sounds like an unrelated GNOME bug. You probably want to report that one upstream. The stack trace there is 100% GNOME stuff.

OK, the glibc issue is identified and reported:

https://bugzilla.redhat.com/show_bug.cgi?id=2251557

Confirmed that patch fixes the Mutter crashloops. The suspend issue seems unrelated, so let’s continue on the other thread.

That’s amazing @marcan!

I can happily report I’m back on Gnome and everything is working great. Thanks @marcan. In other news, Plasma 6 is working pretty nicely.