kern/142878: [zfs] [vfs] lock order reversal

Dmitry dmitry2006 at yandex.ru
Sat Jan 16 10:20:04 UTC 2010


>Number:         142878
>Category:       kern
>Synopsis:       [zfs] [vfs] lock order reversal
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan 16 10:20:03 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Dmitry
>Release:        8.0-STABLE
>Organization:
>Environment:
FreeBSD *** 8.0-STABLE FreeBSD 8.0-STABLE #0: Sat Jan 16 14:27:24 YEKT 2010     root@***:/usr/obj/usr/src/sys/GENERIC_debug  amd64
>Description:
During boot, after find core dump, i see this message:

lock order reversal:
1st 0xffffff002630c578 zfs (zfs) @ /usr/src/sys/kern/vfs_mount.c:1058
2nd 0xffffff0026353578 devfs (devfs) @ /usr/src/sys/kern/vfs_subr.c:2091
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x49
witness_checkorder() at witness_checkorder+0x7ea
__lockmgr_args() at __lockmgr_args+0xcd4
vop_stdlock() at vop_stdlock+0x39
VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b
_vn_lock() at _vn_lock+0x5d
vget() at vget+0x6c
devfs_allocv() at devfs_allocv+0xee
devfs_root() at devfs_root+0x41
vfs_donmount() at vfs_donmount+0xfa8
nmount() at nmount+0x74
syscall() at syscall+0x1cd
Xfast_syscall() at Xfast_syscall+0xe1
--- syscall (378, FreeBSD ELF64, nmount), rip = 0x8007d266c, rsp = 0x7fffffffdcb8, rbp = 0x7fffffffe250 ---

>How-To-Repeat:
make kernel with debug options and boot:

options KDB
options KDB_TRACE
options KDB_UNATTENDED
options DDB

options INVARIANTS
options INVARIANT_SUPPORT

options WITNESS

options DEBUG_LOCKS
options DEBUG_VFS_LOCKS
options DIAGNOSTIC

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list