GNOME Bugzilla – Bug 755493
Segmentation fault on removing secondary output while a native app is displayed on it
Last modified: 2015-09-24 00:11:58 UTC
When using a multi-monitor setup and moving a native (wayland) app to it, removing the monitor cable will cause gnome-shell to crash. Same thing doesn't appear to happen if an X11 app happened to be on the second screen, it just gets moved to the primary one. Stack trace captured by systemd-coredump: Coredump: /var/lib/systemd/coredump/core.gnome-shell.1000.e109f832e546428f95e5d794761d670c.22994.1443032786000000.xz Message: Process 22994 (gnome-shell) of user 1000 dumped core. Stack trace of thread 22994: #0 0x00007fdd3825fcac g_hash_table_lookup_node (libglib-2.0.so.0) #1 0x00007fdd3be0440f set_surface_is_on_output (libmutter.so.0) #2 0x00007fdd38543715 g_closure_invoke (libgobject-2.0.so.0) #3 0x00007fdd38555731 signal_emit_unlocked_R (libgobject-2.0.so.0) #4 0x00007fdd3855e4cc g_signal_emit_valist (libgobject-2.0.so.0) #5 0x00007fdd3855e807 g_signal_emit (libgobject-2.0.so.0) #6 0x00007fdd3be06263 wayland_output_destroy_notify (libmutter.so.0) #7 0x00007fdd3825ef4a g_hash_table_remove_all_nodes (libglib-2.0.so.0) #8 0x00007fdd3825fe93 g_hash_table_remove_all_nodes (libglib-2.0.so.0) #9 0x00007fdd3825fece g_hash_table_destroy (libglib-2.0.so.0) #10 0x00007fdd3be0669d meta_wayland_compositor_update_outputs (libmutter.so.0) #11 0x00007fdd3be0671f on_monitors_changed (libmutter.so.0) #12 0x00007fdd34bb3080 ffi_call_unix64 (libffi.so.6) #13 0x00007fdd34bb2aeb ffi_call (libffi.so.6) #14 0x00007fdd38543f39 g_cclosure_marshal_generic (libgobject-2.0.so.0) #15 0x00007fdd38543715 g_closure_invoke (libgobject-2.0.so.0) #16 0x00007fdd38555731 signal_emit_unlocked_R (libgobject-2.0.so.0) #17 0x00007fdd3855e4cc g_signal_emit_valist (libgobject-2.0.so.0) #18 0x00007fdd3855ece5 g_signal_emit_by_name (libgobject-2.0.so.0) #19 0x00007fdd3bda3e59 meta_monitor_manager_rebuild_derived (libmutter.so.0) #20 0x00007fdd3be0a8c0 meta_monitor_manager_kms_apply_configuration (libmutter.so.0) #21 0x00007fdd3bda0485 apply_configuration (libmutter.so.0) #22 0x00007fdd3bda0d8f meta_monitor_config_make_default (libmutter.so.0) #23 0x00007fdd38543715 g_closure_invoke (libgobject-2.0.so.0) #24 0x00007fdd38555731 signal_emit_unlocked_R (libgobject-2.0.so.0) #25 0x00007fdd3855e4cc g_signal_emit_valist (libgobject-2.0.so.0) #26 0x00007fdd3855e807 g_signal_emit (libgobject-2.0.so.0) #27 0x00007fdd326c3c14 monitor_event (libgudev-1.0.so.0) #28 0x00007fdd3827092a g_main_dispatch (libglib-2.0.so.0) #29 0x00007fdd38270cd0 g_main_context_iterate (libglib-2.0.so.0) #30 0x00007fdd38270ff2 g_main_loop_run (libglib-2.0.so.0) #31 0x00007fdd3bdcd5b6 meta_run (libmutter.so.0) #32 0x000000000040242f main (gnome-shell) #33 0x00007fdd366bb5e0 __libc_start_main (libc.so.6) #34 0x0000000000402539 _start (gnome-shell) Stack trace of thread 22997: #0 0x00007fdd3677b05d poll (libc.so.6) #1 0x00007fdd38270c6c g_main_context_poll (libglib-2.0.so.0) #2 0x00007fdd38270ff2 g_main_loop_run (libglib-2.0.so.0) #3 0x00007fdd396c3276 gdbus_shared_thread_func (libgio-2.0.so.0) #4 0x00007fdd38297285 g_thread_proxy (libglib-2.0.so.0) #5 0x00007fdd36a45434 start_thread (libpthread.so.0) #6 0x00007fdd36783a0d __clone (libc.so.6) Stack trace of thread 22996: #0 0x00007fdd3677b05d poll (libc.so.6) #1 0x00007fdd38270c6c g_main_context_poll (libglib-2.0.so.0) #2 0x00007fdd38270d7c g_main_context_iteration (libglib-2.0.so.0) #3 0x00007fdd38270db9 glib_worker_main (libglib-2.0.so.0) #4 0x00007fdd38297285 g_thread_proxy (libglib-2.0.so.0) #5 0x00007fdd36a45434 start_thread (libpthread.so.0) #6 0x00007fdd36783a0d __clone (libc.so.6) Stack trace of thread 22999: #0 0x00007fdd3677b05d poll (libc.so.6) #1 0x00007fdd38270c6c g_main_context_poll (libglib-2.0.so.0) #2 0x00007fdd38270d7c g_main_context_iteration (libglib-2.0.so.0) #3 0x00007fdd1bbf723d n/a (libdconfsettings.so) #4 0x00007fdd38297285 g_thread_proxy (libglib-2.0.so.0) #5 0x00007fdd36a45434 start_thread (libpthread.so.0) #6 0x00007fdd36783a0d __clone (libc.so.6) Stack trace of thread 23198: #0 0x00007fdd3677f5a9 syscall (libc.so.6) #1 0x00007fdd382b55ba g_cond_wait_until (libglib-2.0.so.0) #2 0x00007fdd38245859 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0) #3 0x00007fdd38245e7b g_async_queue_timeout_pop (libglib-2.0.so.0) #4 0x00007fdd38297cda g_thread_pool_wait_for_new_pool (libglib-2.0.so.0) #5 0x00007fdd38297285 g_thread_proxy (libglib-2.0.so.0) #6 0x00007fdd36a45434 start_thread (libpthread.so.0) #7 0x00007fdd36783a0d __clone (libc.so.6) Stack trace of thread 23016: #0 0x00007fdd3677b05d poll (lib GNOME 3.18, Mesa-11.0.0, Xorg-Server-1.17.99.901 (XWayland), Wayland-1.9.0, Linux-4.3-rc2.
Backtrace from gdb:
+ Trace 235490
Thanks for taking the time to report this. This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed in the code repository. *** This bug has been marked as a duplicate of bug 755096 ***