Crash in dnf_context_invalidate_full
Please describe the issue you’re experiencing:
Gnome software 43.4 crashes randomly in the background.
Also see https://retrace.fedoraproject.org/faf/reports/387030/
What Linux distribution are you using, and what kind of package (RPM, deb, flatpak, etc.) are you experiencing the problem with?
Fedora Silverblue 37
This is the backtrace I got from gdb:
Core was generated by `/usr/bin/gnome-software --gapplication-service'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 dnf_context_invalidate_full (context=0x0, message=0x7f9cd4e6e05b "repos.d invalidated", flags=<optimized out>) at /usr/src/debug/libdnf-0.68.0-1.fc37.x86_64/libdnf/dnf-context.cpp:2757
2757 priv->enrollment_valid = FALSE;
[Current thread is 1 (Thread 0x7f9cc6ffd6c0 (LWP 2378))]
gef➤ bt full
#0 dnf_context_invalidate_full(DnfContext*, gchar const*, DnfContextInvalidateFlags) (context=0x0, message=0x7f9cd4e6e05b "repos.d invalidated", flags=<optimized out>) at /usr/src/debug/libdnf-0.68.0-1.fc37.x86_64/libdnf/dnf-context.cpp:2757
priv = 0xfffffffffffffed0
#1 0x00007f9cef626fc0 in g_closure_invoke (closure=0x7f9cb406b400, return_value=0x0, n_param_values=0x2, param_values=0x7f9cc6ffb5c0, invocation_hint=0x7f9cc6ffb540) at ../gobject/gclosure.c:832
marshal = 0x7f9cef629bb0 <g_cclosure_marshal_VOID__OBJECT>
marshal_data = 0x0
in_marshal = 0x0
real_closure = 0x7f9cb406b3e0
__func__ = "g_closure_invoke"
#2 0x00007f9cef654d86 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7f9cb4023ce0, detail=detail@entry=0x0, instance=instance@entry=0x7f9cd0044960, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7f9cc6ffb5c0) at ../gobject/gsignal.c:3796
tmp = <optimized out>
handler = 0x7f9cb406b940
accumulator = 0x0
emission = {
next = 0x7f9cc6ffb990,
instance = 0x7f9cd0044960,
ihint = {
signal_id = 0x14c,
detail = 0x0,
run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)
},
state = EMISSION_RUN,
chain_type = 0x4
}
hlist = <optimized out>
handler_list = 0x7f9cb406b940
return_accu = 0x0
accu = {
g_type = 0x0,
data = {{
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}, {
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}}
}
signal_id = 0x14c
max_sequential_handler_number = 0x30f0
return_value_altered = <optimized out>
#3 0x00007f9cef64441a in g_signal_emit_valist (instance=instance@entry=0x7f9cd0044960, signal_id=signal_id@entry=0x14c, detail=<optimized out>, var_args=var_args@entry=0x7f9cc6ffb790) at ../gobject/gsignal.c:3549
instance_and_params = 0x7f9cc6ffb5c0
signal_return_type = <optimized out>
param_values = 0x7f9cc6ffb5d8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#4 0x00007f9cef644838 in g_signal_emit_by_name (instance=0x7f9cd0044960, detailed_signal=0x7f9cef7de55d "mount-added") at ../gobject/gsignal.c:3648
var_args = {{
gp_offset = 0x18,
fp_offset = 0x30,
overflow_arg_area = 0x7f9cc6ffb8b0,
reg_save_area = 0x7f9cc6ffb7c0
}}
detail = <optimized out>
signal_id = 0x14c
itype = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
__func__ = "g_signal_emit_by_name"
#5 0x00007f9cef625a65 in g_cclosure_marshal_VOID__OBJECTv (closure=0x7f9cb4069030, return_value=<optimized out>, instance=0x7f9cb408f270, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x7f9cb40416c0) at ../gobject/gmarshal.c:1910
data1 = <optimized out>
data2 = <optimized out>
callback = 0x7f9cef735e70 <child_mount_added>
arg0 = 0x7f9cbd9532f0
args_copy = {{
gp_offset = 0x18,
fp_offset = 0x30,
overflow_arg_area = 0x7f9cc6ffbbc0,
reg_save_area = 0x7f9cc6ffbad0
}}
#6 0x00007f9cef644554 in _g_closure_invoke_va (param_types=<optimized out>, n_params=<optimized out>, args=0x7f9cc6ffbaa0, instance=<optimized out>, return_value=<optimized out>, closure=0x7f9cb4069030) at ../gobject/gclosure.c:895
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
real_closure = 0x7f9cb4069010
return_accu = <optimized out>
accu = {
g_type = 0x0,
data = {{
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}, {
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}}
}
accumulator = <optimized out>
emission = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{
next = 0x7f9cc6ffbcf0,
instance = 0x7f9cb408f270,
ihint = {
signal_id = 0x14c,
detail = 0x0,
run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)
},
state = EMISSION_RUN,
chain_type =
}
instance_type = <optimized out>
emission_return = {
g_type = 0x0,
data = {{
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}, {
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
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"
#7 g_signal_emit_valist (instance=instance@entry=0x7f9cb408f270, signal_id=<optimized out>, signal_id@entry=0x14c, detail=<optimized out>, var_args=var_args@entry=0x7f9cc6ffbaa0) at ../gobject/gsignal.c:3456
return_accu = <optimized out>
accu = {
g_type = 0x0,
data = {{
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}, {
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}}
}
accumulator = <optimized out>
emission = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{
next = 0x7f9cc6ffbcf0,
instance = 0x7f9cb408f270,
ihint = {
signal_id = 0x14c,
detail = 0x0,
run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)
},
state = EMISSION_RUN,
chain_type =
}
instance_type = <optimized out>
emission_return = {
g_type = 0x0,
data = {{
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}, {
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
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"
#8 0x00007f9cef644838 in g_signal_emit_by_name (instance=0x7f9cb408f270, detailed_signal=0x7f9cd683b05a "mount_added") at ../gobject/gsignal.c:3648
var_args = {{
gp_offset = 0x10,
fp_offset = 0x30,
overflow_arg_area = 0x7f9cc6ffbbc0,
reg_save_area = 0x7f9cc6ffbad0
}}
detail = <optimized out>
signal_id = 0x14c
itype = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
__func__ = "g_signal_emit_by_name"
#9 0x00007f9cd6830969 in mount_added (mount_info=0x7f9cb42486a0, daemon_monitor=0x7f9cb408f270) at ../client/gdaemonvolumemonitor.c:151
mount = <optimized out>
mount = 0x0
#10 mount_added (daemon_monitor=0x7f9cb408f270, mount_info=0x7f9cb42486a0) at ../client/gdaemonvolumemonitor.c:136
mount = 0x0
#11 0x00007f9cef626fc0 in g_closure_invoke (closure=0x7f9cb406adc0, return_value=0x0, n_param_values=0x2, param_values=0x7f9cc6ffbd80, invocation_hint=0x7f9cc6ffbd00) at ../gobject/gclosure.c:832
marshal = 0x7f9cef629b20 <g_cclosure_marshal_VOID__POINTER>
marshal_data = 0x0
in_marshal = 0x0
real_closure = 0x7f9cb406ada0
__func__ = "g_closure_invoke"
#12 0x00007f9cef654d86 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7f9cd004f440, detail=detail@entry=0x0, instance=instance@entry=0x7f9cb4069d00, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7f9cc6ffbd80) at ../gobject/gsignal.c:3796
tmp = <optimized out>
handler = 0x7f9cb4069d40
accumulator = 0x0
emission = {
next = 0x7f9cc6ffc380,
instance = 0x7f9cb4069d00,
ihint = {
signal_id = 0x17b,
detail = 0x0,
run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)
},
state = EMISSION_RUN,
chain_type = 0x4
}
hlist = <optimized out>
handler_list = 0x7f9cb4069d40
return_accu = 0x0
accu = {
g_type = 0x0,
data = {{
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}, {
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}}
}
signal_id = 0x17b
max_sequential_handler_number = 0x30f0
return_value_altered = <optimized out>
#13 0x00007f9cef64441a in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7f9cc6ffbf40) at ../gobject/gsignal.c:3549
instance_and_params = 0x7f9cc6ffbd80
signal_return_type = <optimized out>
param_values = 0x7f9cc6ffbd98
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#14 0x00007f9cef644633 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3606
var_args = {{
gp_offset = 0x20,
fp_offset = 0x30,
overflow_arg_area = 0x7f9cc6ffc020,
reg_save_area = 0x7f9cc6ffbf60
}}
#15 0x00007f9cd67f859e in mounted_cb (object=<optimized out>, arg_mount=0x7f9cb42486a0, user_data=0x7f9cb4069d00) at ../common/gmounttracker.c:467
tracker = <optimized out>
info = <optimized out>
#16 0x00007f9cef37f6d6 in ffi_call_unix64 () at ../src/x86/unix64.S:105
#17 0x00007f9cef37c492 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:672
classes = {X86_64_INTEGER_CLASS, 32668, X86_64_INTEGER_CLASS, X86_64_NO_CLASS}
stack = 0x7f9cc6ffbf80 ""
argp = 0x7f9cc6ffc040 ""
arg_types = <optimized out>
gprcount = 0x3
ssecount = <optimized out>
ngpr = 0x1
nsse = 0x0
i = <optimized out>
avn = <optimized out>
flags = <optimized out>
reg_args = 0x7f9cc6ffbf80
#18 0x00007f9cef62d1b3 in g_cclosure_marshal_generic (closure=<optimized out>, return_gvalue=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../gobject/gclosure.c:1536
rtype = <optimized out>
rvalue = 0x7f9cc6ffc190
n_args = <optimized out>
atypes = <optimized out>
args = <optimized out>
i = <optimized out>
cif = {
abi = FFI_UNIX64,
nargs = 0x3,
arg_types = 0x7f9cc6ffc170,
rtype = 0x7f9cef3801a0 <ffi_type_void>,
bytes = 0x0,
flags = 0x0
}
cc = <optimized out>
enum_tmpval = <optimized out>
tmpval_used = 0x0
#19 0x00007f9cef626fc0 in g_closure_invoke (closure=0x7f9cb406b1f0, return_value=0x0, n_param_values=0x2, param_values=0x7f9cb4fcdaf0, invocation_hint=0x7f9cc6ffc390) at ../gobject/gclosure.c:832
marshal = 0x7f9cef62cd30 <g_cclosure_marshal_generic>
marshal_data = 0x0
in_marshal = 0x0
real_closure = 0x7f9cb406b1d0
__func__ = "g_closure_invoke"
#20 0x00007f9cef654d86 in signal_emit_unlocked_R.isra.0 (node=<optimized out>, detail=0x0, instance=0x55a71a77bee0, emission_return=0x0, instance_and_params=0x7f9cb4fcdaf0) at ../gobject/gsignal.c:3796
tmp = <optimized out>
handler = 0x7f9cbc002200
accumulator = 0x0
emission = {
next = 0x7f9cc6ffc600,
instance = 0x55a71a77bee0,
ihint = {
signal_id = 0x44,
detail = 0x0,
run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)
},
state = EMISSION_RUN,
chain_type = 0x4
}
hlist = <optimized out>
handler_list = 0x7f9cbc002200
return_accu = 0x0
accu = {
g_type = 0x0,
data = {{
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}, {
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}}
}
signal_id = 0x44
max_sequential_handler_number = 0x30f0
return_value_altered = <optimized out>
#21 0x00007f9cd67e740c in gvfs_dbus_mount_tracker_proxy_g_signal (proxy=<optimized out>, sender_name=<optimized out>, signal_name=<optimized out>, parameters=<optimized out>) at common/gvfsdbus.c:4840
info = 0x7f9cd680dde0 <_gvfs_dbus_mount_tracker_signal_info_mounted>
iter = {
x = {0x7f9cbd949b20, 0x1, 0x1, 0x0, 0x7f9cef5ed010, 0x7f9cef575838, 0x7, 0xd55af426, 0x7f9cd40a5ee8, 0x7f9cef57589d, 0x7f9cb5428970, 0x4, 0x7f9cc6ffc690, 0x7f9cc6ffc690, 0x7f9cc6ffc690, 0x7f9cd67e72e0}
}
child = 0x0
paramv = 0x7f9cb4fcdaf0
num_params = 0x1
n = <optimized out>
signal_id = <optimized out>
#22 0x00007f9cef626fc0 in g_closure_invoke (closure=0x55a71a1c1920, return_value=0x0, n_param_values=0x4, param_values=0x7f9cc6ffc690, invocation_hint=0x7f9cc6ffc610) at ../gobject/gclosure.c:832
marshal = 0x7f9cef629240 <g_type_class_meta_marshal>
marshal_data = 0x90
in_marshal = 0x0
real_closure = 0x55a71a1c1900
__func__ = "g_closure_invoke"
#23 0x00007f9cef654eb5 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x55a71a1c1950, detail=detail@entry=0x0, instance=instance@entry=0x55a71a77bee0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7f9cc6ffc690) at ../gobject/gsignal.c:3835
accumulator = 0x0
emission = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{
next = 0x0,
instance = 0x55a71a77bee0,
ihint = {
signal_id = 0x18,
detail = 0x0,
run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)
},
state = EMISSION_RUN,
chain_type =
}
hlist = <optimized out>
handler_list = 0x0
return_accu = 0x0
accu = {
g_type = 0x0,
data = {{
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}, {
v_int = 0x0,
v_uint = 0x0,
v_long = 0x0,
v_ulong = 0x0,
v_int64 = 0x0,
v_uint64 = 0x0,
v_float = 0,
v_double = 0,
v_pointer = 0x0
}}
}
signal_id = 0x18
max_sequential_handler_number = 0x30f0
return_value_altered = <optimized out>
#24 0x00007f9cef64441a in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7f9cc6ffc880) at ../gobject/gsignal.c:3549
instance_and_params = 0x7f9cc6ffc690
signal_return_type = <optimized out>
param_values = 0x7f9cc6ffc6a8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#25 0x00007f9cef644633 in g_signal_emit (instance=instance@entry=0x55a71a77bee0, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3606
var_args = {{
gp_offset = 0x30,
fp_offset = 0x30,
overflow_arg_area = 0x7f9cc6ffc960,
reg_save_area = 0x7f9cc6ffc8a0
}}
#26 0x00007f9cef78f71d in on_signal_received (connection=<optimized out>, sender_name=0x7f9cd004c5d0 ":1.7", object_path=<optimized out>, interface_name=<optimized out>, signal_name=0x7f9cd004ae60 "Mounted", parameters=0x7f9cbd949b20, user_data=0x7f9cb4067020) at ../gio/gdbusproxy.c:897
proxy_weak = 0x7f9cb4067020
proxy = 0x55a71a77bee0
#27 0x00007f9cef77b0ef in emit_signal_instance_in_idle_cb (data=data@entry=0x7f9cd000cbc0) at ../gio/gdbusconnection.c:3791
signal_instance = 0x7f9cd000cbc0
parameters = 0x7f9cbd949b20
has_subscription = 0x1
#28 0x00007f9cef528cb2 in g_idle_dispatch (source=0x7f9cd0043f90, callback=0x7f9cef77b070 <emit_signal_instance_in_idle_cb>, user_data=0x7f9cd000cbc0) at ../glib/gmain.c:6124
idle_source = 0x7f9cd0043f90
again = <optimized out>
#29 0x00007f9cef529cbf in g_main_dispatch (context=0x55a71a8e8980) at ../glib/gmain.c:3444
dispatch = 0x7f9cef528c90 <g_idle_dispatch>
prev_source = 0x0
begin_time_nsec = 0x5ae2f55facb
was_in_call = 0x0
user_data = 0x7f9cd000cbc0
callback = 0x7f9cef77b070 <emit_signal_instance_in_idle_cb>
cb_funcs = 0x7f9cef6113e0 <g_source_callback_funcs>
cb_data = 0x7f9cd007d9d0
need_destroy = <optimized out>
source = 0x7f9cd0043f90
current = 0x7f9cb40013b0
i = 0x0
#30 g_main_context_dispatch (context=0x55a71a8e8980) at ../glib/gmain.c:4162
#31 0x00007f9cef57f598 in g_main_context_iterate.constprop.0 (context=0x55a71a8e8980, block=0x1, dispatch=0x1, self=<optimized out>) at ../glib/gmain.c:4238
max_priority = 0x7fffffff
timeout = 0xffffffff
some_ready = 0x1
nfds = 0x1
allocated_nfds = <optimized out>
fds = <optimized out>
begin_time_nsec = 0x5ae089b7661
#32 0x00007f9cef526f40 in g_main_context_iteration (context=0x55a71a8e8980, may_block=0x1) at ../glib/gmain.c:4303
retval = <optimized out>
#33 0x00007f9cef9642ee in glib_autoptr_clear_GDir (_ptr=<optimized out>) at /usr/include/glib-2.0/glib/glib-autocleanups.h:53
path = <optimized out>
dir = <optimized out>
dirs_to_do = <optimized out>
base_len = <optimized out>
size = 0x0
__func__ = "gs_utils_get_file_size"
#34 glib_autoptr_cleanup_GDir (_ptr=<optimized out>) at /usr/include/glib-2.0/glib/glib-autocleanups.h:53
path = <optimized out>
dir = <optimized out>
dirs_to_do = <optimized out>
base_len = <optimized out>
size = 0x0
__func__ = "gs_utils_get_file_size"
#35 gs_utils_get_file_size (filename=0x7 <error: Cannot access memory at address 0x7>, include_func=0x7f9cb40008e0, user_data=0x7f9b4dc3f0d7, cancellable=0x1) at ../lib/gs-utils.c:1445
path = <optimized out>
dir = <optimized out>
dirs_to_do = <optimized out>
base_len = <optimized out>
size = 0x0