Crash when switching wayland session with an active fullscreen game to another VT
I can quite reliably crash GNOME 40 Wayland session on Arch with an active full screen game when switching to another VT (TTY or another GNOME session).
System information:
Arch Linux
Linux 5.11.12 / 5.10.28
GNOME 40
mutter 40.0+24+ga796edd89
gnome-shell 40.0+30+gd3b28e72
mesa 21.0.2
amdgpu
Backtrace:
#0 0x00007f6783f9cef5 in raise () at /usr/lib/libc.so.6
#1 0x000055b41581ee22 in dump_gjs_stack_on_signal_handler (signo=6) at ../gnome-shell/src/main.c:349
#2 0x00007f6783f9cf80 in <signal handler called> () at /usr/lib/libc.so.6
#3 0x00007f6783f9cef5 in raise () at /usr/lib/libc.so.6
#4 0x00007f6783f86862 in abort () at /usr/lib/libc.so.6
#5 0x00007f6784dc3ddc in g_assertion_message (domain=<optimized out>, file=0x7f67842fe178 "../mutter/src/backends/native/meta-onscreen-native.c", line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../glib/glib/gtestutils.c:3065
#6 0x00007f6784e1dbdb in g_assertion_message_expr (domain=domain@entry=0x7f67842dce5e "mutter", file=file@entry=0x7f67842fe178 "../mutter/src/backends/native/meta-onscreen-native.c", line=line@entry=204, func=func@entry=0x7f67842ff8a0 <__func__.12> "meta_onscreen_native_notify_frame_complete", expr=expr@entry=0x7f67842fe1d8 "!cogl_onscreen_peek_head_frame_info (onscreen)")
at ../glib/glib/gtestutils.c:3091
#7 0x00007f67842a5572 in meta_onscreen_native_notify_frame_complete (onscreen=<optimized out>) at ../mutter/src/backends/native/meta-onscreen-native.c:204
#8 meta_onscreen_native_notify_frame_complete (onscreen=0x55b415d122c0) at ../mutter/src/backends/native/meta-onscreen-native.c:198
#9 page_flip_feedback_discarded (kms_crtc=<optimized out>, user_data=<optimized out>, error=<optimized out>) at ../mutter/src/backends/native/meta-onscreen-native.c:362
#10 0x00007f6784299843 in meta_kms_page_flip_data_discard (kms=<optimized out>, user_data=0x55b416217e80) at ../mutter/src/backends/native/meta-kms-page-flip.c:261
#11 0x00007f67842a5096 in flush_callbacks (kms=0x55b4159c94b0) at ../mutter/src/backends/native/meta-kms.c:354
#12 callback_idle (user_data=0x55b4159c94b0) at ../mutter/src/backends/native/meta-kms.c:370
#13 0x00007f6784df9c5f in g_main_dispatch (context=0x55b4159be890) at ../glib/glib/gmain.c:3337
#14 g_main_context_dispatch (context=0x55b4159be890) at ../glib/glib/gmain.c:4055
#15 0x00007f6784e4c098 in g_main_context_iterate.constprop.0 (context=0x55b4159be890, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4131
#16 0x00007f6784df92cb in g_main_loop_run (loop=0x55b415d25380) at ../glib/glib/gmain.c:4329
#17 0x00007f67841f878c in meta_run_main_loop () at ../mutter/src/core/main.c:928
#18 meta_run () at ../mutter/src/core/main.c:943
#19 0x000055b41581e839 in main (argc=<optimized out>, argv=<optimized out>) at ../gnome-shell/src/main.c:504
Coredump
PID: 1623 (gnome-shell) UID: 1004 (test) GID: 1004 (test) Signal: 6 (ABRT) Timestamp: Sat 2021-04-10 14:45:53 CEST (55s ago) Command Line: /usr/bin/gnome-shell Executable: /usr/bin/gnome-shell Control Group: /user.slice/user-1004.slice/user@1004.service/session.slice/org.gnome.Shell@wayland.service Unit: user@1004.service User Unit: org.gnome.Shell@wayland.service Slice: user-1004.slice Owner UID: 1004 (test) Boot ID: bf124a6f65874d71a05582e4e48dc416 Machine ID: 272b2d6eeb15456f975017ba728019b0 Hostname: ArchPC Storage: /var/lib/systemd/coredump/core.gnome-shell.1004.bf124a6f65874d71a05582e4e48dc416.1623.1618058753000000.zst (present) Disk Size: 16.6M Message: Process 1623 (gnome-shell) of user 1004 dumped core. Stack trace of thread 1623:
#0 0x00007f6783f9cef5 raise (libc.so.6 + 0x3cef5)
#1 0x000055b41581ee22 dump_gjs_stack_on_signal_handler (gnome-shell + 0x2e22)
#2 0x00007f6783f9cf80 __restore_rt (libc.so.6 + 0x3cf80)
#3 0x00007f6783f9cef5 raise (libc.so.6 + 0x3cef5)
#4 0x00007f6783f86862 abort (libc.so.6 + 0x26862)
#5 0x00007f6784dc3ddc g_assertion_message (libglib-2.0.so.0 + 0x1dddc)
#6 0x00007f6784e1dbdb g_assertion_message_expr (libglib-2.0.so.0 + 0x77bdb)
#7 0x00007f67842a5572 page_flip_feedback_discarded.lto_priv.0 (libmutter-8.so.0 + 0x176572)
#8 0x00007f6784299843 meta_kms_page_flip_data_discard (libmutter-8.so.0 + 0x16a843)
#9 0x00007f67842a5096 callback_idle.lto_priv.0 (libmutter-8.so.0 + 0x176096)
#10 0x00007f6784df9c5f g_main_context_dispatch (libglib-2.0.so.0 + 0x53c5f)
#11 0x00007f6784e4c098 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa6098)
#12 0x00007f6784df92cb g_main_loop_run (libglib-2.0.so.0 + 0x532cb)
#13 0x00007f67841f878c meta_run (libmutter-8.so.0 + 0xc978c)
#14 0x000055b41581e839 main (gnome-shell + 0x2839)
#15 0x00007f6783f87b25 __libc_start_main (libc.so.6 + 0x27b25)
#16 0x000055b41581ea4e _start (gnome-shell + 0x2a4e)
Stack trace of thread 1627:
#0 0x00007f678405437f __poll (libc.so.6 + 0xf437f)
#1 0x00007f6784e4c02e g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa602e)
#2 0x00007f6784df74ef g_main_context_iteration (libglib-2.0.so.0 + 0x514ef)
#3 0x00007f6784df7541 glib_worker_main (libglib-2.0.so.0 + 0x51541)
#4 0x00007f6784e2721d g_thread_proxy (libglib-2.0.so.0 + 0x8121d)
#5 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#6 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1641:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1648:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1642:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1645:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1664:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f67819fbafc _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-78.so + 0x771afc)
#3 0x00007f67819fb5f1 n/a (libmozjs-78.so + 0x7715f1)
#4 0x00007f6781c881bb n/a (libmozjs-78.so + 0x9fe1bb)
#5 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#6 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1650:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1663:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f67819fbafc _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-78.so + 0x771afc)
#3 0x00007f67819fb5f1 n/a (libmozjs-78.so + 0x7715f1)
#4 0x00007f6781c881bb n/a (libmozjs-78.so + 0x9fe1bb)
#5 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#6 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1646:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1651:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1630:
#0 0x00007f678405437f __poll (libc.so.6 + 0xf437f)
#1 0x00007f6784e4c02e g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa602e)
#2 0x00007f6784df74ef g_main_context_iteration (libglib-2.0.so.0 + 0x514ef)
#3 0x00007f6785101ebe n/a (libdconfsettings.so + 0x5ebe)
#4 0x00007f6784e2721d g_thread_proxy (libglib-2.0.so.0 + 0x8121d)
#5 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#6 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1647:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1644:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1649:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1643:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1629:
#0 0x00007f678405437f __poll (libc.so.6 + 0xf437f)
#1 0x00007f6784e4c02e g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa602e)
#2 0x00007f6784df92cb g_main_loop_run (libglib-2.0.so.0 + 0x532cb)
#3 0x00007f6785031506 gdbus_shared_thread_func (libgio-2.0.so.0 + 0xff506)
#4 0x00007f6784e2721d g_thread_proxy (libglib-2.0.so.0 + 0x8121d)
#5 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#6 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1654:
#0 0x00007f678405437f __poll (libc.so.6 + 0xf437f)
#1 0x00007f6784e4c02e g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa602e)
#2 0x00007f6784df92cb g_main_loop_run (libglib-2.0.so.0 + 0x532cb)
#3 0x00007f67842b07a2 input_thread (libmutter-8.so.0 + 0x1817a2)
#4 0x00007f6784e2721d g_thread_proxy (libglib-2.0.so.0 + 0x8121d)
#5 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#6 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1665:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f67819fbafc _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-78.so + 0x771afc)
#3 0x00007f67819fb5f1 n/a (libmozjs-78.so + 0x7715f1)
#4 0x00007f6781c881bb n/a (libmozjs-78.so + 0x9fe1bb)
#5 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#6 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1662:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f67819fbafc _ZN7mozilla6detail21ConditionVariableImpl8wait_forERNS0_9MutexImplERKNS_16BaseTimeDurationINS_27TimeDurationValueCalculatorEEE (libmozjs-78.so + 0x771afc)
#3 0x00007f67819fb5f1 n/a (libmozjs-78.so + 0x7715f1)
#4 0x00007f6781c881bb n/a (libmozjs-78.so + 0x9fe1bb)
#5 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#6 0x00007f678405f053 __clone (libc.so.6 + 0xff053)
Stack trace of thread 1653:
#0 0x00007f67835b49ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba)
#1 0x00007f67835ae260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260)
#2 0x00007f676e0ed9ac n/a (radeonsi_dri.so + 0x1529ac)
#3 0x00007f676e0e75f8 n/a (radeonsi_dri.so + 0x14c5f8)
#4 0x00007f67835a8299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f678405f053 __clone (libc.so.6 + 0xff053)