Acquiring lockmgr lock "ufs" with non-sleepable locks
Suleiman Souhlal
ssouhlal at FreeBSD.org
Sun Jun 12 21:59:06 GMT 2005
Hi,
On Jun 12, 2005, at 4:18 AM, Jun Kuriyama wrote:
>
> As of today's current:
>
> Acquiring lockmgr lock "ufs" with the following non-sleepable locks
> held:
> exclusive sleep mutex vnode pollinfo r = 0 (0xc4814000) locked @ /
> usr/src/sys/kern/kern_event.c:881
> KDB: stack backtrace:
> kdb_backtrace(1,3001,c3fa229c,c3a36780,ecf71a5c) at kdb_backtrace+0x29
> witness_warn(5,c070c378,c06a435b,c06ad03d) at witness_warn+0x18e
> lockmgr(c3fa2278,3001,c3fa229c,c3a36780,ecf71a88) at lockmgr+0x8d
> vop_stdlock(ecf71acc,c06f58c0,ecf71acc,ecf71a98,c0612184) at
> vop_stdlock+0x1e
> VOP_LOCK_APV(c06f5e00,ecf71acc,ecf71aac,c067caff,ecf71acc) at
> VOP_LOCK_APV+0x87
> ffs_lock(ecf71acc,1001,c3fa2220,ecf71ae8,c0566634) at ffs_lock+0x10
> VOP_LOCK_APV(c06f58c0,ecf71acc) at VOP_LOCK_APV+0x87
> vn_lock(c3fa2220,1001,c3a36780) at vn_lock+0xa4
> filt_vfsread(c3ac9264,0,0,ffffffff,0) at filt_vfsread+0x3a
> kqueue_register(c3dd6480,ecf71bf4,c3a36780,1,0) at kqueue_register
> +0x668
> kern_kevent(c3a36780,4,1,0,ecf71cc8) at kern_kevent+0xc9
> kevent(c3a36780,ecf71d04,6,1,292) at kevent+0x55
> syscall(3b,3b,3b,1,804e068) at syscall+0x22f
> Xint0x80_syscall() at Xint0x80_syscall+0x1f
> --- syscall (363, FreeBSD ELF32, kevent), eip = 0x280b9503, esp =
> 0xbfbfe8ec, ebp = 0xbfbfe938 ---
This was introduced by my commit to take out the various kqueue
operations outside of ufs. It is because we are trying to lock the
vnode while holding the knlist mutex. I'll work on a fix on
wednesday, as I'll unfortunately be a bit busy until then. I hope
this won't cause you any inconvenience.
Bye.
--
Suleiman Souhlal | ssouhlal at vt.edu
The FreeBSD Project | ssouhlal at FreeBSD.org
More information about the freebsd-current
mailing list