gnome-control-center segfaults on startup on 14.04 (due to a ppa 3.10 library version)

Bug #1309419 reported by Marius Gedminas
This bug report is a duplicate of:  Bug #1392954: Handle soname bumps in package names. Edit Remove
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ubuntu GNOME
Confirmed
High
Unassigned

Bug Description

Freshly upgraded to 14.04. Can't launch System Preferences: /usr/bin/gnome-control-center.real segfaults on startup.

Here's a backtrace with debug symbols:

    mg@platonas: ~ $ gdb /usr/bin/gnome-control-center.real
    GNU gdb (Ubuntu 7.7-0ubuntu3) 7.7
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from /usr/bin/gnome-control-center.real...Reading symbols from /usr/lib/debug/.build-id/cd/f1f1cd11687a7829f674776af077f8700f7fd7.debug...done.
    done.
    (gdb) run
    Starting program: /usr/bin/gnome-control-center.real
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    [New Thread 0x7fffeecf6700 (LWP 14214)]
    [New Thread 0x7fffee4f5700 (LWP 14215)]

    (gnome-control-center.real:14208): GLib-GObject-WARNING **: cannot derive 'GnomeControlCenter' from non-fundamental parent type 'CcShell'

    (gnome-control-center.real:14208): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

    (gnome-control-center.real:14208): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

    Program received signal SIGSEGV, Segmentation fault.
    0x0000000000409ee1 in gnome_control_center_show (center=0x0, app=0x7cc0f0) at gnome-control-center.c:1470
    1470 gnome-control-center.c: Toks failas ar aplankas neegzistuoja.
    (gdb) bt
    #0 0x0000000000409ee1 in gnome_control_center_show (center=0x0, app=0x7cc0f0) at gnome-control-center.c:1470
    #1 0x0000000000407306 in application_command_line_cb (application=0x7cc0f0, command_line=<optimized out>, shell=0x0) at control-center.c:121
    #2 0x00007ffff1dc2adc in ffi_call_unix64 () at ../src/x86/unix64.S:76
    #3 0x00007ffff1dc240c in ffi_call (cif=cif@entry=0x7fffffffd750, fn=0x407160 <application_command_line_cb>, rvalue=0x7fffffffd6c0,
        avalue=avalue@entry=0x7fffffffd660) at ../src/x86/ffi64.c:522
    #4 0x00007ffff60a1bf8 in g_cclosure_marshal_generic (closure=0x7f6f00, return_gvalue=0x7fffffffd8a0, n_param_values=<optimized out>,
        param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=0x0) at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c:1445
    #5 0x00007ffff60a13b8 in g_closure_invoke (closure=0x7f6f00, return_value=0x7fffffffd8a0, n_param_values=2, param_values=0x7fffffffd950,
        invocation_hint=0x7fffffffd8f0) at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c:768
    #6 0x00007ffff60b2d3d in signal_emit_unlocked_R (node=node@entry=0x758a00, detail=detail@entry=0, instance=instance@entry=0x7cc0f0,
        emission_return=emission_return@entry=0x7fffffffda20, instance_and_params=instance_and_params@entry=0x7fffffffd950)
        at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3551
    #7 0x00007ffff60ba6f9 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>,
        var_args=var_args@entry=0x7fffffffdae8) at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3317
    #8 0x00007ffff60bace2 in g_signal_emit (instance=instance@entry=0x7cc0f0, signal_id=<optimized out>, detail=detail@entry=0)
        at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3363
    #9 0x00007ffff67f07f3 in g_application_call_command_line (application=0x7cc0f0, arguments=<optimized out>, options=<optimized out>,
        exit_status=0x7fffffffdcdc) at /build/buildd/glib2.0-2.40.0/./gio/gapplication.c:870
    #10 0x00007ffff67f2436 in g_application_real_local_command_line (application=0x7cc0f0, arguments=0x7fffffffdce0, exit_status=0x7fffffffdcdc)
        at /build/buildd/glib2.0-2.40.0/./gio/gapplication.c:924
    #11 0x00007ffff67f25ab in g_application_run (application=0x7cc0f0, argc=argc@entry=1, argv=argv@entry=0x7fffffffde38)
        at /build/buildd/glib2.0-2.40.0/./gio/gapplication.c:2084
    #12 0x0000000000407012 in main (argc=1, argv=0x7fffffffde38) at control-center.c:263
    (gdb) thread apply all bt

    Thread 3 (Thread 0x7fffee4f5700 (LWP 14215)):
    #0 0x00007ffff5892fbd in poll () at ../sysdeps/unix/syscall-template.S:81
    #1 0x00007ffff5dd1fe4 in g_main_context_poll (priority=2147483647, n_fds=2, fds=0x7fffe00010c0, timeout=-1, context=0x7fffe8011ac0)
        at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:4028
    #2 g_main_context_iterate (context=0x7fffe8011ac0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
        at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3729
    #3 0x00007ffff5dd230a in g_main_loop_run (loop=0x7fffe8011a50) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3928
    #4 0x00007ffff6826e16 in gdbus_shared_thread_func (user_data=0x7fffe8011a90) at /build/buildd/glib2.0-2.40.0/./gio/gdbusprivate.c:273
    #5 0x00007ffff5df6f15 in g_thread_proxy (data=0x692d90) at /build/buildd/glib2.0-2.40.0/./glib/gthread.c:764
    #6 0x00007ffff5b73182 in start_thread (arg=0x7fffee4f5700) at pthread_create.c:312
    #7 0x00007ffff58a030d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

    Thread 2 (Thread 0x7fffeecf6700 (LWP 14214)):
    #0 0x00007ffff5892fbd in poll () at ../sysdeps/unix/syscall-template.S:81
    #1 0x00007ffff5dd1fe4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7fffe80010e0, timeout=-1, context=0x68a960)
        at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:4028
    #2 g_main_context_iterate (context=context@entry=0x68a960, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
        at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3729
    #3 0x00007ffff5dd20ec in g_main_context_iteration (context=0x68a960, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
    #4 0x00007fffeecfe1ad in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
    #5 0x00007ffff5df6f15 in g_thread_proxy (data=0x643850) at /build/buildd/glib2.0-2.40.0/./glib/gthread.c:764
    #6 0x00007ffff5b73182 in start_thread (arg=0x7fffeecf6700) at pthread_create.c:312
    #7 0x00007ffff58a030d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

    Thread 1 (Thread 0x7ffff7fb19c0 (LWP 14208)):
    #0 0x0000000000409ee1 in gnome_control_center_show (center=0x0, app=0x7cc0f0) at gnome-control-center.c:1470
    #1 0x0000000000407306 in application_command_line_cb (application=0x7cc0f0, command_line=<optimized out>, shell=0x0) at control-center.c:121
    #2 0x00007ffff1dc2adc in ffi_call_unix64 () at ../src/x86/unix64.S:76
    #3 0x00007ffff1dc240c in ffi_call (cif=cif@entry=0x7fffffffd750, fn=0x407160 <application_command_line_cb>, rvalue=0x7fffffffd6c0,
        avalue=avalue@entry=0x7fffffffd660) at ../src/x86/ffi64.c:522
    #4 0x00007ffff60a1bf8 in g_cclosure_marshal_generic (closure=0x7f6f00, return_gvalue=0x7fffffffd8a0, n_param_values=<optimized out>,
        param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=0x0) at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c:1445
    #5 0x00007ffff60a13b8 in g_closure_invoke (closure=0x7f6f00, return_value=0x7fffffffd8a0, n_param_values=2, param_values=0x7fffffffd950,
    ---Type <return> to continue, or q <return> to quit---
        invocation_hint=0x7fffffffd8f0) at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c:768
    #6 0x00007ffff60b2d3d in signal_emit_unlocked_R (node=node@entry=0x758a00, detail=detail@entry=0, instance=instance@entry=0x7cc0f0,
        emission_return=emission_return@entry=0x7fffffffda20, instance_and_params=instance_and_params@entry=0x7fffffffd950)
        at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3551
    #7 0x00007ffff60ba6f9 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>,
        var_args=var_args@entry=0x7fffffffdae8) at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3317
    #8 0x00007ffff60bace2 in g_signal_emit (instance=instance@entry=0x7cc0f0, signal_id=<optimized out>, detail=detail@entry=0)
        at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c:3363
    #9 0x00007ffff67f07f3 in g_application_call_command_line (application=0x7cc0f0, arguments=<optimized out>, options=<optimized out>,
        exit_status=0x7fffffffdcdc) at /build/buildd/glib2.0-2.40.0/./gio/gapplication.c:870
    #10 0x00007ffff67f2436 in g_application_real_local_command_line (application=0x7cc0f0, arguments=0x7fffffffdce0, exit_status=0x7fffffffdcdc)
        at /build/buildd/glib2.0-2.40.0/./gio/gapplication.c:924
    #11 0x00007ffff67f25ab in g_application_run (application=0x7cc0f0, argc=argc@entry=1, argv=argv@entry=0x7fffffffde38)
        at /build/buildd/glib2.0-2.40.0/./gio/gapplication.c:2084
    #12 0x0000000000407012 in main (argc=1, argv=0x7fffffffde38) at control-center.c:263
    (gdb)

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: gnome-control-center 1:3.6.3-0ubuntu56
ProcVersionSignature: Ubuntu 3.13.0-24.46-generic 3.13.9
Uname: Linux 3.13.0-24-generic x86_64
ApportVersion: 2.14.1-0ubuntu3
Architecture: amd64
CurrentDesktop: GNOME
Date: Fri Apr 18 12:00:46 2014
EcryptfsInUse: Yes
InstallationDate: Installed on 2012-07-25 (631 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
SourcePackage: gnome-control-center
UpgradeStatus: Upgraded to trusty on 2014-04-18 (0 days ago)
usr_lib_gnome-control-center:
 activity-log-manager 0.9.7-0ubuntu14
 deja-dup 30.0-0ubuntu4

Revision history for this message
Marius Gedminas (mgedmin) wrote :
Revision history for this message
Marius Gedminas (mgedmin) wrote :

Trying to step through this with gdb.

In main(), control-center.c:254 the following statement

    shell = gnome_control_center_new ();

assigns NULL to shell, after emitting a few warnings:

    (gnome-control-center.real:653): GLib-GObject-WARNING **: cannot derive 'GnomeControlCenter' from non-fundamental parent type 'CcShell'

    (gnome-control-center.real:653): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

    (gnome-control-center.real:653): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

which then causes a segfault later, when it's dereferenced.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-control-center (Ubuntu):
status: New → Confirmed
Revision history for this message
Marius Gedminas (mgedmin) wrote :

I can reproduce this by creating a new user account (sudo adduser guest) and logging in.

I cannot reproduce this by booting Ubuntu GNOME 14.04 LiveCD.

Revision history for this message
Marius Gedminas (mgedmin) wrote :

Ok, turns out I hadn't actually purged all the PPA packages correctly, and so I somehow ended up with gnome-control-center 1:3.6.3-0ubuntu56 but libgnome-control-center1 1:3.10.1-0ubuntu1~saucy3 .

After I downgraded the former gnome3-team/gnome3 PPA packages to their versions in trusty, this problem no longer recurs.

The command I used was

    sudo apt-get install $(apt-show-versions|grep 'newer than version in archive'|cut -d ':' -f 1|sed -e 's/$/\/trusty/')

Revision history for this message
Oleksii Chyrkov (fess89) wrote :

Thanks Marius Gediminas, this has worked for me! (Just updated from 13.10 to 14.04, had other Gnome issues as well).

Revision history for this message
Steve Holmes (bouncysteve) wrote :

Marius, works for me too, thanks!

Revision history for this message
ejahn (eric-ejahn) wrote :

Marius, thank you for taking the time to resolve this for the rest of us. Using Synaptic, I just downgraded libgnome-control-center1 1:3.10.1-0ubuntu1~saucy3 to 1:3.6.3-0ubuntu56 (with Package->Force Version), and it runs now.

Revision history for this message
Sebastien Bacher (seb128) wrote :

The issue is not an Ubuntu one but due to versions mismatch between the library and the binary due to ppa installs

affects: gnome-control-center (Ubuntu) → ubuntu-gnome
Changed in ubuntu-gnome:
importance: Undecided → High
summary: - gnome-control-center segfaults on startup on 14.04
+ gnome-control-center segfaults on startup on 14.04 (due to a ppa 3.10
+ library version)
Revision history for this message
ali_hamdi (hamdi-ali-1982) wrote :

Downgrading the library 1:3.10.1-0ubuntu1~saucy3 to 1:3.6.3-0ubuntu45 fixed the issue for me too.

Revision history for this message
GroovyMotion (flywaver) wrote :

Running 14.04 LTS with gnome 3.10.4
got this error message: gnome-control-center.real crashed with SIGSEGV
 and in sys log: Could not upload; processing later (/var/crash/_usr_bin_gnome-control-center.real.1000.crash).

Both gnome-control-center and libgnome-control-center are version 1:3.8.6-0ubuntu1~trusty1

Revision history for this message
Jarno Suni (jarnos) wrote :

This bug has been marked against package ppa-purge. Did you guys try to purge the PPAs by ppa-purge before upgrading to Trusty? I don't see why you had greater version of libgnome-control-center1, if you did.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.