Re: Acquiring lockmgr lock "ufs" with non-sleepable locks

From: Suleiman Souhlal <ssouhlal_at_FreeBSD.org>
Date: Sun, 12 Jun 2005 17:58:57 -0400
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 _at_ / 
> 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
Received on Sun Jun 12 2005 - 19:59:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:36 UTC