=?ISO-8859-1?Q?P=E1draig_Brady?= writes: > > Note my gdb --version is 6.8.50.20090302-39.fc11
So there's probably a bug in my 6.8-debian that is fixed in that version. To follow up on that theory, I compiled gdb 7.0 and tried again. It passes. I believe the difference is this change from 2008-07-10 (after the 6.8 release, but before your 20090302 snapshot): (linux_nat_kill): Stop lwps before killing them. The ptrace man page says "For requests other than PTRACE_KILL, the child process must be stopped." When I strace gdb 6.8, I see it using PTRACE_KILL yet the child process doesn't die. gdb 7.0 does the same thing but inserts a tkill(SIGSTOP) first and it works. Maybe a kernel change slipped past the man page maintainer. Possible solutions: timeout -sKILL (as seen already, leaves a lingering tail process) skip the test if gdb version < 7.0 (except known-patched distro versions?) teach timeout to do a whole process tree instead of just a pgrp Over the course of various experiments, I found another flaw in this test: tail_forever_inotify can be inlined, and then gdb can't break on it. -- Alan Curry
