Three LOR with latest -current

John jwd at freebsd.org
Tue Aug 16 04:05:20 UTC 2011


Hi folks,

   I'm seeing 3 lock order reversals with an up-to-date -current
system. Stock system, GENERIC kernel. Let me know if this isn't
enough information. Just booting the system and the dmesg.

Thanks,
John


lock order reversal:
 1st 0xfffffe0289627db8 ufs (ufs) @ /usr/src.2011-08-14_10.53pm_EDT/sys/ufs/ffs/ffs_snapshot.c:425
 2nd 0xffffff9f0db49778 bufwait (bufwait) @ /usr/src.2011-08-14_10.53pm_EDT/sys/kern/vfs_bio.c:2658
 3rd 0xfffffe00404a8098 ufs (ufs) @ /usr/src.2011-08-14_10.53pm_EDT/sys/ufs/ffs/ffs_snapshot.c:546
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x807
__lockmgr_args() at __lockmgr_args+0xdc6
ffs_lock() at ffs_lock+0x8c
VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b
_vn_lock() at _vn_lock+0x47
ffs_snapshot() at ffs_snapshot+0x1c31
ffs_mount() at ffs_mount+0xa24
vfs_donmount() at vfs_donmount+0xddc
nmount() at nmount+0x63
syscallenter() at syscallenter+0x1aa
syscall() at syscall+0x4c
Xfast_syscall() at Xfast_syscall+0xdd
--- syscall (378, FreeBSD ELF64, nmount), rip = 0x800abde1c, rsp = 0x7fffffffd968, rbp = 0x801008130 ---


lock order reversal:
 1st 0xffffff9f0db49778 bufwait (bufwait) @ /usr/src.2011-08-14_10.53pm_EDT/sys/kern/vfs_bio.c:2658
 2nd 0xfffffe004034dcb0 snaplk (snaplk) @ /usr/src.2011-08-14_10.53pm_EDT/sys/ufs/ffs/ffs_snapshot.c:818
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x807
__lockmgr_args() at __lockmgr_args+0xdc6
ffs_lock() at ffs_lock+0x8c
VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b
_vn_lock() at _vn_lock+0x47
ffs_snapshot() at ffs_snapshot+0x1b0c
ffs_mount() at ffs_mount+0xa24
vfs_donmount() at vfs_donmount+0xddc
nmount() at nmount+0x63
syscallenter() at syscallenter+0x1aa
syscall() at syscall+0x4c
Xfast_syscall() at Xfast_syscall+0xdd
--- syscall (378, FreeBSD ELF64, nmount), rip = 0x800abde1c, rsp = 0x7fffffffd968, rbp = 0x801008130 ---


lock order reversal:
 1st 0xfffffe004034dcb0 snaplk (snaplk) @ /usr/src.2011-08-14_10.53pm_EDT/sys/kern/vfs_vnops.c:301
 2nd 0xfffffe0289627db8 ufs (ufs) @ /usr/src.2011-08-14_10.53pm_EDT/sys/ufs/ffs/ffs_snapshot.c:1620
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x807
__lockmgr_args() at __lockmgr_args+0xdc6
ffs_snapremove() at ffs_snapremove+0xe7
ffs_truncate() at ffs_truncate+0x302
ufs_inactive() at ufs_inactive+0x260
vinactive() at vinactive+0x72
vputx() at vputx+0x386
vn_close() at vn_close+0x118
vn_closefile() at vn_closefile+0x5a
_fdrop() at _fdrop+0x23
closef() at closef+0x5c
kern_close() at kern_close+0x121
syscallenter() at syscallenter+0x1aa
syscall() at syscall+0x4c
Xfast_syscall() at Xfast_syscall+0xdd
--- syscall (6, FreeBSD ELF64, close), rip = 0x800b5e2bc, rsp = 0x7fffffffd968, rbp = 0 ---



More information about the freebsd-fs mailing list