Crash when undocking laptop with external screens connected
Affected version
Fedora 35
mutter-41.0-2.fc35.x86_64
Only Wayland tested
Bug summary
When disconnecting the opened laptop that is connected to two external displays then Shell crashes.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f2fdaed80f9 in g_type_check_instance_is_fundamentally_a (type_instance=0x1212121212121212, fundamental_type=80) at ../gobject/gtype.c:4088
Downloading source file /usr/src/debug/glib2-2.70.0-3.fc35.x86_64/redhat-linux-build/../gobject/gtype.c...
4088 if (!type_instance || !type_instance->g_class)
[Current thread is 1 (Thread 0x7f2fd5d60240 (LWP 11715))]
(gdb) bt
#0 0x00007f2fdaed80f9 in g_type_check_instance_is_fundamentally_a (type_instance=0x1212121212121212, fundamental_type=80) at ../gobject/gtype.c:4088
#1 0x00007f2fdaebe447 in g_object_ref (_object=_object@entry=0x1212121212121212) at ../gobject/gobject.c:3452
#2 0x00007f2fda35c069 in g_set_object (new_object=0x1212121212121212, object_ptr=<optimized out>) at /usr/include/glib-2.0/gobject/gobject.h:744
#3 set_frame_clock_internal (timeline=0x55dbab756800, frame_clock=0x1212121212121212) at ../clutter/clutter/clutter-timeline.c:368
#4 0x00007f2fda35c560 in update_frame_clock (timeline=0x55dbab756800) at ../clutter/clutter/clutter-timeline.c:445
#5 0x00007f2fdaeb4c2f in g_closure_invoke (closure=0x55dbada80830, return_value=0x0, n_param_values=1, param_values=0x7ffc3142ca40, invocation_hint=0x7ffc3142c9c0) at ../gobject/gclosure.c:830
#6 0x00007f2fdaed1056 in signal_emit_unlocked_R (node=node@entry=0x55dbab671bf0, detail=detail@entry=0, instance=instance@entry=0x55dbab6b9540, emission_return=emission_return@entry=0x0,
instance_and_params=instance_and_params@entry=0x7ffc3142ca40) at ../gobject/gsignal.c:3742
#7 0x00007f2fdaed291a in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffc3142cbf0) at ../gobject/gsignal.c:3497
#8 0x00007f2fdaed2b33 in g_signal_emit (instance=instance@entry=0x55dbab6b9540, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
#9 0x00007f2fda342442 in clear_stage_views_cb (user_data=0x0, depth=0, actor=0x55dbab6b9540) at ../clutter/clutter/clutter-actor.c:15673
#10 _clutter_actor_traverse_depth (user_data=0x0, current_depth=0, after_children_callback=0x0, before_children_callback=<optimized out>, actor=0x55dbab6b9540) at ../clutter/clutter/clutter-actor.c:16280
#11 _clutter_actor_traverse (user_data=0x0, after_children_callback=0x0, before_children_callback=<optimized out>, flags=CLUTTER_ACTOR_TRAVERSE_DEPTH_FIRST, actor=0x55dbab6b9540) at ../clutter/clutter/clutter-actor.c:16341
#12 clutter_actor_clear_stage_views_recursive (self=0x55dbab6b9540) at ../clutter/clutter/clutter-actor.c:15681
#13 clutter_stage_clear_stage_views (stage=<optimized out>) at ../clutter/clutter/clutter-stage.c:3425
#14 0x00007f2fda1b5c5b in meta_stage_native_rebuild_views (stage_native=<optimized out>) at ../src/backends/native/meta-stage-native.c:67
#15 meta_backend_native_update_screen_size (backend=<optimized out>, width=1920, height=1080) at ../src/backends/native/meta-backend-native.c:406
#16 0x00007f2fda0d9bfb in meta_backend_sync_screen_size (backend=0x55dbab4277a0) at ../src/backends/meta-backend.c:280
#17 meta_backend_monitors_changed (backend=0x55dbab4277a0) at ../src/backends/meta-backend.c:358
#18 0x00007f2fda0ef91e in meta_monitor_manager_notify_monitors_changed (manager=0x55dbab4a7ed0) at ../src/backends/meta-monitor-manager.c:3224
#19 meta_monitor_manager_rebuild (config=0x55dbae663cc0, manager=0x55dbab4a7ed0) at ../src/backends/meta-monitor-manager.c:3312
#20 meta_monitor_manager_rebuild (manager=0x55dbab4a7ed0, config=0x55dbae663cc0) at ../src/backends/meta-monitor-manager.c:3298
#21 0x00007f2fda1bcd49 in meta_monitor_manager_native_apply_monitors_config (manager=0x55dbab4a7ed0, config=0x55dbae663cc0, method=<optimized out>, error=<optimized out>) at ../src/backends/native/meta-monitor-manager-native.c:369
#22 0x00007f2fda0e0dd0 in meta_monitor_manager_apply_monitors_config (manager=manager@entry=0x55dbab4a7ed0, config=config@entry=0x55dbae663cc0, method=method@entry=META_MONITORS_CONFIG_METHOD_PERSISTENT, error=error@entry=0x7ffc3142ce90)
at ../src/backends/meta-monitor-manager.c:630
#23 0x00007f2fda0e5edc in meta_monitor_manager_ensure_configured (manager=0x55dbab4a7ed0) at ../src/backends/meta-monitor-manager.c:792
#24 0x00007f2fdaed29ea in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7ffc3142d070, instance=0x55dbab42aab0, return_value=0x0, closure=0x55dbab4936a0) at ../gobject/gclosure.c:893
#25 g_signal_emit_valist (instance=0x55dbab42aab0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffc3142d070) at ../gobject/gsignal.c:3406
#26 0x00007f2fdaed2b33 in g_signal_emit (instance=instance@entry=0x55dbab42aab0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
#27 0x00007f2fda1c16f9 in handle_hotplug_event (kms=0x55dbab42aab0) at ../src/backends/native/meta-kms.c:609
#28 0x00007f2fdaed29ea in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7ffc3142d330, instance=0x7f2fb4006200, return_value=0x0, closure=0x55dbab4963c0) at ../gobject/gclosure.c:893
#29 g_signal_emit_valist (instance=0x7f2fb4006200, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffc3142d330) at ../gobject/gsignal.c:3406
#30 0x00007f2fdaed2b33 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3553
#31 0x00007f2fd9508c04 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#32 0x00007f2fd9508108 in ffi_call (cif=cif@entry=0x7ffc3142d5e0, fn=fn@entry=0x7f2fda1d51b0 <on_uevent>, rvalue=<optimized out>, avalue=avalue@entry=0x7ffc3142d510) at ../src/x86/ffi64.c:525
#33 0x00007f2fdaebab5c in g_cclosure_marshal_generic (closure=closure@entry=0x55dbab496f30, return_gvalue=return_gvalue@entry=0x0, n_param_values=n_param_values@entry=3, param_values=param_values@entry=0x7ffc3142d7e0,
invocation_hint=invocation_hint@entry=0x7ffc3142d760, marshal_data=marshal_data@entry=0x0) at ../gobject/gclosure.c:1534
#34 0x00007f2fdaeb4c2f in g_closure_invoke (closure=0x55dbab496f30, return_value=0x0, n_param_values=3, param_values=0x7ffc3142d7e0, invocation_hint=0x7ffc3142d760) at ../gobject/gclosure.c:830
#35 0x00007f2fdaed1056 in signal_emit_unlocked_R (node=node@entry=0x55dbab42bb60, detail=detail@entry=0, instance=instance@entry=0x55dbab49a280, emission_return=emission_return@entry=0x0,
instance_and_params=instance_and_params@entry=0x7ffc3142d7e0) at ../gobject/gsignal.c:3742
#36 0x00007f2fdaed291a in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffc3142d9c0) at ../gobject/gsignal.c:3497
#37 0x00007f2fdaed2b33 in g_signal_emit (instance=instance@entry=0x55dbab49a280, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
#38 0x00007f2fd6f99249 in monitor_event (source=<optimized out>, condition=<optimized out>, data=0x55dbab49a280) at ../gudev/gudevclient.c:90
#39 0x00007f2fdadbb33f in g_main_dispatch (context=0x55dbab424d90) at ../glib/gmain.c:3381
#40 g_main_context_dispatch (context=0x55dbab424d90) at ../glib/gmain.c:4099
#41 0x00007f2fdae10288 in g_main_context_iterate.constprop.0 (context=0x55dbab424d90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4175
#42 0x00007f2fdadba903 in g_main_loop_run (loop=0x55dbacdcd4f0) at ../glib/gmain.c:4373
#43 0x00007f2fda134f29 in meta_context_run_main_loop (context=<optimized out>, error=0x7ffc3142dc70) at ../src/core/meta-context.c:433
#44 0x000055dbab1a9df3 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:563