[xsettings]: gnome-settings-daemon crashed with SIGSEGV in notify_have_shell()

Bug #1232419 reported by Cefn
134
This bug affects 19 people
Affects Status Importance Assigned to Milestone
GNOME Settings Daemon
Fix Released
Medium
gnome-settings-daemon (Fedora)
Won't Fix
Undecided
gnome-settings-daemon (Ubuntu)
High
Unassigned

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:

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Version-Release number of selected component:
gnome-settings-daemon-3.8.1-1.fc19

Additional info:
reporter: libreport-2.1.4
backtrace_rating: 4
cmdline: /usr/libexec/gnome-settings-daemon
crash_function: notify_have_shell
executable: /usr/libexec/gnome-settings-daemon
kernel: 3.9.0-301.fc19.x86_64
runlevel: N 5
uid: 42

Truncated backtrace:
Thread no. 1 (3 frames)
 #0 notify_have_shell at gsd-xsettings-manager.c:719
 #1 call_in_idle_cb at gdbusnamewatching.c:180
 #6 gtk_main at gtkmain.c:1156

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752765
File: backtrace

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752766
File: cgroup

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752767
File: core_backtrace

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752768
File: dso_list

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752769
File: environ

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752770
File: limits

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752771
File: maps

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752772
File: open_fds

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752773
File: proc_pid_status

Revision history for this message
In , sam (sam-redhat-bugs-1) wrote :

Created attachment 752774
File: var_log_messages

Revision history for this message
Cefn (6-launchpad-net-cefn-com) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 notify_have_shell (manager=0x9d3da30) at gsd-xsettings-manager.c:717
 actually_do_call (client=<optimized out>, connection=<optimized out>, name_owner=0x9f4c858 ":1.10", call_type=CALL_TYPE_NAME_VANISHED) at /build/buildd/glib2.0-2.38.0/./gio/gdbusnamewatching.c:164
 do_call (client=0x9d88508, call_type=CALL_TYPE_NAME_VANISHED) at /build/buildd/glib2.0-2.38.0/./gio/gdbusnamewatching.c:216
 ffi_call_SYSV () at ../src/x86/sysv.S:65
 ffi_call (cif=<optimized out>, cif@entry=0xbfcbb784, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, avalue@entry=0xbfcbb6d0) at ../src/x86/ffi.c:411

Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt
Revision history for this message
Apport retracing service (apport) wrote : StacktraceSource.txt
Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt
Changed in gnome-settings-daemon (Ubuntu):
importance: Undecided → Medium
summary: [xsettings]: gnome-settings-daemon crashed with SIGSEGV in
- ffi_call_SYSV()
+ notify_have_shell()
tags: removed: need-i386-retrace
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in gnome-settings-daemon (Ubuntu):
status: New → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug report. Is tha

information type: Private → Public
Changed in gnome-settings-daemon (Ubuntu):
importance: Medium → High
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug report. Is that happening only to gnome-shell users?

Revision history for this message
bhatta (bhattacharya-abhishek) wrote : Re: [Bug 1232419] Re: [xsettings]: gnome-settings-daemon crashed with SIGSEGV in notify_have_shell()

On Tue, 2013-10-22 at 19:15 +0000, Sebastien Bacher wrote:
> Thank you for your bug report. Is that happening only to gnome-shell
> users?
>

Well it never happened since that one time !
I guess it has been taken care of one way or another.

Am currently running Ubuntu Gnome 13.10 with low-latency kernel and
Ubuntu Studio packages installed.

Revision history for this message
Tim Lunn (darkxst) wrote :

I have made some tweaks to the 90_set_gmenus_xsettings.patch which might help with this, however I have not been able to reproduce locally so can't confirm

Revision history for this message
Cefn (6-launchpad-net-cefn-com) wrote :

I didn't experience it again, so must have been transient, or fixed by later updates. Will report back if I see it again. I only saw it on Ubuntu Gnome.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "have_notify_crash.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

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

@Tim: could you detail a bit the changes you did? Some of those seem like unrequired or upstreamable (e.g moving the unwatch calls before stop_fontconfig_monitor() or the "if (manager->priv->managers == NULL) return"

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

The issue is not Ubuntu specific, see e.g https://bugzilla.redhat.com/show_bug.cgi?id=967087, I've reported it upstream on https://bugzilla.gnome.org/show_bug.cgi?id=711238

Changed in gnome-settings-daemon (Ubuntu):
status: Confirmed → Triaged
Changed in gnome-settings-daemon:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
Tim Lunn (darkxst) wrote :

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

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

Thanks for the details, could you upstream the changes that apply to upstrem as well?

Changed in gnome-settings-daemon:
status: Confirmed → Fix Released
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks Tim, I've done an upload with a fix similar to the one that went upstream to see if that's enough to fix the issue. The other changes would be nice to get and I'm going to review those for the next update

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

This bug was fixed in the package gnome-settings-daemon - 3.8.6.1-0ubuntu2

---------------
gnome-settings-daemon (3.8.6.1-0ubuntu2) trusty; urgency=low

  * debian/patches/git_xsettings_segfaults.patch:
    - "unwatch dbus before destroying xsettings managers" (lp: #1232419)
 -- Sebastien Bacher <email address hidden> Tue, 12 Nov 2013 20:32:18 +0100

Changed in gnome-settings-daemon (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
In , Fedora (fedora-redhat-bugs) wrote :

This message is a notice that Fedora 19 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 19. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

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 19 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.

Revision history for this message
In , Fedora (fedora-redhat-bugs) wrote :

Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 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.

Changed in gnome-settings-daemon (Fedora):
importance: Unknown → Undecided
status: Unknown → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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