Crash in `connection_disconnected` on current Fedora flatpak base
https://bugzilla.redhat.com/show_bug.cgi?id=2210213 is a report of the Fedora Flatpak build of GNOME Calculator crashing. I'm frequently seeing the same crash in openQA testing of current Fedora Silverblue images (which use the flatpak), e.g. here, the 'about' test failed because Calculator hit this crash.
The crash appears to be in libsoup. The flatpak environment contains libsoup-2.74.3-2.fc38.x86_64 .
This is the backtrace:
#0 g_hash_table_lookup_node (hash_return=<synthetic pointer>, key=0x55b0332373f0, hash_table=0x55b03381cc10 = {...}) at ../glib/ghash.c:481
node_hash = <optimized out>
hash_value = 857961456
have_tombstone = 0
step = 0
node_index = 847641424
first_tombstone = 0
node_index = <optimized out>
node_hash = 857961456
__func__ = "g_hash_table_steal_extended"
#1 g_hash_table_steal_extended (hash_table=0x55b03381cc10 = {...}, lookup_key=lookup_key@entry=0x55b0332373f0, stolen_key=stolen_key@entry=0x0, stolen_value=stolen_value@entry=0x7fff3739ab10) at ../glib/ghash.c:1863
node_index = <optimized out>
node_hash = 857961456
__func__ = "g_hash_table_steal_extended"
#2 0x00007f9f65ab5cac in connection_disconnected (conn=0x55b0332373f0, manager=0x55b03381fbe0) at ../libsoup/soup-connection-manager.c:353
host = 0x0
#3 0x00007f9f667e0dba in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fff3739ace0, instance=0x55b0332373f0, return_value=0x0, closure=0x55b03322dec0) at ../gobject/gclosure.c:895
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = 0
real_closure = 0x55b03322dea0
return_accu = 0x0
accu = {g_type = 0x0, 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 = 0x55b0332373f0, ihint = {signal_id = 321, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55b0397b2de0 [None]}
instance_type = 0x55b0397b2de0 [None]
emission_return = {g_type = 0x0, 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 = 0x4
static_scope = 0
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"
#4 g_signal_emit_valist (instance=0x55b0332373f0, signal_id=321, detail=0, var_args=var_args@entry=0x7fff3739ace0) at ../gobject/gsignal.c:3472
return_accu = 0x0
accu = {g_type = 0x0, 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 = 0x55b0332373f0, ihint = {signal_id = 321, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55b0397b2de0 [None]}
instance_type = 0x55b0397b2de0 [None]
emission_return = {g_type = 0x0, 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 = 0x4
static_scope = 0
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"
#5 0x00007f9f667e0f33 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3622
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff3739adc0, reg_save_area = 0x7fff3739ad00}}
#6 0x00007f9f65a9771e in io_read_ready (stream=<optimized out>, io=0x55b03321def0) at ../libsoup/http2/soup-client-message-io-http2.c:471
error = 0x55b03a9164e0
progress = <optimized out>
conn = 0x55b0332373f0
#7 0x00007f9f6686948c in g_main_dispatch (context=0x55b0331a0f80) at ../glib/gmain.c:3460
dispatch = 0x7f9f65ec0240 <pollable_source_dispatch>
prev_source = 0x0
begin_time_nsec = 110919923036
was_in_call = 0
user_data = 0x55b03321def0
callback = 0x7f9f65a975e0 <io_read_ready>
cb_funcs = 0x7f9f66954380 <g_source_callback_funcs>
cb_data = 0x55b0344ff8e0
need_destroy = <optimized out>
source = 0x55b039f14ea0
current = 0x55b0331b3020
i = 3
#8 g_main_context_dispatch (context=0x55b0331a0f80) at ../glib/gmain.c:4200
#9 0x00007f9f668c7648 in g_main_context_iterate.isra.0 (context=0x55b0331a0f80, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4276
max_priority = 2147483647
timeout = 13
some_ready = 1
nfds = 3
allocated_nfds = <optimized out>
fds = <optimized out>
begin_time_nsec = 110919849640
#10 0x00007f9f66866b13 in g_main_context_iteration (context=context@entry=0x55b0331a0f80, may_block=may_block@entry=1) at ../glib/gmain.c:4343
retval = <optimized out>
#11 0x00007f9f65f15ffd in g_application_run (application=application@entry=0x55b03319f2b0, argc=argc@entry=1, argv=argv@entry=0x7fff3739b118) at ../gio/gapplication.c:2573
arguments = 0x55b0331a0f00
status = 0
context = 0x55b0331a0f80
acquired_context = <optimized out>
__func__ = "g_application_run"
#12 0x000055b03186275b in calculator_main (args_length1=1, args=0x7fff3739b118) at ../src/gnome-calculator.vala:356
_tmp1_ = <optimized out>
app = 0x55b03319f2b0
_tmp3_ = 0x55b03319f2b0
now = 0x55b033196340
_tmp0_ = 0x55b033196340
_tmp2_ = <optimized out>
result = <optimized out>
#13 main (argc=1, argv=0x7fff3739b118) at ../src/gnome-calculator.vala:339
quit
I tried to see if any recent changes to libsoup might have fixed this, but I don't think any did...
Edited by Patrick Griffis