Bug 1665639 - Selecting Privacy in system-config-abrt results in gnome-control-center aborting with a failed assertion in Plasma
Summary: Selecting Privacy in system-config-abrt results in gnome-control-center abort...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-control-center
Version: 30
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Pete Walter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-01-12 01:09 UTC by Matt Fagnani
Modified: 2020-05-26 18:32 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-26 18:32:19 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
coredumpctl debug output with trace of all threads of gnome-control-center crash (28.69 KB, text/plain)
2019-01-12 01:09 UTC, Matt Fagnani
no flags Details

Description Matt Fagnani 2019-01-12 01:09:40 UTC
Created attachment 1520165 [details]
coredumpctl debug output with trace of all threads of gnome-control-center crash

Description of problem:

When I've selected Privacy in system-config-abrt in Plasma 5.14.4, the privacy settings in gnome-control-center weren't shown. The following failed assertion was shown in konsole:
ERROR:../shell/cc-shell-model.c:458:cc_shell_model_set_panel_visibility: assertion failed: (valid)

coredumpctl showed that gnome-control-center aborted. The trace of the 
crashing thread had the failed assertion in #4 using coredumpctl debug and gdb. 

(gdb) bt full
#0  0xb7ee1d41 in __kernel_vsyscall ()
#1  0xb5eb8b46 in __libc_signal_restore_set (set=0xbfc7d86c)
    at ../sysdeps/unix/sysv/linux/internal-signals.h:84
        set = 
            {__val = {0, 0, 3053647832, 3083203343, 656635648, 0, 3083203328, 3083198125, 3083545784, 0, 3083203328, 39690480, 3083200993, 39690480, 2, 39689824, 39897027, 0, 3082038986, 3083545784, 3083221011, 39856304, 3053647832, 0, 65, 3053647832, 129, 3053645824, 0, 99, 0, 3217545632}}
        pid = <optimized out>
        tid = <optimized out>
        ret = 0
#2  0xb5eb8b46 in __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:48
        set = 
            {__val = {0, 0, 3053647832, 3083203343, 656635648, 0, 3083203328, 3083198125, 3083545784, 0, 3083203328, 39690480, 3083200993, 39690480, 2, 39689824, 39897027, 0, 3082038986, 3083545784, 3083221011, 39856304, 3053647832, 0, 65, 3053647832, 129, 3053645824, 0, 99, 0, 3217545632}}
        pid = <optimized out>
        tid = <optimized out>
        ret = 0
#3  0xb5ea2374 in __GI_abort () at abort.c:79
        save_stage = 1
        act = 
          {__sigaction_handler = {sa_handler = 0x260cde0, sa_sigaction = 0x260cde0}, sa_mask = {__val = {0, 3217545848, 4, 3053649120, 3053645824, 39898592, 3083136020, 38497144, 0, 38497152, 111, 98, 38497152, 3081999837, 3083136020, 3082186427, 3083136020, 3053649432, 656635648, 37553376, 3053649120, 3052427083, 3083136020, 3849--Type <RET> for more, q to quit, c to continue without paging--c
7152, 3083139456, 99, 3082186453, 38497152, 3082734910, 3052439661, 3083136020, 3082186427}}, sa_flags = -1211831276, sa_restorer = 0x24b6b80}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#4  0xb7b2cb64 in g_assertion_message (domain=0x0, file=0x5fff01 "../shell/cc-shell-model.c", line=458, func=0x5fff40 <__func__.58212> "cc_shell_model_set_panel_visibility", message=0x25ea570 "assertion failed: (valid)") at gtestutils.c:2596
        lstr = "458\000\210\245^\002}\256\273\267\020\000\000\000\240\000\000\000\213m\266\267\332\035\270\267\024\354ķ"
        s = 0x24b6b80 "pfK\002\020\060\362\001/shell/cc-shell-model.c:458:cc_shell_model_set_panel_visibility: assertion failed: (valid)"
#5  0xb7b8a530 in g_assertion_message_expr (domain=0x0, file=0x5fff01 "../shell/cc-shell-model.c", line=458, func=0x5fff40 <__func__.58212> "cc_shell_model_set_panel_visibility", expr=0x5f9c08 "valid") at gtestutils.c:2619
        s = 0x25ea570 "assertion failed: (valid)"
#6  0x005d5136 in cc_shell_model_set_panel_visibility (self=<optimized out>, id=<optimized out>, visibility=CC_PANEL_VISIBLE_IN_SEARCH) at ../shell/cc-shell-model.c:458
        model = 0x2529138
        iter = {stamp = 0, user_data = 0x0, user_data2 = 0x0, user_data3 = 0x0}
        valid = <optimized out>
        __func__ = "cc_shell_model_set_panel_visibility"
#7  0x005944c0 in update_panel_visibility (client=0x25b99d0 [NMClient]) at ../panels/network/cc-wifi-panel.c:112
        devices = <optimized out>
        application = <optimized out>
        visible = 0
        i = <optimized out>
#8  0x005952b9 in cc_wifi_panel_static_init_func () at ../panels/network/cc-wifi-panel.c:141
        client = 0x25b99d0 [NMClient]
