Shell crashes when Calibre is run on Fedora Rawhide
In current Fedora Rawhide, with mutter and GNOME Shell 40.0-alpha1, qt5 5.15.2-2.fc34 and calibre 4.23.0, if you run calibre, it crashes...and takes the entire Shell down with it, somehow.
I filed the calibre crash downstream but am filing the Shell/mutter crash here. Reproduction is pretty easy: just try and run calibre on current Rawhide (or any current GNOME, maybe, not sure). If you've never run it before complete the first time wizard (that doesn't crash), then it'll crash when it should draw the main UI, and take GNOME down with it. At least, it does on my desktop and in a clean VM I just tested.
This is the backtrace I got for shell/mutter. Note it's only bt full
not thread apply all bt full
because gdb actually seems to exit prematurely only two threads into the multithreaded backtrace, which is...scary...
#0 __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:49
set = {__val = {0, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 15851953994758718720, 0, 93988700452416,
93988663066944, 93988663122432}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x0000557b6eaa7332 in dump_gjs_stack_on_signal_handler (signo=8) at ../src/main.c:392
sa = {__sigaction_handler = {sa_handler = 0x557b6eaa71a0 <dump_gjs_stack_alarm_sigaction>,
sa_sigaction = 0x557b6eaa71a0 <dump_gjs_stack_alarm_sigaction>}, sa_mask = {__val = {0 <repeats 16 times>}},
sa_flags = 0, sa_restorer = 0x0}
i = 65
#2 <signal handler called>
No locals.
#3 0x00007fdfbec9ca8a in meta_wayland_xdg_toplevel_send_configure (xdg_toplevel=0x7fdfa000dbe0,
configuration=0x557b732f0b70) at ../src/wayland/meta-wayland-xdg-shell.c:702
xdg_surface = 0x7fdfa000dbe0
states = {size = 4, alloc = 16, data = 0x557b72717430}
#4 0x00007fdfbeca02fd in meta_wayland_shell_surface_configure (configuration=0x557b732f0b70, shell_surface=0x7fdfa000dbe0)
at ../src/wayland/meta-wayland-shell-surface.c:175
shell_surface_class = <optimized out>
#5 meta_wayland_surface_configure_notify (configuration=0x557b732f0b70, surface=0x557b74683520)
at ../src/wayland/meta-wayland-surface.c:1459
shell_surface = 0x7fdfa000dbe0
#6 meta_window_wayland_configure (wl_window=0x557b71086000, configuration=0x557b732f0b70)
at ../src/wayland/meta-window-wayland.c:175
window = <optimized out>
#7 0x00007fdfbf8deb7f in g_closure_invoke (closure=0x557b727de350, return_value=0x0, n_param_values=2,
param_values=0x7ffd2b063100, invocation_hint=0x7ffd2b063080) at ../gobject/gclosure.c:810
marshal = 0x7fdfbf8e0dc0 <g_cclosure_marshal_VOID__PARAM>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x557b727de330
__func__ = "g_closure_invoke"
#8 0x00007fdfbf907d03 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x557b707bf960, detail=detail@entry=3572,
instance=instance@entry=0x557b71086000, emission_return=emission_return@entry=0x0,
instance_and_params=instance_and_params@entry=0x7ffd2b063100) at ../gobject/gsignal.c:3738
tmp = <optimized out>
handler = 0x557b72b26900
accumulator = 0x0
emission = {next = 0x7ffd2b063790, instance = 0x557b71086000, ihint = {signal_id = 1, detail = 3572, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
class_closure = <optimized out>
hlist = <optimized out>
handler_list = 0x557b72b26900
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 = 30751
return_value_altered = <optimized out>
EMIT_RESTART = <optimized out>
#9 0x00007fdfbf8fbc12 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd2b0632d0) at ../gobject/gsignal.c:3494
instance_and_params = 0x7ffd2b063100
signal_return_type = <optimized out>
param_values = 0x7ffd2b063118
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#10 0x00007fdfbf8fbe33 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3550
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffd2b0633b0, reg_save_area = 0x7ffd2b0632f0}}
#11 0x00007fdfbf8e5be4 in g_object_dispatch_properties_changed (object=0x557b71086000, n_pspecs=<optimized out>, pspecs=<optimized out>) at ../gobject/gobject.c:1206
i = <optimized out>
#12 0x00007fdfbf8e6f0a in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x557b71086000) at ../gobject/gobject.c:1299
nqueue = 0x0
notify_pspec = 0x557b746ea190
notify_pspec = <optimized out>
nqueue = <optimized out>
#13 g_object_notify_by_pspec (object=0x557b71086000, pspec=<optimized out>) at ../gobject/gobject.c:1409
__func__ = "g_object_notify_by_pspec"
#14 0x00007fdfbec3eb8f in meta_window_appears_focused_changed (window=0x557b71086000) at ../src/core/window.c:5219
No locals.
#15 0x00007fdfbec20188 in meta_window_set_focused_internal (focused=1, window=0x557b71086000) at ../src/core/window.c:5370
workspace_manager = <optimized out>
workspace_manager = <optimized out>
__func__ = {<optimized out> <repeats 33 times>}
link = <optimized out>
_g_boolean_var_ = <optimized out>
#16 meta_display_update_focus_window (display=0x557b71182040, window=<optimized out>) at ../src/core/display.c:1423
No locals.
#17 0x00007fdfbec20281 in meta_display_set_input_focus (display=0x557b71182040, window=0x557b71086000, focus_frame=<optimized out>, timestamp=<optimized out>) at ../src/core/display.c:1478
No locals.
#18 0x00007fdfbec45832 in meta_window_focus (window=0x557b71086000, timestamp=3857340) at ../src/core/window.c:4830
workspace_manager = 0x557b70e9b600
modal_transient = <optimized out>
__func__ = "meta_window_focus"
#19 0x00007fdfbec453c3 in meta_window_show (window=0x557b71086000) at ../src/core/window.c:2584
timestamp = <optimized out>
takes_focus_on_map = 1
did_show = 1
place_on_top_on_map = <optimized out>
needs_stacking_adjustment = <optimized out>
focus_window = <optimized out>
notify_demands_attention = 0
display = <optimized out>
did_show = <optimized out>
takes_focus_on_map = <optimized out>
place_on_top_on_map = <optimized out>
needs_stacking_adjustment = <optimized out>
focus_window = <optimized out>
notify_demands_attention = <optimized out>
display = <optimized out>
work_area = {x = <optimized out>, y = <optimized out>, width = <optimized out>, height = <optimized out>}
overlap = <optimized out>
effect = <optimized out>
timestamp = <optimized out>
#20 implement_showing (window=0x557b71086000, showing=<optimized out>) at ../src/core/window.c:1773
No locals.
#21 0x00007fdfbec46275 in meta_window_calc_showing (window=0x557b71086000) at ../src/core/window.c:1782
No locals.
#22 idle_calc_showing (data=<optimized out>) at ../src/core/window.c:1876
window = 0x557b71086000
display = 0x557b71182040
tmp = 0x557b71da5f30
copy = 0x557b71422a70
should_show = 0x0
should_hide = 0x0
unplaced = 0x557b71da5f30
displays = 0x0
queue_index = <optimized out>
CoglTraceMetaWindowCalcShowing = {begin_time = 0, name = 0x0}
ScopedCoglTraceMetaWindowCalcShowing = 0x0
CoglTraceMetaWindowCalcShowingCalc = {begin_time = 0, name = 0x0}
CoglTraceMetaWindowCalcShowingUnplaced = {begin_time = 0, name = 0x0}
CoglTraceMetaWindowCalcShowingShow = {begin_time = 93988700673024, name = 0x7fdfbf80ba71 <g_slice_alloc+33> "H\211\303H\205\300\017\204\063\002"}
CoglTraceMetaWindowCalcShowingHide = {begin_time = 93988662876160, name = 0x0}
CoglTraceMetaWindowCalcShowingSync = {begin_time = 0, name = 0x557b70cd2580 ""}
__func__ = "idle_calc_showing"
#23 0x00007fdfbec0b647 in meta_later_invoke (later=0x557b731dd400) at ../src/compositor/meta-later.c:114
CoglTracelater = {begin_time = 0, name = 0x0}
ScopedCoglTracelater = 0x0
CoglTracelater = {begin_time = <optimized out>, name = <optimized out>}
ScopedCoglTracelater = <optimized out>
#24 run_repaint_laters (laters_list=0x557b71149f78) at ../src/compositor/meta-later.c:160
later = 0x557b731dd400
laters_copy = <optimized out>
l = 0x557b7097e9a0
laters_copy = <optimized out>
l = <optimized out>
later = <optimized out>
later = <optimized out>
#25 on_before_update (stage=stage@entry=0x557b70dd6a70, stage_view=stage_view@entry=0x557b70cd2580, laters=0x557b71149f60) at ../src/compositor/meta-later.c:177
i = 1
l = <optimized out>
needs_schedule_update = 0
#26 0x00007fdfbf8dd4fe in g_cclosure_marshal_VOID__OBJECTv (closure=0x557b71149cf0, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x557b70d2dd80) at ../gobject/gmarshal.c:1910
cc = <optimized out>
data1 = 0x557b70dd6a70
data2 = <optimized out>
callback = 0x7fdfbec0b400 <on_before_update>
arg0 = 0x557b70cd2580
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffd2b063970, reg_save_area = 0x7ffd2b0638b0}}
#27 0x00007fdfbf8fbd18 in _g_closure_invoke_va (param_types=0x557b70d2dd80, n_params=<optimized out>, args=0x7ffd2b063890, instance=0x557b70dd6a70, return_value=0x0, closure=0x557b71149cf0) at ../gobject/gclosure.c:873
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = 0
real_closure = 0x557b71149cd0
real_closure = <optimized out>
__func__ = {<optimized out> <repeats 21 times>}
_g_boolean_var_ = <optimized out>
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
_g_boolean_var_ = <optimized out>
cunion = <optimized out>
new_int = <optimized out>
old_int = <optimized out>
success = <optimized out>
tmp = {closure = {ref_count = <optimized out>, meta_marshal_nouse = <optimized out>, n_guards = <optimized out>, n_fnotifiers = <optimized out>, n_inotifiers = <optimized out>, in_inotify = <optimized out>, floating = <optimized out>, derivative_flag = <optimized out>, in_marshal = <optimized out>, is_invalid = <optimized out>, marshal = <optimized out>, data = <optimized out>, notifiers = <optimized out>}, vint = <optimized out>}
gaicae_oldval = <optimized out>
cunion = <optimized out>
new_int = <optimized out>
old_int = <optimized out>
success = <optimized out>
tmp = {closure = {ref_count = <optimized out>, meta_marshal_nouse = <optimized out>, n_guards = <optimized out>, n_fnotifiers = <optimized out>, n_inotifiers = <optimized out>, in_inotify = <optimized out>, floating = <optimized out>, derivative_flag = <optimized out>, in_marshal = <optimized out>, is_invalid = <optimized out>, marshal = <optimized out>, data = <optimized out>, notifiers = <optimized out>}, vint = <optimized out>}
gaicae_oldval = <optimized out>
#28 g_signal_emit_valist (instance=0x557b70dd6a70, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffd2b063890) at ../gobject/gsignal.c:3403
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}}}
accumulator = 0x0
emission = {next = 0x0, instance = 0x557b70dd6a70, ihint = {signal_id = 106, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 93988659677872}
signal_id = 106
instance_type = 93988659677872
emission_return = {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}}}
rtype = 4
static_scope = 0
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = 1
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#29 0x00007fdfbf8fbe33 in g_signal_emit (instance=instance@entry=0x557b70dd6a70, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3550
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd2b063970, reg_save_area = 0x7ffd2b0638b0}}
#30 0x00007fdfbee22dac in clutter_stage_emit_before_update (view=0x557b70cd2580, stage=0x557b70dd6a70) at ../clutter/clutter/clutter-stage.c:518
No locals.
#31 handle_frame_clock_frame (frame_clock=<optimized out>, frame_count=<optimized out>, time_us=<optimized out>, user_data=0x557b70cd2580) at ../clutter/clutter/clutter-stage-view.c:1090
view = 0x557b70cd2580
priv = <optimized out>
stage = 0x557b70dd6a70
devices = 0x0
result = <optimized out>
#32 0x00007fdfbedf7c00 in clutter_frame_clock_dispatch (time_us=3857339686, frame_clock=0x557b70dd3600) at ../clutter/clutter/clutter-frame-clock.c:417
frame_count = 1605
CoglTraceClutterFrameCLockDispatch = {begin_time = 0, name = 0x0}
ScopedCoglTraceClutterFrameCLockDispatch = 0x0
CoglTraceClutterFrameClockFrame = {begin_time = 0, name = 0x0}
result = <optimized out>
CoglTraceClutterFrameClockEvents = {begin_time = 0, name = 0x0}
CoglTraceClutterFrameClockTimelines = {begin_time = 0, name = 0x0}
frame_count = <optimized out>
result = <optimized out>
CoglTraceClutterFrameCLockDispatch = {begin_time = <optimized out>, name = <optimized out>}
ScopedCoglTraceClutterFrameCLockDispatch = <optimized out>
CoglTraceClutterFrameClockEvents = {begin_time = <optimized out>, name = <optimized out>}
CoglTraceClutterFrameClockTimelines = {begin_time = <optimized out>, name = <optimized out>}
CoglTraceClutterFrameClockFrame = {begin_time = <optimized out>, name = <optimized out>}
__func__ = {<optimized out> <repeats 29 times>}
#33 frame_clock_source_dispatch (source=source@entry=0x557b70d310e0, callback=<optimized out>, user_data=<optimized out>) at ../clutter/clutter/clutter-frame-clock.c:457
clock_source = 0x557b70d310e0
frame_clock = 0x557b70dd3600
dispatch_time_us = 3857339686
#34 0x00007fdfbf7ec0ef in g_main_dispatch (context=0x557b707bf360) at ../glib/gmain.c:3325
dispatch = <optimized out>
prev_source = 0x0
begin_time_nsec = 0
was_in_call = <optimized out>
user_data = 0x0
callback = 0x0
cb_funcs = 0x0
cb_data = 0x0
need_destroy = <optimized out>
source = 0x557b70d310e0
current = 0x557b707f1ef0
i = 0
current = <optimized out>
i = <optimized out>
__func__ = {<optimized out> <repeats 16 times>}
source = <optimized out>
_g_boolean_var_ = <optimized out>
was_in_call = <optimized out>
user_data = <optimized out>
callback = <optimized out>
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
dispatch = <optimized out>
prev_source = <optimized out>
begin_time_nsec = <optimized out>
_g_boolean_var_ = <optimized out>
#35 g_main_context_dispatch (context=0x557b707bf360) at ../glib/gmain.c:4016
No locals.
#36 0x00007fdfbf83e8c8 in g_main_context_iterate.constprop.0 (context=0x557b707bf360, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4092
max_priority = 2147483647
timeout = 8
some_ready = 1
nfds = <optimized out>
allocated_nfds = <optimized out>
fds = 0x557b7165c050
begin_time_nsec = 0
#37 0x00007fdfbf7eb7b3 in g_main_loop_run (loop=0x557b70dea2e0) at ../glib/gmain.c:4290
self = <optimized out>
__func__ = "g_main_loop_run"
#38 0x00007fdfbec2b440 in meta_run_main_loop () at ../src/core/main.c:708
No locals.
#39 0x00007fdfbec31f9a in meta_run () at ../src/core/main.c:723
No locals.
#40 0x0000557b6eaa6c9c in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:550
ctx = <optimized out>
error = 0x0
ecode = <optimized out>
quit