Color tab often crashes on use & close
Settings -> Color seems to crash quite frequently, if I play with the on/off toggles for my displays. Sometimes it seems that the color for one of my displays is weird, toggling the color profile off and on seems to fix it, but when closing Settings, it crashes.
There's full crash information here:
https://bugzilla.redhat.com/show_bug.cgi?id=2175468
Here's an excerpt:
Thread 1 (Thread 0x7fc04dc70580 (LWP 2992)):
#0 0x00007fc05266e90b in gtk_widget_in_destruction (widget=0x0) at ../gtk/gtkwidget.c:10635
priv = <optimized out>
#1 0x000055a4a48f003c in gcm_prefs_list_box_row_selected_cb (panel=0x55a4a8a6d1a0, row=<optimized out>) at ../panels/color/cc-color-panel.c:1708
No locals.
#2 0x00007fc052f67e07 in g_cclosure_marshal_VOID__OBJECTv (closure=0x55a4a5ed4f90, return_value=<optimized out>, instance=0x55a4a5f423b0, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x55a4a5c566e0) at ../gobject/gmarshal.c:1910
cc = <optimized out>
data1 = <optimized out>
data2 = <optimized out>
callback = 0x55a4a48f0020 <gcm_prefs_list_box_row_selected_cb>
arg0 = 0x0
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffcabacd5d0, reg_save_area = 0x7ffcabacd510}}
#3 0x00007fc052f87d28 in _g_closure_invoke_va (param_types=0x55a4a5c566e0, n_params=<optimized out>, args=0x7ffcabacd4f0, instance=0x55a4a5f423b0, return_value=0x0, closure=0x55a4a5ed4f90) at ../gobject/gclosure.c:895
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = 0
real_closure = 0x55a4a5ed4f70
real_closure = <optimized out>
__func__ = <optimized out>
_g_boolean_var_68 = <optimized out>
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
_g_boolean_var_69 = <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>
#4 g_signal_emit_valist (instance=0x55a4a5f423b0, signal_id=184, detail=0, var_args=var_args@entry=0x7ffcabacd4f0) at ../gobject/gsignal.c:3462
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 = 0x7ffcabace080, instance = 0x55a4a5f423b0, ihint = {signal_id = 184, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 94165644184112}
instance_type = 94165644184112
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 = <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 0x00007fc052f87e13 in g_signal_emit (instance=instance@entry=0x55a4a5f423b0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3612
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffcabacd5d0, reg_save_area = 0x7ffcabacd510}}
#6 0x00007fc05258006a in gtk_list_box_remove (box=0x55a4a5f423b0, child=0x0) at ../gtk/gtklistbox.c:2417
widget = 0x55a4a5f423b0
was_visible = 1
was_selected = 1
row = 0x0
iter = 0x0
next = 0x55a4a8e3bde0
__func__ = "gtk_list_box_remove"
#7 0x00007fc0525801a0 in gtk_list_box_dispose (object=0x55a4a5f423b0) at ../gtk/gtklistbox.c:436
child = <optimized out>
#8 0x00007fc052f77af4 in g_object_unref (_object=0x55a4a5f423b0) at ../gobject/gobject.c:3891
_pp = <optimized out>
gaig_temp = <optimized out>
gaig_temp = <optimized out>
weak_locations = <optimized out>
nqueue = 0x55a4a8cdbbe0
_ptr = <optimized out>
object = 0x55a4a5f423b0
old_ref = <optimized out>
retry_atomic_decrement1 = <optimized out>
__func__ = "g_object_unref"
#9 0x00007fc0524d464d in gtk_box_dispose (object=0x55a4a5e96060) at ../gtk/gtkbox.c:230
child = <optimized out>
#10 0x00007fc052f77af4 in g_object_unref (_object=0x55a4a5e96060) at ../gobject/gobject.c:3891
_pp = <optimized out>
gaig_temp = <optimized out>
gaig_temp = <optimized out>
weak_locations = <optimized out>
nqueue = 0x55a4a8c77480
_ptr = <optimized out>
object = 0x55a4a5e96060
old_ref = <optimized out>
retry_atomic_decrement1 = <optimized out>
__func__ = "g_object_unref"
#11 0x00007fc0524d464d in gtk_box_dispose (object=0x55a4a8538b50) at ../gtk/gtkbox.c:230
child = <optimized out>
...
Steps to reproduce:
- Open GNOME Settings -> Color
- Play with toggles
- Close Settings -> crash (sometimes)
gnome-control-center-44~rc-1.fc38.x86_64
gtk4-4.10.1-1.fc38.x86_64