7.0-stable: a hung process - scheduler bug?

Robert Watson 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
Computer Laboratory
University of Cambridge

More information about the freebsd-stable mailing list