Package: libgtk2.0-0 Version: 2.10.11-1 Severity: normal In check_xfree_xinerama in gdk/x11/gdkscreen-x11.c, a call is made to XineramaQueryScreens(..., &screen_x11->num_monitors). On success, this stores a number in num_monitors, and returns a pointer to that many XineramaScreenInfo structures.
However, on failure (in the underlying X protocol: when the "number" member of the reply is zero), XineramaQueryScreens returns NULL and does not touch num_monitors. check_xfree_xinerama does not detect this condition, tries to copy monitor geometry by dereferencing the NULL pointer (since it thinks there are still as many monitors as there were last time, as XineramaQueryScreens hasn't modified num_monitors), and segfaults. This can sometimes be provoked by using the X server and i810 driver from experimental, together with the XRandR 1.2 extension. It often seems to happen when I go from VGA-out + laptop screen to just the laptop, but isn't completely reproducible. I don't think I've ever seen it happen in other mode changes. I'm going to investigate the XRandR Xinerama implementation next - it's possible that there's a brief period of time in which no screens exist, and the XineramaQueryScreens failure is because GDK is unlucky enough to query it at precisely the wrong time. This could also be considered a flaw in XineramaQueryScreens, that it should write 0 out to num_monitors if no monitors are found. Since it doesn't appear to come with any documentation, it's anyone's guess what the error behaviour is meant to be. I can understand that there's not a whole lot GDK can do about the screen apparently disappearing from under it... -- System Information: Debian Release: 4.0 APT prefers unstable APT policy: (500, 'unstable'), (101, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-4-vserver-686 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Versions of packages libgtk2.0-0 depends on: ii libatk1.0-0 1.12.4-3 The ATK accessibility toolkit ii libc6 2.3.6.ds1-13 GNU C Library: Shared libraries ii libcairo2 1.2.4-4 The Cairo 2D vector graphics libra ii libcupsys2 1.2.7-4 Common UNIX Printing System(tm) - ii libfontconfig1 2.4.2-1.2 generic font configuration library ii libglib2.0-0 2.12.6-2 The GLib library of C routines ii libgnutls13 1.4.4-3 the GNU TLS library - runtime libr ii libgtk2.0-common 2.10.11-1 Common files for the GTK+ graphica ii libjpeg62 6b-13 The Independent JPEG Group's JPEG ii libpango1.0-0 1.14.8-5 Layout and rendering of internatio ii libpng12-0 1.2.15~beta5-1 PNG library - runtime ii libtiff4 3.8.2-7 Tag Image File Format (TIFF) libra ii libx11-6 2:1.0.3-6 X11 client-side library ii libxcursor1 1.1.7-4 X cursor management library ii libxext6 1:1.0.1-2 X11 miscellaneous extension librar ii libxfixes3 1:4.0.1-5 X11 miscellaneous 'fixes' extensio ii libxi6 1:1.0.1-4 X11 Input extension library ii libxinerama1 1:1.0.1-4.1 X11 Xinerama extension library ii libxrandr2 2:1.2.0-4 X11 RandR extension library ii libxrender1 1:0.9.1-3 X Rendering Extension client libra ii zlib1g 1:1.2.3-13 compression library - runtime Versions of packages libgtk2.0-0 recommends: ii hicolor-icon-theme 0.10-1 default fallback theme for FreeDes ii libgtk2.0-bin 2.8.20-7 The programs for the GTK+ graphica -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]