7.0-stable: a hung process - scheduler bug?
rwatson at FreeBSD.org
Tue Sep 23 20:38:20 UTC 2008
On Tue, 23 Sep 2008, Mikhail Teterin wrote:
> 37126 33012 8371 2425 2425 1 mi - FreeBSD ELF64 dmake
> PID TID COMM TDNAME CPU PRI STATE WCHAN
> 37126 100724 dmake - 1 193 sleep -
> There are no problems ktrace-ing 33012, but nothing comes from there, as
> that process simply waits for its child. I guess, the child -- 37126 was
> (v)forked to launch a compiler or some such and remains stuck in between
> (v)fork and exec somewhere...
(lots of details elided)
Yes, there's a period during exec where attaching debuggers isn't allowed, so
if something gets wedged or otherwise lost there, ktrace isn't much use. On
the other hand, if it's stuck there, then there are no syscalls going on
anyway. Could you try procstat -kk on the process, does that shed any light?
Another alternative, if you have DDB compiled in, is to break to the debugger
and do a stack trace, or to use gdb on /dev/mem if you have a kernel.symbols.
This may help us understand more about what is going on.
Robert N M Watson
University of Cambridge
More information about the freebsd-stable