Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Jun 2006 09:08:07 +0200
From:      Wilko Bulte <wb@freebie.xs4all.nl>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        freebsd-stable@FreeBSD.org, freebsd-alpha@FreeBSD.org
Subject:   Re: 6.1-RELEASE panic / lockmgr?
Message-ID:  <20060602070807.GB3779@freebie.xs4all.nl>
In-Reply-To: <20060601230007.C69345@fledge.watson.org>
References:  <20060601212736.GA3380@freebie.xs4all.nl> <20060601230007.C69345@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 01, 2006 at 11:01:07PM +0100, Robert Watson wrote..
> 
> On Thu, 1 Jun 2006, Wilko Bulte wrote:
> 
> >My dual-CPU DS20 Alpha box can more or less consistently be
> >forced into a panic like:
> >
> >FreeBSD/alpha (goldrush.wbnet) (ttyd0)^
> >
> >login: panic: lockmgr: thread 0xfffffc007d9d4a80, not exclusive lock holder
> >0xfffffc006052d260 unlocking
> >cpuid = 1
> >KDB: enter: panic
> >
> >Trigger is a "make -j2 release".  j2 seems to be needed, not seen it with
> >-j1
> >
> >Unfortunately after printing the line with "KDB" the whole thing appears 
> >to become completely catatonic :(
> 
> Try putting a call to critical_enter() towards the beginning of panic(). 
> Sometimes this increases the reliability of entering the debugger by 
> avoiding interrupt delivery during the process of entering.  If you want to 
> be able to continue out, you'll need a critical_exit() at the end, but that 
> generally isn't helpful for panic().

Yesterday night I set debug.trace_on_panic=1 which sometime during
the night gave me:

[root@goldrush ~]# ./make-snap.sh 
\1
panic: lockmgr: thread 0xfffffc007d9d4fc0, not exclusive lock holder
0xfffffc007d950a80 unlocking
cpuid = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self+0x18
kdb_backtrace() at kdb_backtrace+0x48
panic() at panic+0x1f0
lockmgr() at lockmgr+0x798
bqrelse() at bqrelse+0x598
bdwrite() at bdwrite+0x4fc
ffs_update() at ffs_update+0x3c8
ufs_inactive() at ufs_inactive+0x468
VOP_INACTIVE_APV() at VOP_INACTIVE_APV+0x60
vinactive() at vinactive+0xa0
vput() at vput+0x210
handle_workitem_remove() at handle_workitem_remove+0x23c
process_worklist_item() at process_worklist_item+0x2b8
softdep_process_worklist() at softdep_process_worklist+0xbc
softdep_flush() at softdep_flush+0x2a0
fork_exit() at fork_exit+0xc0
exception_return() at exception_return
--- root of call graph ---
KDB: enter: panic

I'll try your suggestion with critical_enter() tonight, thanks.

Wilko

-- 
Wilko Bulte				wilko@FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060602070807.GB3779>