[gdm-list] gdm hung after killing child
- From: Simon Bowden <simonb cse unsw EDU AU>
- To: gdm-list gnome org
- Subject: [gdm-list] gdm hung after killing child
- Date: Tue, 20 Sep 2005 19:04:36 +1000 (EST)
Hello,
Running a Debian GDM: 2.6.0.8.
When GDM starts, it launches a child process which in turn launches the X
server, resulting in a structure like this:
root 18325 1 0 16:57 ? 00:00:00 gdm
root 18326 18325 0 16:57 ? 00:00:00 gdm
root 18586 18326 0 17:08 ? 00:00:03 /usr/X11R6/bin/X :0 -audit 0 -auth /var/lib/gdm/:0.Xauth
Now, we have something that due to historical reasons sends a SIGTERM to
the parent of the X server (18326 above). That process dies, takes the X
server with it (which is intended), BUT, then nothing starts up again.
The 18325 process just sits there indefinitely. No X server is running
now. If I SIGHUP the process then it wakes up, but that's manual
intervention.
# strace -f -p 18325
Process 18325 attached - interrupt to quit
poll(
[never returns in many minutes waited]
Obviously one could argue that we should just kill the parent of it, but I
really don't think gdm should react like that anyway.
Some further debug info:
It logs this:
Sep 20 18:19:53 gdm[18325]: gdm_child_action: Aborting display :0
The strace does this just before the poll:
send(7, "<30>Sep 20 18:19:53 gdm[18325]: gdm_child_action: Aborting display :0", 69, 0) = 69
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
time(NULL) = 1127204393
close(8) = 0
gettimeofday({1127204393, 22553}, {4294966696, 0}) = 0
waitpid(-1, 0xbfb601f8, WNOHANG) = -1 ECHILD (No child processes)
poll( <unfinished ...>
Cheers,
- Simon
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]