← Back to team overview

desktop-packages team mailing list archive

[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