[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make check (8.1) hangs forever
From: |
Alan Curry |
Subject: |
Re: make check (8.1) hangs forever |
Date: |
Thu, 3 Dec 2009 08:52:11 -0500 (GMT+5) |
=?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