After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 439208 - gnome-settings-daemon crashed with SIGSEGV
gnome-settings-daemon crashed with SIGSEGV
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: [obsolete] settings-daemon
2.18.x
Other Linux
: Normal critical
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-05-17 16:43 UTC by Sebastien Bacher
Modified: 2007-05-17 19:44 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18



Description Sebastien Bacher 2007-05-17 16:43:02 UTC
The bug has been opened on https://bugs.launchpad.net/ubuntu/+source/control-center/+bug/110147

"segment violation after upgrading to feisty
...


--- gnome-settings-daemon/gnome-settings-dbus.c-orig 2007-05-01 15:49:23.000000000 -0400
+++ gnome-settings-daemon/gnome-settings-dbus.c 2007-05-01 15:47:44.000000000 -0400
@@ -221,9 +221,13 @@
        if (!org_freedesktop_DBus_request_name
            (driver_proxy, "org.gnome.SettingsDaemon", 0, &request_ret,
             &error)) {
- g_warning ("Unable to register service: %s",
- error->message);
- g_error_free (error);
+ if (error != NULL) {
+ g_warning ("Unable to register service: %s",
+ error->message);
+ g_error_free (error);
+ } else {
+ g_warning ("Unable to register service because of unknown DBUS error");
+ }
        }

        g_object_unref (driver_proxy);
...
That is reproducable when the user-session "dbus-daemon" isn't running.
...
Hi Seb. IIRC, I think the bug is really in the dbus library, in that it claims to create an 'error', but instead returns an exceptional value and yet doesn't set error to point to something other than NULL. So, there's probably a bug in dbus.

This patch makes gnome-settings-daemon check that 'error' is actually set to something before trying to use it. It's purely a defensive measure against dbus doing something unexpected. If it happens, we should perhaps make a loud noise also, but we should never crash because of it."

The change has been suggested by "Chad MILLER"
Comment 1 Jens Granseuer 2007-05-17 19:44:47 UTC
Thanks, applied to both 2.18 and trunk.

You should really also pass this on to dbus if it hasn't been fixed, yet.