← Back to team overview

freenx-team team mailing list archive

[Bug 454487] Re: The program 'gnome-settings-daemon' received an X Window System error. During on a FreeNX server suring a session. The crash does not happen when xrandr plugin is disabled.

 

** Attachment removed: "gnome-desktop_2.28.1-0ubuntu3.debdiff"
   http://launchpadlibrarian.net/34734843/gnome-desktop_2.28.1-0ubuntu3.debdiff

** Attachment added: "gnome-desktop_2.28.1-0ubuntu3.debdiff"
   http://launchpadlibrarian.net/34736555/gnome-desktop_2.28.1-0ubuntu3.debdiff

** Description changed:

  I just installed karmic on my  freenx server machine when g-s-d starts it throws the following error:
  gnome-settings-daemon Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
  Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
  Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
  Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
  Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
  The program 'gnome-settings-daemon' received an X Window System error.
  This probably reflects a bug in the program.
  The error was 'BadRequest (invalid request code or no such operation)'.
    (Details: serial 105 error_code 1 request_code 150 minor_code 8)
    (Note to programmers: normally, X errors are reported asynchronously;
     that is, you will receive the error a while after causing it.
     To debug your program, run it with the --sync command line
     option to change this behavior. You can then get a meaningful
     backtrace from your debugger if you break on the gdk_x_error() function.)
  
  If I disable the xrandr plugin then the bug is not present (once bug 409621 is fixed).
  This is a regression from Jaunty where the xrandr plugin worked.
  I attach the the stack trace. If there is anything else I can do please let me know.
  
  ProblemType: Bug
  Architecture: amd64
  Date: Sun Oct 18 17:10:18 2009
  DistroRelease: Ubuntu 9.10
  InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Beta amd64 (20090929.2)
  NonfreeKernelModules: nvidia
  Package: libxrandr2 2:1.3.0-2
  ProcEnviron:
   LANGUAGE=en_GB:en
   LANG=en_GB.UTF-8
   SHELL=/bin/bash
  ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
  SourcePackage: libxrandr
  Uname: Linux 2.6.31-14-generic x86_64
  
  *** SRU stuff ***
  
- Patch: http://launchpadlibrarian.net/34734843/gnome-
+ Patch: http://launchpadlibrarian.net/34736555/gnome-
  desktop_2.28.1-0ubuntu3.debdiff
  
  [Justification]
  gnome-settings-daemon crashes at startup on X servers which don't support RANDR 1.2. This is a regression from Jaunty
  
  [Description of patch]
  The patch just traps the BadRequest error generated from the unsupported X call in gnome-desktop, and sets a GError, allowing the calling application to handle it.
  
  [Test case]
  Run gnome-settings-daemon with each version of gnome-desktop.
  
  With gnome-desktop 2.28.1-0ubuntu2 - gnome-settings-daemon will crash
  With gnome-desktop 2.28.1-0ubuntu3 - gnome-settings-daemon will not crash
  
  [Regression risk]
  The regression risk is low, because:
  
  - gnome_rr_screen_new will now return a NULL GnomeRRScreen pointer and
  set a GError when called on servers that don't have RANDR 1.2 (as
  opposed to crashing). There are already other failure conditions in
  gnome_rr_screen_new which will return the same result, so this does not
  break API, and applications using it already handle the error properly
  (in the case of gnome-settings-daemon, the xrandr plugin just stops
  loading).
  
  - This technique for trapping errors was used previously. There were XRR
  calls in the Jaunty code which were only supported on RANDR >= 1.2.
  These were wrapped with gdk_error_trap_{push,pop} in Jaunty, but it
  seems this got omitted when the code was changed this cycle.

-- 
The program 'gnome-settings-daemon' received an X Window System error. During on a FreeNX server suring a session. The crash does not happen when xrandr plugin is disabled.
https://bugs.launchpad.net/bugs/454487
You received this bug notification because you are a member of FreeNX
Team, which is the registrant for FreeNX Server.

Status in FreeNX open source NX Server: Invalid
Status in Gnome Settings Daemon: Invalid
Status in “gnome-desktop” package in Ubuntu: In Progress
Status in gnome-desktop in Ubuntu Karmic: In Progress

Bug description:
I just installed karmic on my  freenx server machine when g-s-d starts it throws the following error:
gnome-settings-daemon Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
Xlib:  extension "Generic Event Extension" missing on display ":1000.0".
The program 'gnome-settings-daemon' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadRequest (invalid request code or no such operation)'.
  (Details: serial 105 error_code 1 request_code 150 minor_code 8)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

If I disable the xrandr plugin then the bug is not present (once bug 409621 is fixed).
This is a regression from Jaunty where the xrandr plugin worked.
I attach the the stack trace. If there is anything else I can do please let me know.

ProblemType: Bug
Architecture: amd64
Date: Sun Oct 18 17:10:18 2009
DistroRelease: Ubuntu 9.10
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Beta amd64 (20090929.2)
NonfreeKernelModules: nvidia
Package: libxrandr2 2:1.3.0-2
ProcEnviron:
 LANGUAGE=en_GB:en
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
SourcePackage: libxrandr
Uname: Linux 2.6.31-14-generic x86_64

*** SRU stuff ***

Patch: http://launchpadlibrarian.net/34736555/gnome-desktop_2.28.1-0ubuntu3.debdiff

[Justification]
gnome-settings-daemon crashes at startup on X servers which don't support RANDR 1.2. This is a regression from Jaunty

[Description of patch]
The patch just traps the BadRequest error generated from the unsupported X call in gnome-desktop, and sets a GError, allowing the calling application to handle it.

[Test case]
Run gnome-settings-daemon with each version of gnome-desktop.

With gnome-desktop 2.28.1-0ubuntu2 - gnome-settings-daemon will crash
With gnome-desktop 2.28.1-0ubuntu3 - gnome-settings-daemon will not crash

[Regression risk]
The regression risk is low, because:

- gnome_rr_screen_new will now return a NULL GnomeRRScreen pointer and set a GError when called on servers that don't have RANDR 1.2 (as opposed to crashing). There are already other failure conditions in gnome_rr_screen_new which will return the same result, so this does not break API, and applications using it already handle the error properly (in the case of gnome-settings-daemon, the xrandr plugin just stops loading).

- This technique for trapping errors was used previously. There were XRR calls in the Jaunty code which were only supported on RANDR >= 1.2. These were wrapped with gdk_error_trap_{push,pop} in Jaunty, but it seems this got omitted when the code was changed this cycle.