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

Reply via email to