#9  0x004c4837 in cc_panel_loader_fill_model (model=<optimized out>) at ../shell/cc-panel-loader.c:214
        i = <optimized out>
#10 0x004c8e49 in setup_model (shell=0x25321a0 [CcWindow]) at ../shell/cc-shell-model.h:31
        model = 0x2529138
        iter = {stamp = -1211421512, user_data = 0xbfc7dd74, user_data2 = 0xb7c639ca <g_value_object_free_value+10>, user_data3 = 0xb7cb2cb8}
        valid = <optimized out>
        __func__ = "setup_model"
        id = 0x0
        settings = <optimized out>
        self = 0x25321a0 [CcWindow]
#11 0x004c8e49 in cc_window_constructed (object=0x25321a0 [CcWindow]) at ../shell/cc-window.c:767
        id = 0x0
        settings = <optimized out>
        self = 0x25321a0 [CcWindow]
#12 0xb7c64365 in g_object_new_internal (class=class@entry=0x23e7c00, params=params@entry=0xbfc7df1c, n_params=n_params@entry=7) at gobject.c:1845
        nqueue = 0x23e8000
        object = 0x25321a0 [CcWindow]
        __func__ = "g_object_new_internal"
#13 0xb7c66118 in g_object_new_valist (object_type=<optimized out>, first_property_name=<optimized out>, var_args=<optimized out>) at gobject.c:2128
        stack_params = {{pspec = 0x1f9f8f0 [GParamObject], value = 0xbfc7de80}, {pspec = 0x1f9cdf8 [GParamBoolean], value = 0xbfc7de60}, {pspec = 0x1fa2818 [GParamString], value = 0xbfc7de40}, {pspec = 0x1fa29a8 [GParamString], value = 0xbfc7de20}, {pspec = 0x1f9ce88 [GParamEnum], value = 0xbfc7de00}, {pspec = 0x25291b0 [GParamBoolean], value = 0xbfc7dde0}, {pspec = 0x25288b8 [GParamObject], value = 0xbfc7ddc0}, {pspec = 0x24d6e80, value = 0x1f37e70}, {pspec = 0x27, value = 0x8}, {pspec = 0x0, value = 0x8}, {pspec = 0xa0, value = 0x1f3b760}, {pspec = 0xbfc7dff0, value = 0xb7b8033f <g_slice_free1+15>}, {pspec = 0xb7c4ec14, value = 0x8b1994 <g_define_type_id.volatile>}, {pspec = 0xb7c4fa70, value = 0x1fa4890}, {pspec = 0x0, value = 0x7fffffff}, {pspec = 0x81, value = 0xb5f7204b <syscall+43>}}
        params = 0xbfc7df1c
        name = <optimized out>
        n_params = 7
        class = <optimized out>
        unref_class = <optimized out>
        object = <optimized out>
        __func__ = "g_object_new_valist"
#14 0xb7c661dd in g_object_new (object_type=0x24d6e80 [CcWindow/GtkApplicationWindow/GtkWindow/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned], first_property_name=0x5e292e "application") at gobject.c:1648
        object = <optimized out>
        var_args = 0xbfc7dfe8 "\360q\371\001݃]"
#15 0x004c9587 in cc_window_new (application=0x1f971f0 [CcApplication], model=0x2529138 [CcShellModel]) at ../shell/cc-window.c:885
        __func__ = "cc_window_new"
#16 0x004c2d9a in cc_application_startup (application=0x1f971f0 [CcApplication]) at ../shell/cc-application.c:265
        self = 0x1f971f0 [CcApplication]
        section = <optimized out>
        menu = <optimized out>
        help_accels = {0x5d70b3 "F1", 0x0}
#20 0xb7c7b839 in <emit signal ??? on instance 0x1f971f0 [CcApplication]> (instance=0x1f971f0, signal_id=185, detail=0) at gsignal.c:3447
        var_args = 0xbfc7e34c "scշ\bp\352\267\377\377\377\377\200\375;\002\371jշ\360q\371\001"
    #17 0xb7c5e858 in g_closure_invoke (closure=0x23bdf70, return_value=0x0, n_param_values=1, param_values=0xbfc7e1f0, invocation_hint=0xbfc7e194) at gclosure.c:810
                marshal = 0xb7c5cf70 <g_type_class_meta_marshal>
                marshal_data = 0x44
                in_marshal = 0
                real_closure = 0x23bdf60
                __func__ = "g_closure_invoke"
    #18 0xb7c72135 in signal_emit_unlocked_R (node=node@entry=0x23c5b00, detail=detail@entry=0, instance=instance@entry=0x1f971f0, emission_return=0x0, instance_and_params=0xbfc7e1f0) at gsignal.c:3565
                accumulator = 0x0
                emission = {next = 0x0, instance = 0x1f971f0, ihint = {signal_id = 185, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x223ce00 [CcApplication/GtkApplication/GApplication]}
                class_closure = 0x23bdf70
                hlist = <optimized out>
                handler_list = <optimized out>
                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}}}
                signal_id = 185
                return_value_altered = <optimized out>
    #19 0xb7c7b335 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=0xbfc7e34c "scշ\bp\352\267\377\377\377\377\200\375;\002\371jշ\360q\371\001") at gsignal.c:3391
                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"
#21 0xb7d56461 in g_application_register (error=0xbfc7e39c, cancellable=0x0, application=0x1f971f0 [CcApplication]) at gapplication.c:2137
        __func__ = "g_application_register"
        __func__ = "g_application_register"
#22 0xb7d56461 in g_application_register (application=0x1f971f0 [CcApplication], cancellable=0x0, error=0xbfc7e39c) at gapplication.c:2109
        __func__ = "g_application_register"
#23 0xb7d56af9 in g_application_real_local_command_line (application=0x1f971f0 [CcApplication], arguments=0xbfc7e440, exit_status=0xbfc7e444) at gapplication.c:1086
        error = 0x0
        options = 0x23bfd80
        n_args = <optimized out>
#24 0xb7d570de in g_application_run (application=0x1f971f0 [CcApplication], argc=2, argv=0xbfc7e554) at gapplication.c:2439
        arguments = 0x251faf0
        status = -1
        context = 0x1f84620
        acquired_context = <optimized out>
        __func__ = "g_application_run"
#25 0x004c1f40 in main (argc=<optimized out>, argv=<optimized out>) at ../shell/main.c:57
        application = 0x1f971f0

I'll upload the coredumpctl debug output with the full trace of all threads. The gnome-control-center crash appeared using journalctl -b, but it wasn't shown in gnome-abrt.

Version-Release number of selected component (if applicable):
abrt-0:2.11.1-2.fc29.i686
gnome-control-center-0:3.30.2-1.fc29.i686
plasma-desktop-0:5.14.4-2.fc29.i686

How reproducible:
gnome-control-center crashed due to the failed assertion on each of 5 times I tried the steps below in Plasma.

Steps to Reproduce:
1. system-config-abrt & ( in konsole in Plasma )
2. Click Privacy
3. close system-config-abrt
4. coredumpctl
5. coredumpctl debug
6. journalctl -b

Actual results:
When clicking on Privacy in system-config-abrt in Plasma, gnome-control-center aborted.

Expected results:
The Privacy settings are shown correctly.

Additional info:
When I ran system-config-abrt in gnome and clicked Privacy, gnome-control-center  started correctly with the Privacy screen shown. The crash of gnome-control-center might be related to a desktop environment other than gnome being used.

Comment 1 ekulik 2019-01-13 07:54:54 UTC
We only launch gnome-privacy-panel.desktop, so likely this is gnome-control-center.

Comment 2 Matt Fagnani 2019-01-15 08:54:04 UTC
OnlyShowIn=GNOME;Unity; is in /usr/share/applications/gnome-privacy-panel.desktop . gnome-control-center might only be intended to be run in gnome or unity. When I changed that to OnlyShowIn=GNOME;Unity;KDE; and I ran the steps above in Plasma, the same failed assertion and crash of gnome-control-center happened. When I ran gnome-control-center itself in Plasma, the same crash happened. Bug 1645855 described the same failed assertion and crash of gnome-control-center when run in Plasma and Xfce. 

The failed assertion in cc_shell_model_set_panel_visibility at cc-shell-model.c:458 appears to be related to no panel of gnome-control-center being shown so the visibility of the panel couldn't be set.

/* If we don't find any panel with the given id, we'll iterate until    
 * valid == FALSE, so we can use this variable to determine if the    
 * panel was found or not. It is a programming error to try to set    
 * the visibility of a non-existant panel.    */   
g_assert (valid);
https://gitlab.gnome.org/GNOME/gnome-control-center/blob/gnome-3-30/shell/cc-shell-model.c

Three possible ways to address the crash might be:
1. gnome-control-center could be updated so that it runs correctly in Plasma or other desktop environments. 
2. The abrt privacy settings could be made configurable directly within system-config-abrt which would make it compatible with the various desktop environments. 
3. system-config-abrt could detect which desktop environment is running and then run a specific program for each environment's privacy settings.

Comment 3 ekulik 2019-01-15 09:03:03 UTC
Looks like you want to make some noise upstream: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/248.

Comment 4 Sergio Basto 2019-04-19 14:07:27 UTC
XDG_CURRENT_DESKTOP=GNOME gnome-control-center

worked for me ( on Fedora 29 )

Comment 5 Ben Cotton 2019-10-31 19:35:35 UTC
This message is a reminder that Fedora 29 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 29 on 2019-11-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '29'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 29 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 6 Sergio Basto 2019-11-01 19:23:25 UTC
Not fixed in F30 

gnome-control-center
**
ERROR:../shell/cc-shell-model.c:458:cc_shell_model_set_panel_visibility: assertion failed: (valid)
Aborted (core dumped)

Comment 7 Ben Cotton 2020-04-30 20:17:53 UTC
This message is a reminder that Fedora 30 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 30 on 2020-05-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '30'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 30 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 8 Ben Cotton 2020-05-26 18:32:19 UTC
Fedora 30 changed to end-of-life (EOL) status on 2020-05-26. Fedora 30 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.