GNOME Bugzilla – Bug 572387
gdm crashes after gtk 2.15.4 upgrade
Last modified: 2009-02-19 19:10:07 UTC
the crash is on ubuntu jaunty where gtk is built using xrandr and has been described on https://bugs.edge.launchpad.net/bugs/331324 " 0 0x000000000041ea8a in gdm_wm_screen_init (cur_screen_num=0) at gdmwm.c:118 screen = <value optimized out> i = 35549984
+ Trace 212684
(gdb) p gdk_screen_get_n_monitors(gdk_screen_get_default()) $32 = 0 (gdb) l 106 107 screen = gdk_screen_get_default (); 108 109 gdm_wm_screens = gdk_screen_get_n_monitors (screen); 110 111 gdm_wm_allscreens = g_new (GdkRectangle, gdm_wm_screens); 112 for (i = 0; i < gdm_wm_screens; i++) 113 gdk_screen_get_monitor_geometry (screen, i, gdm_wm_allscreens + i); 114 115 if (gdm_wm_screens < cur_screen_num) (gdb) n 112 for (i = 0; i < gdm_wm_screens; i++) (gdb) 115 if (gdm_wm_screens < cur_screen_num) (gdb) 118 gdm_wm_screen = gdm_wm_allscreens[cur_screen_num]; (gdb) p cur_screen_num $33 = 0 (gdb) p gdm_wm_allscreens $34 = (GdkRectangle *) 0x0 That seems to be the immediate cause of the crash."
some users workaround the issue by changing nvidia to nv, seems to be a xrandr issue
Created attachment 129071 [details] [review] call XRRGetScreenSizeRange before querying xrandr info Mandriva bug about this : https://qa.mandriva.com/show_bug.cgi?id=47996 Detailled analysis : it seems X server doesn't fill current info requested by XRRGetScreenResourcesCurrent until XRRGetScreenSizeRange, when X11 display driver only supports XRandr < 1.2. I guess it is a Xorg bug but this temporary fix prevent the issue.
Committed a different workaround: * gdk/x11/gdkscreen-x11.c (init_xrandr13): If X is broken and returns no monitors, fall back to other multihead init methods, so that we at least get one monitor set up.