(FreeNX/X2Go) gnome-session crashed with SIGSEGV in gnome_idle_monitor_get_idletime()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gnome-desktop3 (Ubuntu) |
Invalid
|
Medium
|
Unassigned | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned | ||
Utopic |
Invalid
|
Undecided
|
Unassigned | ||
Vivid |
Invalid
|
Medium
|
Unassigned | ||
unity-settings-daemon (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Invalid
|
Undecided
|
Unassigned | ||
Utopic |
Fix Released
|
Undecided
|
Unassigned | ||
Vivid |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
SRU justification:
[Impact]
* The NX server (and derivatives e.g. FreeNX, X2Go) and Xvnc server (and derivatives e.g. tightvncserver, xrdp) do not support the IDLETIME counter. Violating the assumption that this is available leads to gnome-session (in trusty) or unity-settings-
* This bug renders GNOME Flashback unusable on the mentioned X servers. Per the justification in bug 1251281, these collectively affect quite a few users, particularly on the LTS which tends to be chosen when setting up a terminal server.
* The proposed patch adds missing precondition checks to gnome_idle_
[Test Case]
* Install gnome-session-
* If bug 1251281 is not fixed in -updates yet: install gnome-session-bin from -proposed (needed for --disable-
* Create ~/.vnc/xstartup with the following content (3 lines):
#!/bin/sh
export STARTUP=
exec /etc/X11/Xsession
* Make it executable: chmod +x ~/.vnc/xstartup
* Log out from the desktop, log in on a tty, and run: vncserver :1
* Log in to the desktop as a guest, and run: vncviewer :1
Expected results: a GNOME Flashback VNC session is started.
Actual results:
- trusty: gnome-session crashes on startup.
- utopic: gnome-session starts, but unity-settings-
[Regression Potential]
* The patch was accepted in unity-settings-
* There should be no changes observed under a conventional local (Xorg) session.
[Other Info]
* Packages for testing are available in ppa:rtandy/
Original description:
The X server used by FreeNX and X2Go does not support the IDLETIME counter. This eventually leads to a NULL pointer dereference by gnome-session due to a missing parameter check in gnome_idle_
Utopic and newer are not affected and the patch is not applicable as the GnomeIdleMonitor implementation was rewritten. Saucy is also affected but is EOL, however I would like to fix this in Trusty as the patch is tiny and IMO obviously correct.
This and bug #1251281 are the only bugs preventing GNOME Flashback being used via FreeNX/X2Go in Trusty; and the latter has an easy workaround (divert the acceleration-check helper and replace it with /bin/true) and may be fixed properly soon.
I would be happy to prepare a debdiff and fill out the SRU template if a sponsor agrees that the patch is SRUable.
ProblemType: Crash
DistroRelease: Ubuntu 14.04
Package: gnome-session-bin 3.9.90-0ubuntu12 [modified: usr/lib/
ProcVersionSign
Uname: Linux 3.13.0-32-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.6
Architecture: amd64
CasperVersion: 1.340
Date: Thu Jan 29 19:28:42 2015
ExecutablePath: /usr/bin/
ExecutableTimes
LiveMediaBuild: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
ProcCmdline: /usr/bin/
ProcCwd: /home/ubuntu
ProcEnviron:
PATH=(custom, no user)
XDG_RUNTIME_
LANG=en_US.UTF-8
SHELL=/bin/bash
LD_LIBRARY_
SegvAnalysis:
Segfault happened at: 0x7fb690b29196 <gnome_
PC (0x7fb690b29196) ok
source "0x18(%rdi)" (0x00000018) not located in a known VMA region (needed readable region)!
destination "%rax" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: gnome-session
StacktraceTop:
gnome_
reset_idle_watch (presence=
gsm_presence_
start_phase (manager=
end_phase (manager=
Title: gnome-session crashed with SIGSEGV in gnome_idle_
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
Related branches
- Sebastien Bacher: Approve
-
Diff: 12 lines (+1/-1)1 file modifiedgnome-settings-daemon/gsd-idle-monitor.c (+1/-1)
description: | updated |
Changed in gnome-desktop3 (Ubuntu Vivid): | |
status: | New → Invalid |
Changed in gnome-desktop3 (Ubuntu Utopic): | |
status: | New → Invalid |
Changed in gnome-desktop3 (Ubuntu Trusty): | |
status: | New → In Progress |
Changed in unity-settings-daemon (Ubuntu Trusty): | |
status: | New → Invalid |
Changed in unity-settings-daemon (Ubuntu Utopic): | |
status: | New → In Progress |
tags: |
added: verification-done removed: verification-needed |
StacktraceTop: idle_monitor_ get_idletime (monitor=0x0) at gnome-idle- monitor. c:613 0x7fb6780036f0) at gsm-presence.c:196 set_idle_ enabled (presence= 0x7fb6780036f0, enabled=1) at gsm-presence.c:354 manager@ entry=0x1658100 ) at gsm-manager.c:1568 manager@ entry=0x1658100 ) at gsm-manager.c:580
gnome_
reset_idle_watch (presence=
gsm_presence_
start_phase (manager=
end_phase (manager=