[plug] GDM hanging, leaving zombies

Cameron Patrick cameron at patrick.wattle.id.au
Mon Oct 20 16:21:10 WST 2003


On Mon, Oct 20, 2003 at 04:03:10PM +0800, Craig Ringer wrote:

| Yes, I have. As I said in my last message, attaching strace to the 
| process causes the tracing process to hang and not respond to anything 
| except a SIGKILL. I tried gdb next and got the same problem. I've just 
| gone back and tried again after sending gdm a SIGCONT as James 
| suggested, and I get the following result:
| 
| # gdb `which gdm-binary` 24242
| [snip]
| Attaching to program: /usr/bin/gdm-binary, process 24242
| Couldn't get registers: Operation not permitted.
| A program is being debugged already.  Kill it? (y or n) n
| Program not killed.
| (gdb) detach
| Detaching from program: /usr/bin/gdm-binary, process 24242
| ptrace: Operation not permitted.
| (gdb)
| 
| which I don't know enough to interpret. Perhaps it's because of the 
| strace that attached then hung? I can't do anything with it, anyway.

To me this looks as though gdb tries to attach and then can't because
something else has already attached to it.  If the original strace
process has gone away and the kernel still thinks that the process is
being ptrace'd, then I'd have thought that would be a kernel bug.

A quick grovel through the gdb source suggests that gdb thinks that it
has already attached itself to the process successfully (problems with
the initial ptrace syscall are prefixed with "ptrace:") but the kernel
is telling it "hands off" when it tries to actually interfere with the
process.

Cameron.

_______________________________________________
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