From owner-freebsd-bugs@FreeBSD.ORG Mon Mar 2 17:00:12 2009 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8FAC106566C for ; Mon, 2 Mar 2009 17:00:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id A66308FC19 for ; Mon, 2 Mar 2009 17:00:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n22H0Cnp029529 for ; Mon, 2 Mar 2009 17:00:12 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n22H0CAe029528; Mon, 2 Mar 2009 17:00:12 GMT (envelope-from gnats) Date: Mon, 2 Mar 2009 17:00:12 GMT Message-Id: <200903021700.n22H0CAe029528@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Robert Watson Cc: Subject: Re: threads/132215: Crash after running ppp X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Robert Watson List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Mar 2009 17:00:13 -0000 The following reply was made to PR kern/132215; it has been noted by GNATS. From: Robert Watson To: John Baldwin Cc: freebsd-threads@freebsd.org, Stephane Legrand , 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