[plug] GDM hanging, leaving zombies

James Devenish devenish at guild.uwa.edu.au
Mon Oct 20 15:38:46 WST 2003


In message <3F938E25.40600 at postnewspapers.com.au>
on Mon, Oct 20, 2003 at 03:26:29PM +0800, Craig Ringer wrote:
> root     24242  0.0  0.0 13324 1160 ? T    Oct17   0:23 [gdm-binary]
> 
> and the primary GDM, pid 24242, is not spawining new children to handle 
> new displays when it gets XDMCP requests. I've tried tracing pid 24242 
> using strace -p, and strace simply hangs after attaching. Kill -9 is 
> required to terminate it. gdb does the same thing. That's why the 'T' 
> process status.

Are you sure it wasn't in the T state prior to your attempt to use
strace, etc? If it were, that would explain everything (other than how
it got into the T state in the first place). Have you `kill -CONT 24242`
to get it going again? (Otherwise, there's no chance it's going to even
be able to try to process new requests.)

> If anybody knows how to get more inforamation from processes behaving 
> like this, I'd love to hear it.

In some OSes I'm sure you don't need to trace the process to view its
execution stack (i.e. doesn't matter that it's in the T state).

> The other issue is whether I can kill the parent and have the children 
> survive. Ideally, I'd be able to do this - so that restarting the master 
> gdm process didn't terminate all running XDMCP sessions - but it looks 
> like they'll all die when the parent does :-(

Is there a way to take the child processes out of the process group
(i.e. the parent process is probably the process group leader for the
children). I don't know if there's a command-line util to do this, but
presumably a quick C hack (when run as root) would do the trick (maybe
not in Linux, though -- not sure).


_______________________________________________
plug mailing list
plug at plug.linux.org.au
http://mail.plug.linux.org.au/cgi-bin/mailman/listinfo/plug


More information about the plug mailing list