Date: Mon, 24 Sep 2001 12:33:45 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: Munehiro Matsuda <haro@h4.dion.ne.jp> Cc: freebsd-current@FreeBSD.org Subject: Re: Panic with "recursed on non-recursive lock" Message-ID: <XFMail.010924123345.jhb@FreeBSD.org> In-Reply-To: <20010924012530D.haro@h4.dion.ne.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
On 23-Sep-01 Munehiro Matsuda wrote: > Hi all, > > Here's another one from src-cur.4972.gz. It's repeatable. > ------------------------------------------------------------------- ># ps -ae > lock order reversal > 1st 0xc7fe4d08 process lock @ ../../../kern/kern_proc.c:215 > 2nd 0xc03e6620 Giant @ ../../../kern/subr_trap.c:98 > exclusive (sleep mutex) process lock (0xc7fe4d08) locked @ > ../../../kern/kern_proc.c:215 > panic: system call open returning with mutex(s) held Something is not unlocking the process after pfind(). A trace here at the point of the reversal might help. Please turn on WITNESS_DDB. > Debugger("panic") > Stopped at Debugger+0x44: pushl %ebx > db> t > Debugger(c0322ffb) at Debugger+0x44 > panic(c0345de0,c0327489,bfbfe574,10,bfbffff0) at panic+0x70 > syscall(2f,2f,2f,bfbffff0,10) at syscall+0x602 > syscall_with_err_pushed() at syscall_with_err_pushed+0x1b > --- syscall (1, FreeBSD ELF, sys_exit), eip = 0x804f404, esp = 0xbfbfe538, > ebp = 0xbfbe974 --- > db> > ------------------------------------------------------------------- > > Also, newest kernel (from src-cur.4973.gz) panics on boot. > ------------------------------------------------------------------- > Mounting root from ufs:/dev/ad0s2a > panic: lock (sleep mutex) vnode interlock not locked @ > ../../../kern/vfs_default.c:460 > Debugger("panic") > Stopped at Debugger+0x44: pushl %ebx > db> t > Debugger(c0321e3b) at Debugger+0x44 > panic(c0324e00,c0320e60,c0328ffc,c0328990,1cc) at panic+0x70 > witness_unlock(c85e3f2c,8,c0328980,1cc,c85e3f2c,1,c0320e77,f6) at > witness_unlock+0x1d0 > _mtx_unlock_flags(c85e3f2c,0,c0328980,1cc,c04d0bd0) at _mtx_unlock_flags+0x59 > vop_nolock(c04d0be8,c04d0bf8,c021fd56,c04d0be8,c04d0d4c) at vop_nolock+0x24 > vop_defaultop(c04d0be8) at vop_defaultop+0x15 > vn_lock(c85e3ec0,20002,c03e01e4,c04d0d4c,c1405780) at vn_lock+0xca > ffs_mountfs(c85e3ec0,c1406200,c03e01e4,c0388140,c04d0d4c) at ffs_mountfs+0x7e > ffs_mount(c1406200,0,0,0,c03e01e4) at ffs_mount+0x67 > vfs_mountroot_try(c04ad52d,c032858c) at vfs_mountroot_try+0x14e > vfs_mountroot(0,4cdc00,4cd000,0,c012881c) at vfs_mountroot+0x5a > mi_startup() at mi_startup+0x90 > begin() at begin+0x43 > db> > ------------------------------------------------------------------- Ugh, not sure what is causing this. -- John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010924123345.jhb>