Bug#474657: race condition on gdm stop after killing user procs
Kevin Mitchell
kevmitch at gmail.com
Sun Apr 6 23:55:14 UTC 2008
Package: gdm
Version: 2.20.4-1
Severity: normal
The simplest way to reproduce this bug on my hardware is to create the following shell script (killdisplay.sh):
#!/bin/sh
pkill -u kevmitch
invoke-rc.d gdm stop
Where "kevmitch" should be replaced by the user logged in graphically via gdm. su to root from that users display and run
# nohup ./killdisplay.sh
Gdm will indeed stop, but you won't find any framebuffer output, i.e., you can't log on to the console anymore. Ctrl-Alt-F1, etc don't do anything. However since I happen to have an ACPI button mapped to /etc/init.d/gdm start, I was able to restart the daemon which does start X again and runs "normally". The frame buffer is still dead however and will remain so until reboot no matter what I do.
This does not happen if I modify the above script to sleep for 1 second in between killing the procs and stopping gdm:
#!/bin/sh
pkill -u kevmitch
sleep 1
invoke-rc.d gdm stop
This dumps you out on a functional framebuffer console as expected and desired, but gives the distubing kernel message
[ 150.445462] gdm[4927]: segfault at 0000000800871ff8 rip 0000003108c5692f rsp 00007fff8a9dbac0 error
Increasing the sleep interval to 2 prevents the above segfault from occuring.
I am using xserver-xorg-video-intel 2.2.1-1 on a T60 with
# lspci | grep Graphics
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
Kevin
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (600, 'unstable'), (300, 'testing'), (200, 'stable'), (100, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.23-amd64.016 (SMP w/2 CPU cores)
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1) (ignored: LC_ALL set to en_GB)
Shell: /bin/sh linked to /bin/bash
Versions of packages gdm depends on:
ii adduser 3.107 add and remove users and groups
ii aterm [x-terminal-emul 1.0.1-3 Afterstep XVT - a VT102 emulator f
ii debconf [debconf-2.0] 1.5.20 Debian configuration management sy
ii gksu 2.0.0-5 graphical frontend to su
ii gnome-session 2.22.0-2 The GNOME 2 Session Manager
ii gnome-terminal [x-term 2.22.0-1 The GNOME 2 terminal emulator appl
ii libart-2.0-2 2.3.20-1 Library of functions for 2D graphi
ii libatk1.0-0 1.22.0-1 The ATK accessibility toolkit
ii libattr1 1:2.4.41-1 Extended attribute shared library
ii libc6 2.7-10 GNU C Library: Shared libraries
ii libcairo2 1.5.8-1 The Cairo 2D vector graphics libra
ii libdbus-1-3 1.1.20-1 simple interprocess messaging syst
ii libdbus-glib-1-2 0.74-1 simple interprocess messaging syst
ii libdmx1 1:1.0.2-2 X11 Distributed Multihead extensio
ii libfontconfig1 2.5.0-2 generic font configuration library
ii libfreetype6 2.3.5-1+b1 FreeType 2 font engine, shared lib
ii libglade2-0 1:2.6.2-1 library to load .glade files at ru
ii libglib2.0-0 2.16.2-1 The GLib library of C routines
ii libgnomecanvas2-0 2.20.1.1-1 A powerful object-oriented display
ii libgtk2.0-0 2.12.9-2 The GTK+ graphical user interface
ii libpam-modules 0.99.7.1-6 Pluggable Authentication Modules f
ii libpam-runtime 0.99.7.1-6 Runtime support for the PAM librar
ii libpam0g 0.99.7.1-6 Pluggable Authentication Modules l
ii libpango1.0-0 1.20.0-1 Layout and rendering of internatio
ii librsvg2-2 2.22.2-2 SAX-based renderer library for SVG
ii librsvg2-common 2.22.2-2 SAX-based renderer library for SVG
ii libselinux1 2.0.59-1 SELinux shared libraries
ii libwrap0 7.6.q-15 Wietse Venema's TCP wrappers libra
ii libx11-6 2:1.0.3-7 X11 client-side library
ii libxau6 1:1.0.3-2 X11 authorisation library
ii libxdmcp6 1:1.0.2-2 X11 Display Manager Control Protoc
ii libxext6 2:1.0.4-1 X11 miscellaneous extension librar
ii libxi6 2:1.1.3-1 X11 Input extension library
ii libxinerama1 2:1.0.3-1 X11 Xinerama extension library
ii libxml2 2.6.31.dfsg-2 GNOME XML library
ii lsb-base 3.2-7 Linux Standard Base 3.2 init scrip
ii metacity [x-window-man 1:2.22.0-1 A lightweight GTK2 based Window Ma
ii openbox [x-window-mana 3.4.6.1-2 standards compliant, fast, light-w
ii xterm [x-terminal-emul 234-1 X terminal emulator
ii zlib1g 1:1.2.3.3.dfsg-11 compression library - runtime
Versions of packages gdm recommends:
ii dialog 1.1-20080316-1 Displays user-friendly dialog boxe
ii gdm-themes 0.5.1 Themes for the GNOME Display Manag
ii whiptail 0.52.2-11.2 Displays user-friendly dialog boxe
ii xserver-xephyr 2:1.4.1~git20080131-3 nested X server
ii xserver-xorg 1:7.3+10 the X.Org X server
ii zenity 2.22.0-1 Display graphical dialog boxes fro
-- debconf information:
gdm/daemon_name: /usr/bin/gdm
* shared/default-x-display-manager: gdm
More information about the pkg-gnome-maintainers
mailing list