desktop-packages team mailing list archive
-
desktop-packages team
-
Mailing list archive
-
Message #110365
[Bug 1416081] Re: (FreeNX/X2Go) gnome-session crashed with SIGSEGV in gnome_idle_monitor_get_idletime()
** Description changed:
+ 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-daemon (in utopic) crashing when
+ trying to set up an idle monitor.
+
+ * 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_monitor_get_idletime, avoiding the crash. Other public entry
+ points to the idle monitor library already have similar checks.
+
+ [Test Case]
+
+ * Install gnome-session-flashback, tightvncserver, and vncviewer.
+
+ * If bug 1251281 is not fixed in -updates yet: install gnome-session-
+ bin from -proposed (needed for --disable-acceleration-check).
+
+ * Create ~/.vnc/xstartup with the following content (3 lines):
+
+ #!/bin/sh
+ export STARTUP="gnome-session --session=gnome-flashback --disable-acceleration-check"
+ 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-daemon crashes, so gnome-session gives up shortly after (because it's a required component).
+
+ [Regression Potential]
+
+ * The patch was accepted in unity-settings-daemon for vivid and there
+ were no regression reports so far.
+
+ * There should be no changes observed under a conventional local (Xorg)
+ session.
+
+ [Other Info]
+
+ * Packages for testing are available in ppa:rtandy/flashback. So far at least one user reported success using those packages in comment 68 on bug 1251281.
+
+ 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_monitor_get_idletime. This renders GNOME Flashback unusable
via FreeNX/X2Go in Trusty.
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/gnome-session/gnome-session-check-accelerated usr/lib/gnome-session/gnome-session-check-accelerated-helper]
ProcVersionSignature: Ubuntu 3.13.0-32.57-generic 3.13.11.4
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/gnome-session
ExecutableTimestamp: 1394758239
LiveMediaBuild: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
ProcCmdline: /usr/bin/gnome-session --session=gnome-flashback
ProcCwd: /home/ubuntu
ProcEnviron:
- PATH=(custom, no user)
- XDG_RUNTIME_DIR=<set>
- LANG=en_US.UTF-8
- SHELL=/bin/bash
- LD_LIBRARY_PATH=<set>
+ PATH=(custom, no user)
+ XDG_RUNTIME_DIR=<set>
+ LANG=en_US.UTF-8
+ SHELL=/bin/bash
+ LD_LIBRARY_PATH=<set>
SegvAnalysis:
- Segfault happened at: 0x7fb690b29196 <gnome_idle_monitor_get_idletime+6>: mov 0x18(%rdi),%rax
- PC (0x7fb690b29196) ok
- source "0x18(%rdi)" (0x00000018) not located in a known VMA region (needed readable region)!
- destination "%rax" ok
+ Segfault happened at: 0x7fb690b29196 <gnome_idle_monitor_get_idletime+6>: mov 0x18(%rdi),%rax
+ 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_idle_monitor_get_idletime (monitor=0x0) at gnome-idle-monitor.c:613
- reset_idle_watch (presence=0x7fb6780036f0) at gsm-presence.c:196
- gsm_presence_set_idle_enabled (presence=0x7fb6780036f0, enabled=1) at gsm-presence.c:354
- start_phase (manager=manager@entry=0x1658100) at gsm-manager.c:1568
- end_phase (manager=manager@entry=0x1658100) at gsm-manager.c:580
+ gnome_idle_monitor_get_idletime (monitor=0x0) at gnome-idle-monitor.c:613
+ reset_idle_watch (presence=0x7fb6780036f0) at gsm-presence.c:196
+ gsm_presence_set_idle_enabled (presence=0x7fb6780036f0, enabled=1) at gsm-presence.c:354
+ start_phase (manager=manager@entry=0x1658100) at gsm-manager.c:1568
+ end_phase (manager=manager@entry=0x1658100) at gsm-manager.c:580
Title: gnome-session crashed with SIGSEGV in gnome_idle_monitor_get_idletime()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-desktop3 in Ubuntu.
https://bugs.launchpad.net/bugs/1416081
Title:
(FreeNX/X2Go) gnome-session crashed with SIGSEGV in
gnome_idle_monitor_get_idletime()
Status in gnome-desktop3 package in Ubuntu:
New
Status in unity-settings-daemon package in Ubuntu:
Fix Released
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-daemon (in
utopic) crashing when trying to set up an idle monitor.
* 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_monitor_get_idletime, avoiding the crash. Other public
entry points to the idle monitor library already have similar checks.
[Test Case]
* Install gnome-session-flashback, tightvncserver, and vncviewer.
* If bug 1251281 is not fixed in -updates yet: install gnome-session-
bin from -proposed (needed for --disable-acceleration-check).
* Create ~/.vnc/xstartup with the following content (3 lines):
#!/bin/sh
export STARTUP="gnome-session --session=gnome-flashback --disable-acceleration-check"
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-daemon crashes, so gnome-session gives up shortly after (because it's a required component).
[Regression Potential]
* The patch was accepted in unity-settings-daemon for vivid and there
were no regression reports so far.
* There should be no changes observed under a conventional local
(Xorg) session.
[Other Info]
* Packages for testing are available in ppa:rtandy/flashback. So far at least one user reported success using those packages in comment 68 on bug 1251281.
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_monitor_get_idletime. This renders GNOME Flashback unusable
via FreeNX/X2Go in Trusty.
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/gnome-session/gnome-session-check-accelerated usr/lib/gnome-session/gnome-session-check-accelerated-helper]
ProcVersionSignature: Ubuntu 3.13.0-32.57-generic 3.13.11.4
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/gnome-session
ExecutableTimestamp: 1394758239
LiveMediaBuild: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
ProcCmdline: /usr/bin/gnome-session --session=gnome-flashback
ProcCwd: /home/ubuntu
ProcEnviron:
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
LD_LIBRARY_PATH=<set>
SegvAnalysis:
Segfault happened at: 0x7fb690b29196 <gnome_idle_monitor_get_idletime+6>: mov 0x18(%rdi),%rax
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_idle_monitor_get_idletime (monitor=0x0) at gnome-idle-monitor.c:613
reset_idle_watch (presence=0x7fb6780036f0) at gsm-presence.c:196
gsm_presence_set_idle_enabled (presence=0x7fb6780036f0, enabled=1) at gsm-presence.c:354
start_phase (manager=manager@entry=0x1658100) at gsm-manager.c:1568
end_phase (manager=manager@entry=0x1658100) at gsm-manager.c:580
Title: gnome-session crashed with SIGSEGV in gnome_idle_monitor_get_idletime()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-desktop3/+bug/1416081/+subscriptions
References