Abort from assertion failure when running colour calibration for a second time
I run through the colour calibration wizard for my monitor, wait for it to complete. Now I attempt to run it a second time. After answering all the questions in the wizard, pressing "Next" after the final screen where I enter the profile name, GNOME control center will crash with an assertion:
(gnome-control-center:280921): color-cc-panel-CRITICAL **: 12:18:43.282: cc_color_calibrate_setup: assertion 'calibrate->device_kind != CD_SENSOR_CAP_UNKNOWN' failed
The following stack trace was captured in GDB
Thread 1 "gnome-control-c" received signal SIGSEGV, Segmentation fault.
0x00005555555d0d5f in gcm_prefs_calib_apply_cb (prefs=0x5555567a8380) at ../panels/color/cc-color-panel.c:319
319 g_warning ("failed to setup calibrate: %s", error->message);
(gdb) bt
#0 0x00005555555d0d5f in gcm_prefs_calib_apply_cb (prefs=0x5555567a8380) at ../panels/color/cc-color-panel.c:319
#1 0x00007ffff7db1280 in _g_closure_invoke_va
(param_types=0x0, n_params=<optimized out>, args=0x7fffffffc980, instance=0x555556746480, return_value=0x0, closure=0x55555681daa0)
at ../gobject/gclosure.c:873
#2 g_signal_emit_valist (instance=0x555556746480, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffc980) at ../gobject/gsignal.c:3403
#3 0x00007ffff7db139f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3550
#4 0x00007ffff75587e6 in on_assistant_apply (widget=<optimized out>, assistant=0x555556746480) at gtkassistant.c:1062
#5 0x00007ffff7db1280 in _g_closure_invoke_va
(param_types=0x0, n_params=<optimized out>, args=0x7fffffffcc10, instance=0x5555566b06c0, return_value=0x0, closure=0x5555567aba10)
at ../gobject/gclosure.c:873
#6 g_signal_emit_valist (instance=0x5555566b06c0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffcc10) at ../gobject/gsignal.c:3403
#7 0x00007ffff7db139f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3550
#8 0x00007ffff7571220 in gtk_button_do_release (emit_clicked=1, button=0x5555566b06c0) at gtkbutton.c:1845
#9 gtk_button_do_release (emit_clicked=1, button=0x5555566b06c0) at gtkbutton.c:1832
#10 gtk_real_button_released (button=0x5555566b06c0) at gtkbutton.c:1963
#11 0x00007ffff7db1280 in _g_closure_invoke_va
(param_types=0x0, n_params=<optimized out>, args=0x7fffffffcee0, instance=0x5555566b06c0, return_value=0x0, closure=0x55555614e550)
at ../gobject/gclosure.c:873
#12 g_signal_emit_valist (instance=0x5555566b06c0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffcee0) at ../gobject/gsignal.c:3403
#13 0x00007ffff7db139f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3550
#14 0x00007ffff7570db0 in multipress_released_cb
(gesture=0x5555563e0900, n_press=<optimized out>, x=<optimized out>, y=<optimized out>, widget=0x5555566b06c0) at gtkbutton.c:666
#15 0x00007ffff781f99b in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv
(closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555556151d20) at gtkmarshalers.c:4803
#16 0x00007ffff7db1280 in _g_closure_invoke_va
(param_types=0x555556151d20, n_params=<optimized out>, args=0x7fffffffd1b0, instance=0x5555563e0900, return_value=0x0, closure=0x5555565ce3a0)
at ../gobject/gclosure.c:873
#17 g_signal_emit_valist (instance=0x5555563e0900, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3403
#18 0x00007ffff7db139f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3550
#19 0x00007ffff7638d24 in gtk_gesture_multi_press_end (gesture=gesture@entry=0x5555563e0900, sequence=sequence@entry=0x0) at gtkgesturemultipress.c:287
#20 0x00007ffff7d98690 in g_cclosure_marshal_VOID__BOXEDv
(closure=0x555556140040, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555556140070) at ../gobject/gmarshal.c:1686
#21 0x00007ffff7db1280 in _g_closure_invoke_va
(param_types=0x555556140070, n_params=<optimized out>, args=0x7fffffffd4e0, instance=0x5555563e0900, return_value=0x0, closure=0x555556140040)
at ../gobject/gclosure.c:873
#22 g_signal_emit_valist (instance=0x5555563e0900, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd4e0) at ../gobject/gsignal.c:3403
#23 0x00007ffff7db139f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3550
#24 0x00007ffff7630127 in _gtk_gesture_set_recognized (sequence=0x0, recognized=0, gesture=0x5555563e0900) at gtkgesture.c:346
#25 _gtk_gesture_check_recognized (gesture=gesture@entry=0x5555563e0900, sequence=sequence@entry=0x0) at gtkgesture.c:387
#26 0x00007ffff76386e3 in gtk_gesture_handle_event (event=0x555555a612c0, controller=0x5555563e0900) at gtkgesture.c:778
#27 gtk_gesture_handle_event (controller=0x5555563e0900, event=0x555555a612c0) at gtkgesture.c:713
#28 0x00007ffff763cbff in gtk_gesture_single_handle_event (controller=0x5555563e0900, event=0x555555a612c0) at gtkgesturesingle.c:222
#29 0x00007ffff760098c in gtk_event_controller_handle_event (controller=0x5555563e0900, event=0x555555a612c0) at gtkeventcontroller.c:230
#30 0x00007ffff77d3bcd in _gtk_widget_run_controllers (widget=0x5555566b06c0, event=0x555555a612c0, phase=GTK_PHASE_BUBBLE) at gtkwidget.c:7443
#31 0x00007ffff781e0e8 in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x555555a7afa0, return_value=0x7fffffffd830, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555555aa4a70) at gtkmarshalers.c:129
#32 0x00007ffff7db1280 in _g_closure_invoke_va (param_types=0x555555aa4a70, n_params=<optimized out>, args=0x7fffffffd8e0, instance=0x5555566b06c0, return_value=0x7fffffffd830, closure=0x555555a7afa0) at ../gobject/gclosure.c:873
#33 g_signal_emit_valist (instance=0x5555566b06c0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd8e0) at ../gobject/gsignal.c:3403
#34 0x00007ffff7db139f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3550
#35 0x00007ffff77e2184 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x5555566b06c0, event=0x555555a612c0) at gtkwidget.c:7808
#36 0x00007ffff76848d0 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x5555566b06c0) at gtkmain.c:2587
#37 propagate_event (widget=<optimized out>, event=0x555555a612c0, captured=<optimized out>, topmost=0x0) at gtkmain.c:2690
#38 0x00007ffff7685ba3 in gtk_main_do_event (event=0x555555a612c0) at gtkmain.c:1920
#39 gtk_main_do_event (event=<optimized out>) at gtkmain.c:1690
#40 0x00007ffff7374043 in _gdk_event_emit (event=0x555555a612c0) at gdkevents.c:73
#41 _gdk_event_emit (event=0x555555a612c0) at gdkevents.c:67
#42 0x00007ffff73da172 in gdk_event_source_dispatch (base=base@entry=0x555555a61850, callback=<optimized out>, data=<optimized out>) at gdkeventsource.c:124
#43 0x00007ffff7ca3fd7 in g_main_dispatch (context=0x555555a468f0) at ../glib/gmain.c:3325
#44 g_main_context_dispatch (context=0x555555a468f0) at ../glib/gmain.c:4016
#45 0x00007ffff7cf4d88 in g_main_context_iterate.constprop.0 (context=context@entry=0x555555a468f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4092
#46 0x00007ffff7ca141f in g_main_context_iteration (context=0x555555a468f0, may_block=1) at ../glib/gmain.c:4157
#47 0x00007ffff7eaf3e5 in g_application_run (application=0x555556053970, argc=-9132, argv=<optimized out>) at ../gio/gapplication.c:2559
#48 0x00005555555b6304 in main (argc=<optimized out>, argv=<optimized out>) at ../shell/main.c:65
This is seen on Fedora 33 x86_64, with a Monoco Optix colour profile device, with gnome-control-center-3.38.1-2.fc33.x86_64