Public bug reported:

## Summary

gnome-shell repeatedly aborts (SIGABRT) inside Mesa's gallium driver, in
dri_create_fence_fd(), called from libEGL_mesa.so.0 during
cogl_onscreen_swap_buffers_with_damage() in libmutter-cogl-14 (Mutter 46.0 /
GNOME Shell 46.0-0ubuntu6~24.04.14). The crash is fatal to the whole graphical
session: gnome-session treats it as an "Unrecoverable failure in required
component org.gnome.Shell.desktop", Xwayland (a mandatory dependency) is
killed as a result ("Connection to xwayland lost" / "Xwayland terminated,
exiting since it was mandatory"), and the entire session is torn down and
restarted by GDM. All running applications are closed without warning.

This has occurred twice in ~22 hours on the same machine, hitting both the
GDM greeter's gnome-shell instance (uid gdm) and the logged-in user's
gnome-shell instance (uid 1000), with the identical crash signature.

## System

- Ubuntu 24.04 (Noble), kernel 6.17.0-1025-oem (linux-oem-24.04b)
- Hardware: Lenovo ThinkPad T16 Gen 4 (21QECTO1WW), Intel Arrow Lake-U
  (Core Ultra), integrated GPU PCI ID 8086:7D41 (Xe2 / Xe-LPG)
- GPU driver: xe (forced via xe.force_probe=7D41 i915.force_probe=!7D41,
  applied to work around an earlier, unrelated i915 DMA-BUF leak)
- mesa-libgallium 25.2.8-0ubuntu0.24.04.1
- gnome-shell 46.0-0ubuntu6~24.04.14
- Wayland session

## Stack trace (identical in both occurrences)

```
#0  __pthread_kill_implementation (...) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (...) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (...) at ./nptl/pthread_kill.c:89
#3  0x... in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x... in __GI_abort () at ./stdlib/abort.c:79
#5  0x... in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#6  0x... in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#7  0x... in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#8  0x... in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#9  0x... in dri_create_fence_fd () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#10 0x... in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#11 0x... in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#12 0x... in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#13 0x... in ?? () from 
/usr/lib/x86_64-linux-gnu/mutter-14/libmutter-cogl-14.so.0
#14 0x... in cogl_onscreen_swap_buffers_with_damage () from 
/usr/lib/x86_64-linux-gnu/mutter-14/libmutter-cogl-14.so.0
#15 0x... in ?? () from /lib/x86_64-linux-gnu/libmutter-14.so.0
```

(Frames #5-#13 are unsymbolized — matching -dbgsym packages for
mesa-libgallium 25.2.8 do not appear to be available yet in ddebs.)

Since this is abort() rather than a segfault, it looks like an assertion or
an explicit unreachable()/abort path inside the gallium DRI fence-creation
code, not a wild memory access.

## Occurrence 1 — 2026-06-13 15:32:03

- gnome-shell (user session, uid 1000) crashed.
- Journal: "Connection to xwayland lost" / "Xwayland terminated, exiting
  since it was mandatory" at 15:32:03.
- Apport crash report: /var/crash/_usr_bin_gnome-shell.1000.crash
- Context: ~30 minutes earlier (14:59:37-15:02:08), Shmem/page-cache spiked
  from ~200MB to ~24GB in under 90 seconds, triggering the kernel OOM killer,
  which killed two Spotify (snap) processes. Memory returned to normal within
  seconds. It's possible (but not confirmed) that this memory event left the
  shared GPU/DRM buffer state in a bad state that caused the later crash —
  or the two events may be unrelated.

## Occurrence 2 — 2026-06-14 13:39:57 / 13:40:09

- GDM greeter's gnome-shell (uid gdm) crashed at 13:39:57.
- User session's gnome-shell (uid 1000) crashed ~12 seconds later, at
  13:40:09 ("Application 'org.gnome.Shell.desktop' killed by signal 6").
- Apport crash report: /var/crash/_usr_bin_gnome-shell.120.crash
- Context: memory was completely healthy at the time (>20GB available, no
  swap pressure, no OOM activity in the kernel log). So this occurrence rules
  out memory pressure as a necessary precondition.
- Side note: rtkit-daemon had not been running for the ~49h since boot
  (gnome-shell repeatedly logged "Failed to make thread 'KMS thread' realtime
  scheduled: ...RealtimeKit1 does not exist"); it auto-started at 13:40:09,
  coincident with the crash. Possibly incidental (on-demand D-Bus activation
  triggered by the new gnome-shell instance starting up), but noting it in
  case it's relevant.

## Possible trigger conditions

This machine normally runs in "clamshell mode": the laptop lid is kept
closed and an external monitor (HDMI-1, 3840x2160) is the only active
display. Both crashes occurred while operating in this configuration.

- Occurrence 2 (2026-06-14) coincides closely with a lid-reopen event:
  `systemd-logind` logged a flurry of "Lid opened"/"Lid closed" transitions
  between 13:39:12 and 13:40:20, and the gnome-shell crash hit at 13:39:57 —
  within ~40 seconds of the lid being reopened (i.e., the user returning to
  the machine after being away). This raises the possibility that a
  display-wake/output-reconfiguration path interacts badly with the
  buffer-swap code (`cogl_onscreen_swap_buffers_with_damage` /
  `dri_create_fence_fd`).
- Occurrence 1 (2026-06-13) does not show the same pattern: the last lid
  event before the crash was at 13:57:09 (lid closed), about 1.5 hours
  earlier, with no lid/resume activity logged near the 15:32:03 crash time.
- No DRM connector hotplug/unplug events were logged for the external
  monitor during this boot in either case — the external display appears to
  have stayed connected continuously, so a connect/disconnect event itself
  is not implicated.

Given occurrence 1 doesn't fit the lid-reopen pattern, this is offered as a
possible lead rather than a confirmed trigger — but the persistent
lid-closed/external-monitor configuration is common to both crashes and may
be relevant (e.g., if Mutter is managing a "virtual" internal panel state
alongside the real external output).

## Steps to reproduce

Not reliably reproducible on demand. Occurs roughly once a day during normal
desktop use (web browsing, Spotify, Thunderbird, terminal/editor use,
Docker containers running in the background). No specific user action was
being performed at either crash time that we're aware of.

## Additional info available on request

- Full apport .crash files for both occurrences (large, contain full core 
dumps).
- ~30-second-resolution process/memory logs (`ps`/`free` snapshots) around 
occurrence 1.

** Affects: mesa (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: libgallium xe

** Tags added: xe

** Tags added: libgallium

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2156739

Title:
  gnome-shell crashes with SIGABRT in dri_create_fence_fd() (mesa-
  libgallium 25.2.8) on Arrow Lake-U / Xe2 iGPU during
  cogl_onscreen_swap_buffers_with_damage

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/2156739/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to