gnome-shell crashes when logging out of wayland session
Still an issue with mutter/gnome-shell 42.1-1 at Debian Testing Linux debian 5.17.0-1-686-pae #1 (closed) SMP PREEMPT Debian 5.17.3-1 (2022-04-18) i686 GNU/Linux
Gnome-shell aborts at logout and shutdown, with log messages as shown below. Abort is a forced abort at clutter with message: Bail out! Clutter:ERROR:../clutter/clutter/clutter-main.c:490:_clutter_context_get_default: assertion failed: (ClutterCntx)
Stacktrace shows the abort is initiated by calling _shell_global_destroy_gjs_context() at src/main.c (package gnome-shell).
Just before the abort the function meta_context_destroy() was excuted, which calls clutter_context_free() to free ClutterCntx!
Calling meta_context_destroy() after _shell_global_destroy_gjs_context() looks logical, but causes a lot of messages at shell_global_destroy_gjs_context() and SIGSEGN at meta_context_destroy().
Gnome-shell terminates without a problem, if shell_global_destroy_gjs_context() is not called at all.
Is it really necessary to call this routine at exit? If it aborts it is also not executed!
Unfortunately initially an incomplete core-dump was generated, because file org.gnome.Shell@wayland.service contains TimeoutStopSec of only 5. After enlarging this and compiling mutter the backtrace below could be made at logout. Coredump still was truncated at shutdown.
May 31 00:42:36 debian systemd[1367]: Stopped target GNOME Shell. May 31 00:42:36 debian systemd[1367]: Stopping GNOME Shell on Wayland... May 31 00:42:36 debian tracker-miner-f[1432]: Owner of volume monitor org.gtk.vfs.AfcVolumeMonitor disconnected from the bus; removing drives/volumes/mounts May 31 00:42:36 debian tracker-miner-f[1432]: Owner of volume monitor org.gtk.vfs.GPhoto2VolumeMonitor disconnected from the bus; removing drives/volumes/mounts May 31 00:42:36 debian systemd[1367]: Stopped GNOME Session Manager (session: gnome). May 31 00:42:36 debian tracker-miner-f[1432]: Owner of volume monitor org.gtk.vfs.GoaVolumeMonitor disconnected from the bus; removing drives/volumes/mounts May 31 00:42:36 debian tracker-miner-f[1432]: Owner of volume monitor org.gtk.vfs.UDisks2VolumeMonitor disconnected from the bus; removing drives/volumes/mounts May 31 00:42:36 debian tracker-miner-f[1432]: Owner of volume monitor org.gtk.vfs.MTPVolumeMonitor disconnected from the bus; removing drives/volumes/mounts May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_remove: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_remove: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_remove: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_remove: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: meta_later_add: assertion 'display' failed May 31 00:42:36 debian gnome-shell[1475]: clutter_actor_iter_next: assertion 'ri->age == ri->root->priv->age' failed May 31 00:42:36 debian gnome-shell[1475]: ** May 31 00:42:36 debian gnome-shell[1475]: Clutter:ERROR:../clutter/clutter/clutter-main.c:490:_clutter_context_get_default: assertion failed: (ClutterCntx) May 31 00:42:36 debian gnome-shell[1475]: Bail out! Clutter:ERROR:../clutter/clutter/clutter-main.c:490:_clutter_context_get_default: assertion failed: (ClutterCntx) May 31 00:42:36 debian gnome-shell[1475]: == Stack trace for context 0xaec076b0 == May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: State 'stop-sigterm' timed out. Killing. May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: Killing process 1475 (gnome-shell) with signal SIGKILL. May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: Killing process 1484 (gmain) with signal SIGKILL. May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: Killing process 1486 (gdbus) with signal SIGKILL. May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: Killing process 1487 (dconf worker) with signal SIGKILL. May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: Killing process 1495 (JS Helper) with signal SIGKILL. May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: Killing process 1496 (JS Helper) with signal SIGKILL. May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: Killing process 1770 (pool-gnome-shel) with signal SIGKILL. May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: Killing process 1771 (pool-gnome-shel) with signal SIGKILL. May 31 00:42:41 debian systemd[1367]: org.gnome.Shell@wayland.service: Killing process 2360 (pool-gnome-shel) with signal SIGKILL. May 31 00:42:46 debian systemd[1367]: org.gnome.Shell@wayland.service: Main process exited, code=killed, status=9/KILL May 31 00:42:46 debian systemd[1367]: org.gnome.Shell@wayland.service: Failed with result 'timeout'. May 31 00:42:46 debian systemd[1367]: Stopped GNOME Shell on Wayland. Core was generated by `/usr/bin/gnome-shell'. Program terminated with signal SIGABRT, Aborted. #0 0xb7f8f559 in __kernel_vsyscall () [Current thread is 1 (Thread 0xb03adc00 (LWP 6007))] (gdb) bt #0 0xb7f8f559 in __kernel_vsyscall () #1 0xb68438f6 in __libc_signal_restore_set (set=0xbf83004c) at ../sysdeps/unix/sysv/linux/internal-signals.h:105 #2 __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:47 #3 0x0049f212 in () #4 0xb7f8f564 in <signal handler called> () #5 0xb7f8f559 in __kernel_vsyscall () #6 0xb68438f6 in __libc_signal_restore_set (set=0xbf8307cc) at ../sysdeps/unix/sysv/linux/internal-signals.h:105 #7 __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:47 #8 0xb682c30b in __GI_abort () at abort.c:79 #9 0xb78f9dca in () at /lib/i386-linux-gnu/libglib-2.0.so.0 #10 0xb795aeac in g_assertion_message_expr () at /lib/i386-linux-gnu/libglib-2.0.so.0 #11 0xb6d7a093 in _clutter_context_get_default () at ../clutter/clutter/clutter-main.c:490 #12 0xb6d460de in clutter_get_default_backend () at ../clutter/clutter/clutter-backend.c:529 #13 0xb6d28555 in clutter_actor_dispose (object=0x2660280) at ../clutter/clutter/clutter-actor.c:5541 #14 0xb7a4ab12 in g_object_unref () at /lib/i386-linux-gnu/libgobject-2.0.so.0 #15 0xb6e727c4 in () at /lib/i386-linux-gnu/libgjs.so.0 #16 0xb6e771fe in () at /lib/i386-linux-gnu/libgjs.so.0 #17 0xb6e813bc in () at /lib/i386-linux-gnu/libgjs.so.0 #18 0xb3fdc000 in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #19 0xb3fe126b in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #20 0xb3fe14ff in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #21 0xb3fd48ab in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #22 0xb3fd549b in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #23 0xb3fd53f4 in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #24 0xb3fd5319 in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #25 0xb3fd53f4 in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #26 0xb3fe6723 in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #27 0xb3fec9ea in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #28 0xb400445e in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #29 0xb4004b3a in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #30 0xb4004f2c in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #31 0xb4005334 in () at /lib/i386-linux-gnu/libmozjs-91.so.0 #32 0xb3bb2511 in JS_GC(JSContext*, JS::GCReason) () at /lib/i386-linux-gnu/libmozjs-91.so.0 #33 0xb6e99d03 in () at /lib/i386-linux-gnu/libgjs.so.0 #34 0xb7a4ab12 in g_object_unref () at /lib/i386-linux-gnu/libgobject-2.0.so.0 #35 0xb7d16a1a in _shell_global_destroy_gjs_context () at /usr/lib/gnome-shell/libgnome-shell.so #36 0x0049e9b4 in () #37 0xb682d905 in __libc_start_main (main=0x49e510, argc=1, argv=0xbf831324, init= 0x49f290, fini=0x49f2f0, rtld_fini=0xb7fa2480 <_dl_fini>, stack_end=0xbf83131c) at ../csu/libc-start.c:332 #38 0x0049ebf1 in ()