Mutter crashes in meta_stack_get_default_focus_window during display closing
This is a 3.32.1 regression triggered by commit 7718e67f
#0 __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {0, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 0, 364470999637101568, 94225704677216, 140726752251008}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x000055b2a1a7f01b in dump_gjs_stack_on_signal_handler ()
No symbol table info available.
#2 <signal handler called>
No locals.
#3 0x00007f1b6f5913c1 in stack_do_window_deletions (stack=stack@entry=0x0, stack=stack@entry=0x0) at ../src/core/stack.c:984
tmp = <optimized out>
i = <optimized out>
tmp = <optimized out>
i = <optimized out>
xwindow = <optimized out>
#4 stack_ensure_sorted (stack=stack@entry=0x0) at ../src/core/stack.c:984
No locals.
#5 0x00007f1b6f591d54 in get_default_focus_window (stack=0x0, not_this_one=not_this_one@entry=0x0, must_be_at_point=must_be_at_point@entry=0, root_x=root_x@entry=0, root_y=root_y@entry=0, workspace=0x55b2a37f3bf0) at ../src/core/stack.c:1211
l = <optimized out>
#6 0x00007f1b6f591fef in meta_stack_get_default_focus_window (stack=<optimized out>, workspace=workspace@entry=0x55b2a37f3bf0, not_this_one=not_this_one@entry=0x0) at ../src/core/stack.c:1264
No locals.
#7 0x00007f1b6f5a1c38 in focus_ancestor_or_top_window (workspace=0x55b2a37f3bf0, not_this_one=0x0, timestamp=56355) at ../src/core/workspace.c:1373
window = 0x0
#8 0x00007f1b7015ee7d in g_closure_invoke (closure=0x55b2a3de51b0, return_value=0x0, n_param_values=2, param_values=0x7ffd80141520, invocation_hint=0x7ffd801414a0) at ../../../gobject/gclosure.c:810
marshal = 0x7f1b70161c20 <g_cclosure_marshal_VOID__PARAM>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55b2a3de5190
__FUNCTION__ = "g_closure_invoke"
#9 0x00007f1b70172535 in signal_emit_unlocked_R (node=node@entry=0x55b2a1ed0420, detail=detail@entry=670, instance=instance@entry=0x55b2a36db030, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd80141520) at ../../../gobject/gsignal.c:3635
tmp = <optimized out>
handler = 0x55b2a38cd240
accumulator = 0x0
emission = {next = 0x7ffd80141960, instance = 0x55b2a36db030, ihint = {signal_id = 1, detail = 670, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0x55b2a1ed99b0
hlist = <optimized out>
handler_list = 0x55b2a38cd1c0
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 1
max_sequential_handler_number = 37713
return_value_altered = 1
#10 0x00007f1b7017b46e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd801416f0) at ../../../gobject/gsignal.c:3391
instance_and_params = 0x7ffd80141520
signal_return_type = <optimized out>
param_values = 0x7ffd80141538
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__FUNCTION__ = "g_signal_emit_valist"
#11 0x00007f1b7017bb2f in g_signal_emit (instance=instance@entry=0x55b2a36db030, signal_id=<optimized out>, detail=<optimized out>) at ../../../gobject/gsignal.c:3447
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffd801417d0, reg_save_area = 0x7ffd80141710}}
#12 0x00007f1b70163554 in g_object_dispatch_properties_changed (object=0x55b2a36db030, n_pspecs=<optimized out>, pspecs=<optimized out>) at ../../../gobject/gobject.c:1088
i = <optimized out>
#13 0x00007f1b701659d1 in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x55b2a36db030) at ../../../gobject/gobject.c:1181
nqueue = 0x0
notify_pspec = 0x55b2a36c7450
notify_pspec = <optimized out>
nqueue = <optimized out>
#14 g_object_notify (object=0x55b2a36db030, property_name=<optimized out>) at ../../../gobject/gobject.c:1229
pspec = <optimized out>
__FUNCTION__ = "g_object_notify"
#15 0x00007f1b7015ee7d in g_closure_invoke (closure=0x55b2a3fc5610, return_value=0x0, n_param_values=1, param_values=0x7ffd801419f0, invocation_hint=0x7ffd80141970) at ../../../gobject/gclosure.c:810
marshal = 0x7f1b70160e50 <g_cclosure_marshal_VOID__VOID>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55b2a3fc55f0
__FUNCTION__ = "g_closure_invoke"
#16 0x00007f1b70172535 in signal_emit_unlocked_R (node=node@entry=0x55b2a1efdce0, detail=detail@entry=0, instance=instance@entry=0x55b2a7fe8c50, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd801419f0) at ../../../gobject/gsignal.c:3635
tmp = <optimized out>
handler = 0x55b2a3ef6300
accumulator = 0x0
emission = {next = 0x7ffd80141e60, instance = 0x55b2a7fe8c50, ihint = {signal_id = 66, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0x55b2a36967c0
hlist = <optimized out>
handler_list = 0x55b2a3ef6300
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 66
max_sequential_handler_number = 37610
return_value_altered = 0
#17 0x00007f1b7017b46e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd80141ba0) at ../../../gobject/gsignal.c:3391
instance_and_params = 0x7ffd801419f0
signal_return_type = <optimized out>
param_values = 0x7ffd80141a08
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__FUNCTION__ = "g_signal_emit_valist"
#18 0x00007f1b7017bb2f in g_signal_emit (instance=instance@entry=0x55b2a7fe8c50, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3447
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd80141c80, reg_save_area = 0x7ffd80141bc0}}
#19 0x00007f1b6f6f5c86 in clutter_actor_dispose (object=0x55b2a7fe8c50) at ../clutter/clutter/clutter-actor.c:5992
self = 0x55b2a7fe8c50
priv = 0x55b2a7fe8930
__FUNCTION__ = "clutter_actor_dispose"
#20 0x00007f1b701657c8 in g_object_run_dispose (object=0x55b2a7fe8c50) at ../../../gobject/gobject.c:1108
__FUNCTION__ = "g_object_run_dispose"
#21 0x00007f1b6f6e8fe3 in clutter_actor_destroy (self=0x55b2a7fe8c50) at ../clutter/clutter/clutter-actor.c:8692
__FUNCTION__ = "clutter_actor_destroy"
#22 0x00007f1b6f6f0504 in clutter_actor_iter_destroy (iter=iter@entry=0x7ffd80141ce0) at ../clutter/clutter/clutter-actor.c:19227
ri = 0x7ffd80141ce0
cur = <optimized out>
__FUNCTION__ = "clutter_actor_iter_destroy"
#23 0x00007f1b6f6f05b8 in clutter_actor_real_destroy (actor=0x55b2a7fea450) at ../clutter/clutter/clutter-actor.c:6324
iter = {dummy1 = 0x55b2a7fea450, dummy2 = 0x0, dummy3 = 0x55b2a36967c0, dummy4 = 2, dummy5 = 0x7f1b6f6f0570 <clutter_actor_real_destroy>}
#24 0x00007f1b7015ed91 in g_closure_invoke (closure=0x55b2a36967c0, return_value=0x0, n_param_values=1, param_values=0x7ffd80141ef0, invocation_hint=0x7ffd80141e70) at ../../../gobject/gclosure.c:810
marshal = 0x7f1b7015d370 <g_type_class_meta_marshal>
marshal_data = 0xd8
in_marshal = 1
real_closure = 0x55b2a36967a0
__FUNCTION__ = "g_closure_invoke"
#25 0x00007f1b70172896 in signal_emit_unlocked_R (node=node@entry=0x55b2a1efdce0, detail=detail@entry=0, instance=instance@entry=0x55b2a7fea450, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd80141ef0) at ../../../gobject/gsignal.c:3549
need_unset = 0
accumulator = 0x0
emission = {next = 0x7ffd80142360, instance = 0x55b2a7fea450, ihint = {signal_id = 66, detail = 0, run_type = G_SIGNAL_RUN_CLEANUP}, state = EMISSION_STOP, chain_type = 94225741840288}
class_closure = 0x55b2a36967c0
hlist = <optimized out>
handler_list = 0x55b2a7e7d940
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 66
max_sequential_handler_number = 37595
return_value_altered = <optimized out>
#26 0x00007f1b7017b46e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd801420a0) at ../../../gobject/gsignal.c:3391
instance_and_params = 0x7ffd80141ef0
signal_return_type = <optimized out>
param_values = 0x7ffd80141f08
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__FUNCTION__ = "g_signal_emit_valist"
#27 0x00007f1b7017bb2f in g_signal_emit (instance=instance@entry=0x55b2a7fea450, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3447
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd80142180, reg_save_area = 0x7ffd801420c0}}
#28 0x00007f1b6f6f5c86 in clutter_actor_dispose (object=0x55b2a7fea450) at ../clutter/clutter/clutter-actor.c:5992
self = 0x55b2a7fea450
priv = 0x55b2a7fea130
__FUNCTION__ = "clutter_actor_dispose"
#29 0x00007f1b701657c8 in g_object_run_dispose (object=0x55b2a7fea450) at ../../../gobject/gobject.c:1108
__FUNCTION__ = "g_object_run_dispose"
#30 0x00007f1b6f6e8fe3 in clutter_actor_destroy (self=0x55b2a7fea450) at ../clutter/clutter/clutter-actor.c:8692
__FUNCTION__ = "clutter_actor_destroy"
#31 0x00007f1b6f6f0504 in clutter_actor_iter_destroy (iter=iter@entry=0x7ffd801421e0) at ../clutter/clutter/clutter-actor.c:19227
ri = 0x7ffd801421e0
cur = <optimized out>
__FUNCTION__ = "clutter_actor_iter_destroy"
#32 0x00007f1b6f6f05b8 in clutter_actor_real_destroy (actor=0x55b2a3f16d60) at ../clutter/clutter/clutter-actor.c:6324
iter = {dummy1 = 0x55b2a3f16d60, dummy2 = 0x0, dummy3 = 0x55b2a36967c0, dummy4 = 9, dummy5 = 0x7f1b6f6f0570 <clutter_actor_real_destroy>}
#33 0x00007f1b7015ed91 in g_closure_invoke (closure=0x55b2a36967c0, return_value=0x0, n_param_values=1, param_values=0x7ffd801423f0, invocation_hint=0x7ffd80142370) at ../../../gobject/gclosure.c:810
marshal = 0x7f1b7015d370 <g_type_class_meta_marshal>
marshal_data = 0xd8
in_marshal = 1
real_closure = 0x55b2a36967a0
__FUNCTION__ = "g_closure_invoke"
#34 0x00007f1b70172896 in signal_emit_unlocked_R (node=node@entry=0x55b2a1efdce0, detail=detail@entry=0, instance=instance@entry=0x55b2a3f16d60, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd801423f0) at ../../../gobject/gsignal.c:3549
need_unset = 0
accumulator = 0x0
emission = {next = 0x7ffd80142860, instance = 0x55b2a3f16d60, ihint = {signal_id = 66, detail = 0, run_type = G_SIGNAL_RUN_CLEANUP}, state = EMISSION_STOP, chain_type = 94225745514896}
class_closure = 0x55b2a36967c0
hlist = <optimized out>
handler_list = 0x0
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 66
max_sequential_handler_number = 37578
return_value_altered = <optimized out>
#35 0x00007f1b7017b46e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd801425a0) at ../../../gobject/gsignal.c:3391
instance_and_params = 0x7ffd801423f0
signal_return_type = <optimized out>
param_values = 0x7ffd80142408
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__FUNCTION__ = "g_signal_emit_valist"
#36 0x00007f1b7017bb2f in g_signal_emit (instance=instance@entry=0x55b2a3f16d60, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3447
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd80142680, reg_save_area = 0x7ffd801425c0}}
#37 0x00007f1b6f6f5c86 in clutter_actor_dispose (object=0x55b2a3f16d60) at ../clutter/clutter/clutter-actor.c:5992
self = 0x55b2a3f16d60
priv = 0x55b2a3f16a40
__FUNCTION__ = "clutter_actor_dispose"
#38 0x00007f1b701657c8 in g_object_run_dispose (object=0x55b2a3f16d60) at ../../../gobject/gobject.c:1108
__FUNCTION__ = "g_object_run_dispose"
#39 0x00007f1b6f6e8fe3 in clutter_actor_destroy (self=0x55b2a3f16d60) at ../clutter/clutter/clutter-actor.c:8692
__FUNCTION__ = "clutter_actor_destroy"
#40 0x00007f1b6f6f0504 in clutter_actor_iter_destroy (iter=iter@entry=0x7ffd801426e0) at ../clutter/clutter/clutter-actor.c:19227
ri = 0x7ffd801426e0
cur = <optimized out>
__FUNCTION__ = "clutter_actor_iter_destroy"
#41 0x00007f1b6f6f05b8 in clutter_actor_real_destroy (actor=0x55b2a3f16370) at ../clutter/clutter/clutter-actor.c:6324
iter = {dummy1 = 0x55b2a3f16370, dummy2 = 0x0, dummy3 = 0x55b2a36967c0, dummy4 = 3, dummy5 = 0x7f1b6f6f0570 <clutter_actor_real_destroy>}
#42 0x00007f1b7015ee7d in g_closure_invoke (closure=0x55b2a36967c0, return_value=0x0, n_param_values=1, param_values=0x7ffd801428f0, invocation_hint=0x7ffd80142870) at ../../../gobject/gclosure.c:810
marshal = 0x7f1b7015d370 <g_type_class_meta_marshal>
marshal_data = 0xd8
in_marshal = 0
real_closure = 0x55b2a36967a0
__FUNCTION__ = "g_closure_invoke"
#43 0x00007f1b70172896 in signal_emit_unlocked_R (node=node@entry=0x55b2a1efdce0, detail=detail@entry=0, instance=instance@entry=0x55b2a3f16370, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd801428f0) at ../../../gobject/gsignal.c:3549
need_unset = 0
accumulator = 0x0
emission = {next = 0x0, instance = 0x55b2a3f16370, ihint = {signal_id = 66, detail = 0, run_type = G_SIGNAL_RUN_CLEANUP}, state = EMISSION_STOP, chain_type = 94225741951344}
class_closure = 0x55b2a36967c0
hlist = <optimized out>
handler_list = 0x55b2a46fe140
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 66
max_sequential_handler_number = 37578
return_value_altered = <optimized out>
#44 0x00007f1b7017b46e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd80142aa0) at ../../../gobject/gsignal.c:3391
instance_and_params = 0x7ffd801428f0
signal_return_type = <optimized out>
param_values = 0x7ffd80142908
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__FUNCTION__ = "g_signal_emit_valist"
#45 0x00007f1b7017bb2f in g_signal_emit (instance=instance@entry=0x55b2a3f16370, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3447
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd80142b80, reg_save_area = 0x7ffd80142ac0}}
#46 0x00007f1b6f6f5c86 in clutter_actor_dispose (object=0x55b2a3f16370) at ../clutter/clutter/clutter-actor.c:5992
self = 0x55b2a3f16370
priv = 0x55b2a3f16050
__FUNCTION__ = "clutter_actor_dispose"
#47 0x00007f1b701657c8 in g_object_run_dispose (object=0x55b2a3f16370) at ../../../gobject/gobject.c:1108
__FUNCTION__ = "g_object_run_dispose"
#48 0x00007f1b6f6e8fe3 in clutter_actor_destroy (self=0x55b2a3f16370) at ../clutter/clutter/clutter-actor.c:8692
__FUNCTION__ = "clutter_actor_destroy"
#49 0x00007f1b6f5633f8 in meta_compositor_destroy (compositor=0x55b2a3c8bf50) at ../src/compositor/compositor.c:171
_pp = 0x55b2a3c8bf88
_ptr = <optimized out>
#50 0x00007f1b6f57f4aa in meta_display_close (display=0x55b2a3aa4010, timestamp=0) at ../src/core/display.c:950
__FUNCTION__ = "meta_display_close"
#51 0x00007f1b6f588810 in meta_finalize () at ../src/core/main.c:303
display = <optimized out>
display = <optimized out>
#52 meta_run () at ../src/core/main.c:685
No locals.
#53 0x000055b2a1a7e847 in main ()
No symbol table info available.