Seb, so from the stacktrace the problem seems to be that have_notify_shell is being called after managers is destroyed.
the changes 1. moving unwatch dbus to before xsettings_manager_destroy(): seems there is small chance of a race here if the shell disappears while manager is being destroyed. 2. if (manager->priv->managers == NULL), possibly not needed if 1. was the cause of the crash, but added it to be safe, since there is nothing to do but crash in this case. 3. change dbus name, unity spoofs org.gnome.shell, so actually notify_have_shell would have be getting called twice on startup/shutdown of unity. Not upstreamable 4. Only call notify_have_shell if the have_[shell/unity] values have changed. Upstream already do this however its a bit simpler in their case since they only have a single have_shell. The fact that upstream even do this, makes me think its possible for the callbacks to be fired multiple times or when not required. Not upstreamable -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to gnome-settings-daemon in Ubuntu. https://bugs.launchpad.net/bugs/1232419 Title: [xsettings]: gnome-settings-daemon crashed with SIGSEGV in notify_have_shell() Status in Gnome Settings Daemon: Confirmed Status in “gnome-settings-daemon” package in Ubuntu: Triaged Status in “gnome-settings-daemon” package in Fedora: Unknown Bug description: No idea what this relates to, but the crash was reported on a reboot, and appeared just after launching the Display settings UI. ProblemType: Crash DistroRelease: Ubuntu 13.10 Package: gnome-settings-daemon 3.8.5-0ubuntu5 ProcVersionSignature: Ubuntu 3.11.0-9.16-generic 3.11.2 Uname: Linux 3.11.0-9-generic i686 ApportVersion: 2.12.5-0ubuntu1 Architecture: i386 CrashCounter: 1 Date: Sat Sep 28 00:08:59 2013 ExecutablePath: /usr/lib/gnome-settings-daemon/gnome-settings-daemon InstallationDate: Installed on 2013-08-15 (43 days ago) InstallationMedia: Ubuntu-GNOME 13.10 "Saucy Salamander" - Alpha i386 (20130626) MarkForUpload: True ProcCmdline: /usr/lib/gnome-settings-daemon/gnome-settings-daemon ProcEnviron: LANGUAGE=en_GB:en PATH=(custom, no user) XDG_RUNTIME_DIR=<set> LANG=en_GB.UTF-8 SHELL=/bin/false SegvAnalysis: Segfault happened at: 0xb5a5d12a: mov (%eax),%eax PC (0xb5a5d12a) ok source "(%eax)" (0x00000000) not located in a known VMA region (needed readable region)! destination "%eax" ok SegvReason: reading NULL VMA Signal: 11 SourcePackage: gnome-settings-daemon StacktraceTop: ?? () from /usr/lib/gnome-settings-daemon-3.0/libxsettings.so ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0 ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0 ffi_call_SYSV () from /usr/lib/i386-linux-gnu/libffi.so.6 ffi_call () from /usr/lib/i386-linux-gnu/libffi.so.6 Title: [xsettings]: gnome-settings-daemon crashed with SIGSEGV in ffi_call_SYSV() UpgradeStatus: No upgrade log present (probably fresh install) UserGroups: To manage notifications about this bug go to: https://bugs.launchpad.net/gnome-settings-daemon/+bug/1232419/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp

