Date: Mon, 2 Mar 2009 17:00:12 GMT From: Robert Watson <rwatson@FreeBSD.org> To: freebsd-bugs@FreeBSD.org Subject: Re: threads/132215: Crash after running ppp Message-ID: <200903021700.n22H0CAe029528@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/132215; it has been noted by GNATS. From: Robert Watson <rwatson@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-threads@freebsd.org, Stephane Legrand <stephleg@free.fr>, freebsd-gnats-submit@freebsd.org Subject: Re: threads/132215: Crash after running ppp Date: Mon, 2 Mar 2009 16:52:38 +0000 (GMT) On Mon, 2 Mar 2009, John Baldwin wrote: >> Unread portion of the kernel message buffer: >> Sleeping thread (tid 100053, pid 516) owns a non-sleepable lock >> panic: sleeping thread ... > Can you do something like this in kgdb: > > frame 5 > set $td = (struct thread *)(m->mtx_lock & ~3) > p $td->td_tid > > (This should print out a thread ID) > > thread $td->td_tid > where > > This should give you the stack trace of the misbehaving thread which slept > while holding a route lock. > > Also, this is a kernel bug, not a thread issue. Actually, just a stack trace of tid 100053/pid 516 should be sufficient. This is the second report I've had of a panic along these lines relating to ppp, and it seems likely to me that the fixes to routing locking have introduced an edge case where the routing code sleeps allocating or waiting for a route while holding a lock where it didn't happen previously. If we can work out the stack trace leading to the sleep, we can probably fix this in short order. Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903021700.n22H0CAe029528>