After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 600188 - gnome-settings-daemon received an X Window System error.
gnome-settings-daemon received an X Window System error.
Status: RESOLVED DUPLICATE of bug 554263
Product: gnome-desktop
Classification: Core
Component: libgnome-desktop
2.28.x
Other Linux
: Normal normal
: ---
Assigned To: Desktop Maintainers
Desktop Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-10-31 01:29 UTC by Chris Coulson
Modified: 2010-02-23 03:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
0001-Trap-X-errors-due-to-unsupported-RANDR-version.patch (1.23 KB, patch)
2009-10-31 01:29 UTC, Chris Coulson
none Details | Review
0001-Trap-X-errors-due-to-unsupported-RANDR-version.patch (1.26 KB, patch)
2009-10-31 01:37 UTC, Chris Coulson
none Details | Review
Check that the extension provides XRandR 1.2 before calling 1.2 functions (635 bytes, patch)
2009-11-18 12:01 UTC, Josselin Mouette
none Details | Review

Description Chris Coulson 2009-10-31 01:29:48 UTC
Created attachment 146615 [details] [review]
0001-Trap-X-errors-due-to-unsupported-RANDR-version.patch

Reported at
https://bugs.edge.launchpad.net/ubuntu/+source/gnome-desktop/+bug/454487:

Users running FreeNX are seeing g-s-d crashes at startup, which can be avoided
by disabling the xrandr plugin. Here is the backtrace:

  • #0 gdk_x_error
    at /build/buildd/gtk+2.0-2.18.2/gdk/x11/gdkmain-x11.c line 438
  • #1 _XError
    at ../../src/XlibInt.c line 2924
  • #2 _XReply
    at ../../src/xcb_io.c line 506
  • #3 doGetScreenResources
    at ../../src/XrrScreen.c line 86
  • #4 fill_out_screen_info
    at gnome-rr.c line 379
  • #5 screen_info_new
    at gnome-rr.c line 470
  • #6 gnome_rr_screen_new
    at gnome-rr.c line 633
  • #7 gsd_xrandr_manager_start
    at gsd-xrandr-manager.c line 1899
  • #8 impl_activate
    at gsd-xrandr-plugin.c line 78
  • #9 gnome_settings_plugin_info_activate
  • #10 ??
  • #11 g_slist_foreach
    from /lib/libglib-2.0.so.0
  • #12 gnome_settings_manager_start
  • #13 main

This seems to be because XRRGetScreenResources is called in
fill_out_screen_info(), without trapping the errors generated from this call.
XRRGetScreenResources requires at least RANDR 1.2, and will generate a
BadRequest if it is not supported by the server (which seems to be the
behaviour here).

I've attached a patch which fixes this
Comment 1 Chris Coulson 2009-10-31 01:37:53 UTC
Created attachment 146616 [details] [review]
0001-Trap-X-errors-due-to-unsupported-RANDR-version.patch

Oops, here is a patch with correct formatting
Comment 2 Josselin Mouette 2009-11-18 12:01:42 UTC
Created attachment 148036 [details] [review]
Check that the extension provides XRandR 1.2 before calling 1.2 functions

The Xorg maintainer warned me that the proposed solution is incorrect.

The real issue is that the whole code requires XRandR version 1.2 to be available. While there is a version check for 1.3 functions, there is not for 1.2 functions. Some X servers provide the XRANDR extension at a version < 1.2 and calling the functions fail. Hence the BadRequest errors.

This patch should do things correctly.
Comment 3 Götz Waschk 2009-12-11 18:07:05 UTC
Confirmed by this Mandriva 2010.0 bug report: https://qa.mandriva.com/show_bug.cgi?id=56349
Comment 4 Federico Mena Quintero 2010-02-23 03:04:27 UTC
The just-pushed fix for bug #554263 takes care of this problem.

*** This bug has been marked as a duplicate of bug 554263 ***