Crash when showing offline update errors
Moving this from a downstream bug: https://bugzilla.redhat.com/show_bug.cgi?id=2132611
A crash happens after start, when it's trying to show offline update errors. It looks like the app is not fully initialized yet (see the plugin loader is NULL in the backtrace).
The used version is gnome-software-42.4-2.fc36
The reporter provided following circumstances, but I guess the backtrace corresponds to an earlier state, the circumstances only discovered it.
On firefox ,i opened a tab "https://www.spacefox.shop/fr/pages/33-concept" and all was frizened .Just a little window on my down written "waiting for spacefox.shop ".My only way out is to shutdown the computer.
backtrace
Thread 1 (Thread 0x7f28a37ca100 (LWP 2219)):
#0 gs_plugin_loader_set_scale (plugin_loader=0x0, scale=1) at ../lib/gs-plugin-loader.c:1931
i = <optimized out>
#1 0x0000555f592c8ed8 in gs_shell_main_window_mapped_cb (widget=<optimized out>, shell=0x555f5a972280) at ../src/gs-shell.c:1099
No locals.
#2 0x00007f28a87f6db0 in g_closure_invoke (closure=0x555f5adc2370, return_value=0x0, n_param_values=1, param_values=0x7ffeaaf69bc0, invocation_hint=0x7ffeaaf69b40) at ../gobject/gclosure.c:830
marshal = 0x7f28a87f90d0 <g_cclosure_marshal_VOID__VOID>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x555f5adc2350
__func__ = "g_closure_invoke"
#3 0x00007f28a88234d6 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x555f5a949a90, detail=detail@entry=0, instance=instance@entry=0x555f5a972280, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffeaaf69bc0) at ../gobject/gsignal.c:3743
tmp = <optimized out>
handler = 0x555f5adc16c0
accumulator = 0x0
emission = {next = 0x7ffeaaf69f20, instance = 0x555f5a972280, ihint = {signal_id = 94, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
class_closure = <optimized out>
hlist = <optimized out>
handler_list = 0x555f5adc16c0
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 = 94
max_sequential_handler_number = 3454
return_value_altered = <optimized out>
EMIT_RESTART = <optimized out>
#4 0x00007f28a8813a2e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffeaaf69d70) at ../gobject/gsignal.c:3496
instance_and_params = 0x7ffeaaf69bc0
signal_return_type = <optimized out>
param_values = 0x7ffeaaf69bd8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#5 0x00007f28a8813cb3 in g_signal_emit (instance=instance@entry=0x555f5a972280, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffeaaf69e50, reg_save_area = 0x7ffeaaf69d90}}
#6 0x00007f28a81e052a in gtk_widget_map (widget=0x555f5a972280) at ../gtk/gtkwidget.c:2868
__func__ = "gtk_widget_map"
#7 0x00007f28a81f3eac in gtk_window_show (widget=0x555f5a972280) at ../gtk/gtkwindow.c:3866
window = 0x555f5a972280
priv = 0x555f5a972040
#8 0x00007f28a8813b79 in _g_closure_invoke_va (param_types=<optimized out>, n_params=<optimized out>, args=0x7ffeaaf6a020, instance=<optimized out>, return_value=<optimized out>, closure=0x555f5a91ca10) at ../gobject/gclosure.c:893
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
real_closure = 0x555f5a91c9f0
real_closure = <optimized out>
__func__ = <optimized out>
_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 = <optimized out>
gaicae_oldval = <optimized out>
cunion = <optimized out>
new_int = <optimized out>
old_int = <optimized out>
success = <optimized out>
tmp = <optimized out>
gaicae_oldval = <optimized out>
#9 g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffeaaf6a020) at ../gobject/gsignal.c:3406
return_accu = <optimized out>
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 = <optimized out>
emission = {next = 0x7ffeaaf6a260, instance = 0x555f5a972280, ihint = {signal_id = 92, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 93868029718464}
instance_type = <optimized out>
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 = <optimized out>
static_scope = <optimized out>
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
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"
#10 0x00007f28a8813cb3 in g_signal_emit (instance=instance@entry=0x555f5a972280, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffeaaf6a100, reg_save_area = 0x7ffeaaf6a040}}
#11 0x00007f28a81dd4fe in gtk_widget_show (widget=0x555f5a972280) at ../gtk/gtkwidget.c:2731
parent = 0x0
priv = <optimized out>
__func__ = "gtk_widget_show"
#12 0x00007f28a81f41bd in gtk_window_present_with_time (window=0x555f5a972280, timestamp=0) at ../gtk/gtkwindow.c:5278
priv = 0x555f5a972040
widget = 0x555f5a972280
surface = <optimized out>
__func__ = "gtk_window_present_with_time"
#13 0x00007f28a81f476b in gtk_window_present (window=<optimized out>) at ../gtk/gtkwindow.c:5211
No locals.
#14 0x0000555f59295590 in gs_application_present_window (startup_id=0x0, app=0x555f5a779100) at ../src/gs-application.c:198
windows = <optimized out>
window = <optimized out>
#15 show_offline_updates_error (action=<optimized out>, parameter=<optimized out>, data=<optimized out>) at ../src/gs-application.c:764
app = 0x555f5a779100
#16 0x00007f28a87f6db0 in g_closure_invoke (closure=0x555f5a94f5d0, return_value=0x0, n_param_values=2, param_values=0x7ffeaaf6a2f0, invocation_hint=0x7ffeaaf6a270) at ../gobject/gclosure.c:830
marshal = 0x7f28a87f9a60 <g_cclosure_marshal_VOID__VARIANT>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x555f5a94f5b0
__func__ = "g_closure_invoke"
#17 0x00007f28a88234d6 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x555f5a936880, detail=detail@entry=0, instance=instance@entry=0x555f5a8c3630, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffeaaf6a2f0) at ../gobject/gsignal.c:3743
tmp = <optimized out>
handler = 0x555f5a8ae840
accumulator = 0x0
emission = {next = 0x0, instance = 0x555f5a8c3630, ihint = {signal_id = 70, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
class_closure = <optimized out>
hlist = <optimized out>
handler_list = 0x555f5a8ae840
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 = 70
max_sequential_handler_number = 3377
return_value_altered = <optimized out>
EMIT_RESTART = <optimized out>
#18 0x00007f28a8813a2e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffeaaf6a4c0) at ../gobject/gsignal.c:3496
instance_and_params = 0x7ffeaaf6a2f0
signal_return_type = <optimized out>
param_values = 0x7ffeaaf6a308
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#19 0x00007f28a8813cb3 in g_signal_emit (instance=instance@entry=0x555f5a8c3630, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffeaaf6a5a0, reg_save_area = 0x7ffeaaf6a4e0}}
#20 0x00007f28a8927725 in g_simple_action_activate (action=0x555f5a8c3630, parameter=0x0) at ../gio/gsimpleaction.c:225
simple = 0x555f5a8c3630
__func__ = "g_simple_action_activate"
#21 0x00007f28a892af55 in g_application_impl_method_call (connection=<optimized out>, sender=<optimized out>, object_path=<optimized out>, interface_name=0x7f2888010b70 "org.freedesktop.Application", method_name=0x7f28880100a0 "ActivateAction", parameters=0x7f2878058990, invocation=0x7f28780baa70, user_data=0x555f5a78ad40) at ../gio/gapplicationimpl-dbus.c:295
parameter = 0x0
platform_data = 0x7f2878058840
iter = 0x555f5ae2d190
name = 0x7f2888010020 "show-offline-update-error"
impl = 0x555f5a78ad40
class = 0x555f5a778330
__func__ = "g_application_impl_method_call"
#22 0x00007f28a8953969 in call_in_idle_cb (user_data=user_data@entry=0x7f28780baa70) at ../gio/gdbusconnection.c:4994
invocation = 0x7f28780baa70
vtable = <optimized out>
registration_id = <optimized out>
subtree_registration_id = <optimized out>
ei = 0x555f5a7e0e40
es = 0x0
__func__ = "call_in_idle_cb"
#23 0x00007f28a86f84cb in g_idle_dispatch (source=0x7f288800fb60, callback=0x7f28a8953810 <call_in_idle_cb>, user_data=0x7f28780baa70) at ../glib/gmain.c:5935
again = <optimized out>
#24 0x00007f28a86fbfaf in g_main_dispatch (context=0x555f5a7c4120) at ../glib/gmain.c:3417
dispatch = 0x7f28a86f84b0 <g_idle_dispatch>
prev_source = 0x0
begin_time_nsec = 2051664633884
was_in_call = 0
user_data = 0x7f28780baa70
callback = 0x7f28a8953810 <call_in_idle_cb>
cb_funcs = 0x7f28a87e13e0 <g_source_callback_funcs>
cb_data = 0x7f28880104e0
need_destroy = <optimized out>
source = 0x7f288800fb60
current = 0x555f5a7dd9b0
i = 0
__func__ = <optimized out>
#25 g_main_context_dispatch (context=0x555f5a7c4120) at ../glib/gmain.c:4135
No locals.
#26 0x00007f28a87512c8 in g_main_context_iterate.constprop.0 (context=context@entry=0x555f5a7c4120, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4211
max_priority = 2147483647
timeout = 17294
some_ready = 1
nfds = 3
allocated_nfds = <optimized out>
fds = <optimized out>
begin_time_nsec = 2051660414731
#27 0x00007f28a86f9940 in g_main_context_iteration (context=context@entry=0x555f5a7c4120, may_block=may_block@entry=1) at ../glib/gmain.c:4276
retval = <optimized out>
#28 0x00007f28a8920aed in g_application_run (application=0x555f5a779100, argc=argc@entry=2, argv=argv@entry=0x7ffeaaf6a9e8) at ../gio/gapplication.c:2569
arguments = 0x555f5a7c40c0
status = 0
context = 0x555f5a7c4120
acquired_context = <optimized out>
__func__ = "g_application_run"
#29 0x0000555f59282486 in main (argc=2, argv=0x7ffeaaf6a9e8) at ../src/gs-main.c:49
status = 0
appinfo = 0x555f5a7bc030
application = 0x555f5a779100
debug = 0x555f5a76b600