Unplugging my laptop from its docking station intermittently crashes gnome-shell

Unplugging my laptop from its docking station intermittently crashes gnome-shell, which ends the whole Wayland session and all running apps. It has happened 5 times this month (Sep 10, 20, 21, 22, 29), each with the identical assertion.

System

  • Zorin OS 18.1, Wayland session
  • Lenovo ThinkPad X1 Yoga Gen 7, Intel Iris Xe (Alder Lake-P)
  • Kernel 7.0.0-34-generic
  • gnome-shell 46.0-0ubuntu6~24.04.14+zorin1
  • libmutter-14-0 46.2-1ubuntu0.24.04.16+zorin1
  • Docked with 2 external monitors (one is a Lenovo T32h-30)
  • Zorin Tiling Shell extension 17.3 enabled, plus the default Zorin extensions and windowIsReady_Remover

Steps

  1. Work docked with laptop panel plus 2 external monitors.
  2. Unplug the dock.
  3. Sometimes, within a few seconds, the session crashes to the login screen.

Journal (today's crash)

08:25:53 gnome-shell: meta_monitor_manager_get_logical_monitor_from_number: assertion '(unsigned int) number < g_list_length (manager->logical_monitors)' failed
08:25:53 gnome-shell: meta_workspace_get_work_area_for_monitor: assertion 'logical_monitor != NULL' failed
   (repeated several times)
08:25:59 gnome-shell: [tilingshell] [extension] building a tiling manager for each monitor
   (3 monitors, then at 08:26:01 only monitor 0)
08:26:01 gnome-shell: (same two assertion warnings, repeated)
08:26:01 gnome-shell: Failed to find colord device xrandr-Lenovo Group Limited-T32h-30-V30B2K0Y
08:26:02 gnome-shell: libmutter:ERROR:../src/core/window.c:5957:meta_window_get_work_area_for_logical_monitor: assertion failed: (logical_monitor)
08:26:02 gnome-shell: Bail out! libmutter:ERROR:../src/core/window.c:5957:meta_window_get_work_area_for_logical_monitor: assertion failed: (logical_monitor)
08:26:05 systemd: org.gnome.Shell@wayland.service: Main process exited, code=dumped, status=6/ABRT

Backtrace of main thread (coredumpctl)

#4  g_assertion_message_expr (libglib-2.0.so.0)
#5  libmutter-14.so.0 + 0xeb5db
#6  libmutter-14.so.0 + 0xf2122
#7  libmutter-14.so.0 + 0x16a705
#8-10  libffi (ffi_call)
#11-13 libwayland-server.so.0 (wl_event_loop_dispatch)
#14 libmutter-14.so.0 + 0x14422b
#17 g_main_loop_run
#18 meta_context_run_main_loop

The abort happens while mutter dispatches a Wayland client request, for a window that apparently still points to a logical monitor that was just removed. I could not symbolize the libmutter frames because debug symbols for the +zorin1 build are not on debuginfod.ubuntu.com. If a dbgsym package exists, I am happy to provide a full backtrace. I have the core dump and can share it privately if useful.

Possibly related: the earlier assertion warnings come from meta_workspace_get_work_area_for_monitor with a stale monitor index, which the Tiling Shell extension calls when it rebuilds its per-monitor layouts. I have now disabled the extension and will report back whether undocking still crashes.

1 Like

Hello and welcome,
Did you try to switch to Xorg ?

2 Likes

Welcome to the Forum!

Switching to Xorg like @Nourpon suggested should be worth a Try to test.

In common I can imagine that because of Your Setup the System might not be able to process the Disconnection with this Dock. Is it maybe possible that You make a Picture of Your Setup?

that mutter assert is firing while tilingshell is rebuilding managers right after the dock yank.

id try:
-disable Zorin Tiling Shell
-undock once and see if the session sticks
-journalctl -b --no-pager | rg -i 'tilingshell|logical_monitor|Bail out'

if it still ABRTs w/ tiling off, login gear → Ubuntu on Xorg for undock days.

Hi, can you use the preformatted text option when posting code? It makes life easier for posters to copy and paste into the terminal.


:wink:

3 Likes

Zorin Desktop on Xorg.