lock order reversal @ FreeBSD 9.0B3

Antonio Vieiro antonio at antonioshome.net
Fri Oct 14 17:06:16 UTC 2011


Hi all,

I'm seeing weird messages at dmesg saying someting about "lock order
reversal" (see below) on my FreeBSD 9.0 beta 3.

I think this has something to do with the filesystem, so I'm a little
bit worried. Does anybody know if this is a known bug? (If so, how do
you know?) Shall I report it?

Thanks,
Antonio

P.S.: Details

lock order reversal:
 1st 0xc86d88d8 ufs (ufs) @ /usr/src/sys/kern/vfs_syscalls.c:3572
 2nd 0xe0778a00 bufwait (bufwait) @ /usr/src/sys/ufs/ffs/ffs_vnops.c:260
 3rd 0xc86d86b8 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2134
KDB: stack backtrace:
db_trace_self_wrapper(c0eff6ac,632e7262,3331323a,6f000a34,632e7370,...)
at db_trace_self_wrapper+0x26
kdb_backtrace(c0a42bdb,c0f03028,c6d65370,c6d69338,ef34190c,...) at
kdb_backtrace+0x2a
_witness_debugger(c0f03028,c86d86b8,c0ef2288,c6d69338,c0f0ad74,...) at
_witness_debugger+0x25
witness_checkorder(c86d86b8,9,c0f0ad74,856,0,...) at witness_checkorder+0x839
__lockmgr_args(c86d86b8,80100,c86d86d8,0,0,...) at __lockmgr_args+0x824
ffs_lock(ef341a34,c0a53e1b,c0f0a05e,80100,c86d8660,...) at ffs_lock+0x8a
VOP_LOCK1_APV(c10493e0,ef341a34,c794d670,c1059a80,c86d8660,...) at
VOP_LOCK1_APV+0xb5
_vn_lock(c86d8660,80100,c0f0ad74,856,4,...) at _vn_lock+0x5e
vget(c86d8660,80100,c794d5c0,50,0,...) at vget+0xb9
vfs_hash_get(c7447ca8,7af825,80000,c794d5c0,ef341b78,...) at vfs_hash_get+0xe6
ffs_vgetf(c7447ca8,7af825,80000,ef341b78,1,...) at ffs_vgetf+0x49
softdep_sync_buf(c86d8880,e07789a0,1,106,0,...) at softdep_sync_buf+0xac9
ffs_syncvnode(c86d8880,1,c794d5c0,c86a03b8,c86d892c,...) at ffs_syncvnode+0x24c
ffs_fsync(ef341c48,ef341cec,0,ef341c48,ef341c6c,...) at ffs_fsync+0x27
VOP_FSYNC_APV(c10493e0,ef341c48,c0f0c048,df9,0,...) at VOP_FSYNC_APV+0xa5
sys_fsync(c794d5c0,ef341cec,c0f493b6,c0eebb0e,286,...) at sys_fsync+0x1df
syscall(ef341d28) at syscall+0x284
Xint0x80_syscall() at Xint0x80_syscall+0x21
--- syscall (95, FreeBSD ELF32, sys_fsync), eip = 0x2859a1c7, esp =
0xbfbfe1bc, ebp = 0xbfbfe1d8 ---
pid 2085 (perl5.12.4), uid 0: exited on signal 6 (core dumped)
pid 2083 (perl5.12.4), uid 0: exited on signal 6 (core dumped)
lock order reversal:
 1st 0xe07a0e24 bufwait (bufwait) @ /usr/src/sys/kern/vfs_bio.c:2658
 2nd 0xc86b5200 dirhash (dirhash) @ /usr/src/sys/ufs/ufs/ufs_dirhash.c:284
KDB: stack backtrace:
db_trace_self_wrapper(c0eff6ac,7366752f,7366752f,7269645f,68736168,...)
at db_trace_self_wrapper+0x26
kdb_backtrace(c0a42bdb,c0f0300f,c6d65370,c6d69408,f15327e8,...) at
kdb_backtrace+0x2a
_witness_debugger(c0f0300f,c86b5200,c0f31d92,c6d69408,c0f31a17,...) at
_witness_debugger+0x25
witness_checkorder(c86b5200,9,c0f31a17,11c,0,...) at witness_checkorder+0x839
_sx_xlock(c86b5200,0,c0f31a17,11c,c8893828,...) at _sx_xlock+0x85
ufsdirhash_acquire(e07a0dc4,c8893828,f1532918,e5263e74,f15328b8,...)
at ufsdirhash_acquire+0x35
ufsdirhash_add(c8893828,f1532918,3e74,f15328a4,f15328a8,...) at
ufsdirhash_add+0x13
ufs_direnter(c889caa0,c89a5660,f1532918,f1532bc0,0,...) at ufs_direnter+0x739
ufs_makeinode(f1532bc0,0,f1532b04,f1532a60,c0d5fc85,...) at ufs_makeinode+0x59d
ufs_create(f1532b04,f1532b1c,0,0,f1532b80,...) at ufs_create+0x30
VOP_CREATE_APV(c10493e0,f1532b04,f1532bc0,f1532a9c,0,...) at VOP_CREATE_APV+0xa5
vn_open_cred(f1532b80,f1532c48,1a4,0,c74ce280,...) at vn_open_cred+0x215
vn_open(f1532b80,f1532c48,1a4,c86a3508,2835a000,...) at vn_open+0x3b
kern_openat(c7ac6b80,ffffff9c,289ffa60,0,a03,...) at kern_openat+0x1ec
kern_open(c7ac6b80,289ffa60,0,a02,1b4,...) at kern_open+0x35
sys_open(c7ac6b80,f1532cec,c,f1532d80,282,...) at sys_open+0x30
syscall(f1532d28) at syscall+0x284
Xint0x80_syscall() at Xint0x80_syscall+0x21
--- syscall (5, FreeBSD ELF32, sys_open), eip = 0x282b1343, esp =
0xbf9f100c, ebp = 0xbf9f1038 ---


More information about the freebsd-questions mailing list