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

 

IRC discussion from #ubuntu-desktop about this SRU:

[15:03] <chrisccoulson> pitti - is bug 454487 ok for a SRU?
[15:03] <ubottu> Launchpad bug 454487 in gnome-desktop "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." [Medium,In progress] https://launchpad.net/bugs/454487
[15:03] <chrisccoulson> stgraber has already tested the patch and confirms it works
[15:03] <chrisccoulson> (the patch is in my PPA currently, but i will prepare a debdiff later)
[15:06] <seb128> chrisccoulson, seems a good sru candidate indeed
[15:06] <chrisccoulson> cool, thanks!
[15:07] <pitti> chrisccoulson: sounds fine; how intrusive is it?
[15:07] <pitti> chrisccoulson: i. e. regression potential for normal local usage?
[15:07] <chrisccoulson> pitti - the patch is here: http://launchpadlibrarian.net/34294574/gnome-desktop_1%3A2.28.1-0ubuntu2_1%3A2.28.1-0ubuntu3~chrisccoulson1.diff.gz
[15:08] <chrisccoulson> it just traps X errors when calling XRRGetScreenResources
[15:08] <chrisccoulson> under these circumstances, the xrandr plugin would be disabled
[15:09] <pitti> chrisccoulson: seems fine


** 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.)
+   (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
+  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 ***
+ 
+ [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. 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.

** 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 ***
  
  [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. 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).
+ 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.

** 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-
+ 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.