Possible UDP related deadlock in 7.1-PRERELEASE

Gavin Atkinson gavin at FreeBSD.org
Mon Sep 15 09:37:22 UTC 2008


On Sun, 2008-09-14 at 12:19 -0700, Norbert Papke wrote:
> Symptoms:
> 
> * I can trigger this lockup reliably by starting ktorrent.  After a short 
> while (one to two minutes), it locks up.  Other commands, e.g., netstat, also 
> lock up.
> * The console generates "nfe0: watchdog timeout" error messages.
> * The system becomes unusable and must be rebooted.

> Attempted Diagnosis:
> 
> If I break into DDB, the 'ps' output shows a number of processes that seem to 
> be locked related to udp.
> 
> [irq18:dc0]    L   *udp
> ktorrent       L   *udpinp
> hald           L   *udp
> ntpd           L   *udp
> 
> Unfortunately, I am rapidly getting out of my depth here.  I have no idea how 
> to go about further analyzing this problem and would appreciate help.

Can you add:
     options WITNESS
     options WITNESS_SKIPSPIN

to your kernel, recompile and wait for the problem to happen again?
When it does, from the debugger issue "sh alllocks" and make a note of
the output?

This will probably show that two locks are held, "Giant" and "udp",
along with the thread that holds each of them.  Take the ID of the
thread that holds the "udp" lock, and enter "tr 100150" (where 100150 is
the thread ID.

This should hopefully provide enough info to figure out what is
happening.

Thanks,

Gavin


More information about the freebsd-stable mailing list