Proxy configuration dialog does not correctly persist state, cc_net_proxy_page_set_enabled: assertion '!cc_net_proxy_page_has_modified (self)
Relevant information
-
GNOME Settings version 46.0
-
Operating system (distribution): Fedora 40
-
Error message
13:19:52.6006 cc-net-proxy-page[76466]:CRITICAL: cc_net_proxy_page_set_enabled: assertion '!cc_net_proxy_page_has_modified (self)' failed
- Backtrace (if you are experiencing a crash)
13:22:32.1691 cc-net-proxy-page[76823]:CRITICAL: cc_net_proxy_page_set_enabled: assertion '!cc_net_proxy_page_has_modified (self)' failed
Thread 1 "gnome-control-c" received signal SIGTRAP, Trace/breakpoint trap.
glib_autoptr_cleanup_GString (_ptr=0x7fffffffc540) at /usr/include/glib-2.0/glib/glib-autocleanups.h:83
83 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GString, g_autoptr_cleanup_gstring_free)
(gdb) bt
#0 glib_autoptr_cleanup_GString (_ptr=0x7fffffffc540) at /usr/include/glib-2.0/glib/glib-autocleanups.h:83
#1 cc_log_write
(log_level=10, log_domain=<optimized out>, log_message=0x555555f20e70 "cc_net_proxy_page_set_enabled: assertion '!cc_net_proxy_page_has_modified (self)' failed", fields=0x7fffffffc650, n_fields=4, user_data=<optimized out>) at ../shell/cc-log.c:241
#2 cc_log_handler (log_level=<optimized out>, fields=0x7fffffffc650, n_fields=4, user_data=<optimized out>) at ../shell/cc-log.c:348
#3 0x00007ffff7c98954 in g_log_structured_array (log_level=G_LOG_LEVEL_CRITICAL, fields=0x7fffffffc650, n_fields=4) at ../glib/gmessages.c:1859
#4 g_log_structured_array (log_level=G_LOG_LEVEL_CRITICAL, fields=0x7fffffffc650, n_fields=4) at ../glib/gmessages.c:1832
#5 0x00007ffff7c9e377 in g_log_default_handler
(log_domain=log_domain@entry=0x55555570c7e6 "cc-net-proxy-page", log_level=log_level@entry=10, message=message@entry=0x555555f20e70 "cc_net_proxy_page_set_enabled: assertion '!cc_net_proxy_page_has_modified (self)' failed", unused_data=unused_data@entry=0x0) at ../glib/gmessages.c:3357
#6 0x00007ffff7c95249 in g_logv
(log_domain=0x55555570c7e6 "cc-net-proxy-page", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffc7b0)
at ../glib/gmessages.c:1246
#7 0x00007ffff7c955b3 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../glib/gmessages.c:1315
#8 0x00007ffff7da259a in object_set_property
(object=0x555556450160, pspec=0x55555644f410, value=0x7fffffffc990, nqueue=0x555556c97a80, user_specified=<optimized out>)
at ../gobject/gobject.c:2169
#9 0x00007ffff7da54f7 in g_object_setv (object=0x555556450160, n_properties=<optimized out>, names=<optimized out>, values=<optimized out>)
at ../gobject/gobject.c:3080
#10 g_object_setv (object=0x555556450160, n_properties=<optimized out>, names=<optimized out>, values=<optimized out>) at ../gobject/gobject.c:3051
#11 0x00007ffff7da5731 in g_object_set_property (object=<optimized out>, property_name=<optimized out>, value=<optimized out>)
at ../gobject/gobject.c:3380
#12 0x00007ffff7d92f77 in on_target_notify (target=<optimized out>, pspec=<optimized out>, context=<optimized out>) at ../gobject/gbinding.c:621
#13 0x00007ffff7d915da in g_closure_invoke
(closure=0x555556bff6a0, return_value=0x0, n_param_values=2, param_values=0x7fffffffcbf0, invocation_hint=0x7fffffffcb40)
at ../gobject/gclosure.c:834
#14 0x00007ffff7dc1013 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7fffffffccf0, detail=detail@entry=1449, instance=instance@entry=0x555556af4450, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffcbf0) at ../gobject/gsignal.c:3888
#15 0x00007ffff7db1cb4 in signal_emit_valist_unlocked
(instance=instance@entry=0x555556af4450, signal_id=signal_id@entry=1, detail=detail@entry=1449, var_args=var_args@entry=0x7fffffffce60)
at ../gobject/gsignal.c:3520
#16 0x00007ffff7db1f11 in g_signal_emit_valist (instance=0x555556af4450, signal_id=1, detail=1449, var_args=var_args@entry=0x7fffffffce60)
at ../gobject/gsignal.c:3263
#17 0x00007ffff7db1fd3 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3583
#18 0x00007ffff7d9d684 in g_object_dispatch_properties_changed (object=0x555556af4450, n_pspecs=<optimized out>, pspecs=<optimized out>)
at ../gobject/gobject.c:1816
#19 0x00007ffff7da0c43 in g_object_notify_by_spec_internal (object=0x555556af4450, pspec=0x555556ae3170) at ../gobject/gobject.c:1921
#20 g_object_notify_by_pspec (object=0x555556af4450, pspec=0x555556ae3170) at ../gobject/gobject.c:2027
#21 0x00007ffff7d915da in g_closure_invoke
(closure=0x555556aff0f0, return_value=0x0, n_param_values=2, param_values=0x7fffffffd180, invocation_hint=0x7fffffffd0d0)
at ../gobject/gclosure.c:834
#22 0x00007ffff7dc1013 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7fffffffd280, detail=detail@entry=1449, instance=instance@entry=0x555556ace8f0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffd180) at ../gobject/gsignal.c:3888
#23 0x00007ffff7db1cb4 in signal_emit_valist_unlocked
(instance=instance@entry=0x555556ace8f0, signal_id=signal_id@entry=1, detail=detail@entry=1449, var_args=var_args@entry=0x7fffffffd3f0)
at ../gobject/gsignal.c:3520
#24 0x00007ffff7db1f11 in g_signal_emit_valist (instance=0x555556ace8f0, signal_id=1, detail=1449, var_args=var_args@entry=0x7fffffffd3f0)
at ../gobject/gsignal.c:3263
#25 0x00007ffff7db1fd3 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3583
#26 0x00007ffff7d9d684 in g_object_dispatch_properties_changed (object=0x555556ace8f0, n_pspecs=<optimized out>, pspecs=<optimized out>)
at ../gobject/gobject.c:1816
#27 0x00007ffff7da0c43 in g_object_notify_by_spec_internal (object=0x555556ace8f0, pspec=0x555556afb670) at ../gobject/gobject.c:1921
#28 g_object_notify_by_pspec (object=0x555556ace8f0, pspec=0x555556afb670) at ../gobject/gobject.c:2027
#29 0x00007ffff7000fc2 in gtk_switch_set_active (self=0x555556ace8f0, is_active=0) at ../gtk/gtkswitch.c:789
#30 gtk_switch_set_active (self=0x555556ace8f0, is_active=<optimized out>) at ../gtk/gtkswitch.c:767
#31 0x00007ffff7001145 in gtk_switch_on_frame_clock_update (widget=0x555556ace8f0, clock=<optimized out>, user_data=<optimized out>)
at ../gtk/gtkswitch.c:184
#32 0x00007ffff705a5f5 in gtk_widget_on_frame_clock_update (frame_clock=0x555555fadd20, widget=0x555556ace8f0) at ../gtk/gtkwidget.c:2991
#33 0x00007ffff7d915da in g_closure_invoke
(closure=0x555556c9f1c0, return_value=0x0, n_param_values=1, param_values=0x7fffffffd7a0, invocation_hint=0x7fffffffd6f0)
at ../gobject/gclosure.c:834
#34 0x00007ffff7dc1013 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7fffffffd880, detail=detail@entry=0, instance=instance@entry=0x555555fadd20, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffd7a0) at ../gobject/gsignal.c:3888
#35 0x00007ffff7db1cb4 in signal_emit_valist_unlocked
(instance=instance@entry=0x555555fadd20, signal_id=signal_id@entry=244, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd9f0)
at ../gobject/gsignal.c:3520
#36 0x00007ffff7db1f11 in g_signal_emit_valist (instance=0x555555fadd20, signal_id=244, detail=0, var_args=var_args@entry=0x7fffffffd9f0)
at ../gobject/gsignal.c:3263
#37 0x00007ffff7db1fd3 in g_signal_emit (instance=instance@entry=0x555555fadd20, signal_id=<optimized out>, detail=detail@entry=0)
at ../gobject/gsignal.c:3583
--Type <RET> for more, q to quit, c to continue without paging--c
#38 0x00007ffff723b7ab in _gdk_frame_clock_emit_update (frame_clock=0x555555fadd20) at ../gdk/gdkframeclock.c:712
#39 gdk_frame_clock_paint_idle (data=data@entry=0x555555fadd20) at ../gdk/gdkframeclockidle.c:586
#40 0x00007ffff723bd6e in gdk_frame_clock_flush_idle (data=data@entry=0x555555fadd20) at ../gdk/gdkframeclockidle.c:407
#41 0x00007ffff7c957e9 in g_timeout_dispatch (source=0x555556d1e850, callback=0x7ffff723bd00 <gdk_frame_clock_flush_idle>, user_data=0x555555fadd20)
at ../glib/gmain.c:4989
#42 0x00007ffff7c8f68c in g_main_dispatch (context=0x555555b002f0) at ../glib/gmain.c:3344
#43 g_main_context_dispatch_unlocked (context=0x555555b002f0) at ../glib/gmain.c:4152
#44 0x00007ffff7cf0788 in g_main_context_iterate_unlocked.isra.0
(context=context@entry=0x555555b002f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#45 0x00007ffff7c90b03 in g_main_context_iteration (context=context@entry=0x555555b002f0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#46 0x00007ffff7ebfabd in g_application_run (application=application@entry=0x555555afc1b0, argc=argc@entry=1, argv=argv@entry=0x7fffffffdec8)
at ../gio/gapplication.c:2712
#47 0x00005555555c8390 in main (argc=1, argv=0x7fffffffdec8) at ../shell/main.c:51
- Screenshots
Steps to reproduce:
- Open GNOME Settings network panel
- Open proxy configuration dialog
- Verify that all settings are in default state: proxy turned off, proxy mode set to Automatic
- Flip the proxy switch to turn on the proxy.
- Change proxy mode to Manual, such that the Save button appears in the header bar.
- Flip the proxy switch back to off to turn off the proxy (this is where the critical occurs). Click Save.
- Leave the network panel by loading a different panel
- Return back to the proxy panel. Proxy is improperly enabled.