Date: Fri, 2 Jun 2006 12:50:35 -0400 From: Kris Kennaway <kris@obsecurity.org> To: Wilko Bulte <wb@freebie.xs4all.nl> Cc: freebsd-stable@FreeBSD.org, Robert Watson <rwatson@FreeBSD.org>, freebsd-alpha@FreeBSD.org Subject: Re: 6.1-RELEASE panic / lockmgr? Message-ID: <20060602165035.GA67889@xor.obsecurity.org> In-Reply-To: <20060602164132.GA8376@freebie.xs4all.nl> References: <20060601212736.GA3380@freebie.xs4all.nl> <20060601230007.C69345@fledge.watson.org> <20060602164132.GA8376@freebie.xs4all.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
--RnlQjJ0d97Da+TV1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jun 02, 2006 at 06:41:32PM +0200, Wilko Bulte wrote: > On Thu, Jun 01, 2006 at 11:01:07PM +0100, Robert Watson wrote.. > >=20 > > On Thu, 1 Jun 2006, Wilko Bulte wrote: > >=20 > > >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 h= older > > >0xfffffc006052d260 unlocking > > >cpuid =3D 1 > > >KDB: enter: panic > > > > > >Trigger is a "make -j2 release". j2 seems to be needed, not seen it w= ith > > >-j1 > > > > > >Unfortunately after printing the line with "KDB" the whole thing appea= rs=20 > > >to become completely catatonic :( > >=20 > > Try putting a call to critical_enter() towards the beginning of panic()= .=20 > > Sometimes this increases the reliability of entering the debugger by=20 > > avoiding interrupt delivery during the process of entering. If you wan= t to=20 > > be able to continue out, you'll need a critical_exit() at the end, but = that=20 > > generally isn't helpful for panic(). >=20 > Jay! ANother one, and this one entered the debugger alright: >=20 > racing pid 25497 tid 100147 td 0xfffffc004df56000 > kdb_enter() at kdb_enter+0x48 > panic() at panic+0x210 > lockmgr() at lockmgr+0x798 > vop_stdunlock() at vop_stdunlock+0x34 > VOP_UNLOCK_APV() at VOP_UNLOCK_APV+0x84 > vput() at vput+0xb4 > lookup() at lookup+0xd38 > namei() at namei+0x554 > do_execve() at do_execve+0x17c > kern_execve() at kern_execve+0x160 > execve() at execve+0x60 > syscall() at syscall+0x438 > XentSys() at XentSys+0x64 > --- syscall (59, FreeBSD ELF64, execve) --- > --- user mode --- > db>=20 >=20 > How to proceed here? I have 0 clue on lockmgr & friends :) Enable DEBUG_VFS_LOCKS and DEBUG_LOCKS, then use 'show lockedvnods' to find what other thread(s) is holding locks, and also trace them with 'tr <pid/tid>' Kris --RnlQjJ0d97Da+TV1 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) iD8DBQFEgGxbWry0BWjoQKURAm5bAKDNV/+oWfDLhMA9Bp3aBuFsTeeMpQCg+lyM q4hklpQNS21wUm+x4nM6mDA= =4MeK -----END PGP SIGNATURE----- --RnlQjJ0d97Da+TV1--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060602165035.GA67889>