FYI: witness complaints from mount(1) / umount(1) use about LOR

Garrett Cooper yanefbsd at gmail.com
Tue Jun 10 07:07:15 UTC 2008


A get a lot of LOR warnings after enabling WITNESS, DDB, KDB,
INVARIANTS, and INVARIANT_SUPPORT with 8-CURRENT synced last Thursday
and rebuilt.
-Garrett

--------------

lock order reversal:
 1st 0xc51a3594 ufs (ufs) @ /usr/src/sys/kern/vfs_mount.c:1212
 2nd 0xc50f8df4 devfs (devfs) @ /usr/src/sys/ufs/ffs/ffs_softdep.c:1026
KDB: stack backtrace:
db_trace_self_wrapper(c07aded6,e7dc9a5c,c06031dc,c07b0584,c50f8df4,...)
at db_trace_self_wrapper+0x26
kdb_backtrace(c07b0584,c50f8df4,c07a1241,c07a1241,c07c0bd0,...) at
kdb_backtrace+0x29
witness_checkorder(c50f8df4,9,c07c0bd0,402,c5356690,...) at
witness_checkorder+0x6ba
__lockmgr_args(c50f8df4,80400,c50f8e10,0,0,0,c07c0bd0,402) at
__lockmgr_args+0x731
vop_stdlock(e7dc9b50,c07a9d28,ca,80400,c50f8d9c,...) at vop_stdlock+0x5c
VOP_LOCK1_APV(c07ea360,e7dc9b50,c0814ac0,c50f8d9c,80400,...) at
VOP_LOCK1_APV+0xab
_vn_lock(c50f8d9c,80400,c07c0bd0,402,c50c9524,...) at _vn_lock+0x5e
softdep_flushworklist(c50c9508,e7dc9bf8,c5356690,4d7,e7dc9bdc,...) at
softdep_flushworklist+0x47
ffs_sync(c50c9508,1,c5356690,4f5,0,...) at ffs_sync+0x2ed
dounmount(c50c9508,8000000,c5356690,487,482a96c5,...) at dounmount+0x41d
unmount(c5356690,e7dc9cfc,8,e7dc9d2c,c07ee390,...) at unmount+0x2b6
syscall(e7dc9d38) at syscall+0x265
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (22, FreeBSD ELF32, unmount), eip = 0x280c87a7, esp =
0xbfbfe50c, ebp = 0xbfbfe5f8 ---

--------------

lock order reversal: (sleepable after non-sleepable)
 1st 0xc50ca01c struct mount mtx (struct mount mtx) @
/usr/src/sys/kern/vfs_subr.c:343
 2nd 0xc50ca000 vfslock (vfslock) @ /usr/src/sys/kern/vfs_subr.c:370
KDB: stack backtrace:
db_trace_self_wrapper(c07aded6,c4a85b70,c06031dc,c07b0584,c50ca000,...)
at db_trace_self_wrapper+0x26
kdb_backtrace(c07b0584,c50ca000,c07b6375,c07b6375,c07b6917,...) at
kdb_backtrace+0x29
witness_checkorder(c50ca000,1,c07b6917,172,c07a9d28,...) at
witness_checkorder+0x6ba
__lockmgr_args(c50ca000,200100,c50ca01c,0,0,...) at __lockmgr_args+0x21d
vfs_busy(c50ca000,200,0,c4c50000,1,...) at vfs_busy+0x1b4
vfs_mount_alloc(0,c07ea1a0,c07b66bd,c4c50000,c063c7e3,...) at
vfs_mount_alloc+0x78
vfs_mountroot(c0840850,4,c07a5dd3,264,c4c4d000,...) at vfs_mountroot+0x253
start_init(0,c4a85d38,c07a76dd,324,c4c4d000,...) at start_init+0x65
fork_exit(c059332d,0,c4a85d38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc4a85d70, ebp = 0 ---
lock order reversal: (sleepable after non-sleepable)
 1st 0xc4edbe10 vnode interlock (vnode interlock) @
/usr/src/sys/fs/devfs/devfs_vnops.c:288
 2nd 0xc4edbdf4 devfs (devfs) @ /usr/src/sys/kern/vfs_subr.c:2044
KDB: stack backtrace:
db_trace_self_wrapper(c07aded6,c4a85a9c,c06031dc,c07b0584,c4edbdf4,...)
at db_trace_self_wrapper+0x26
kdb_backtrace(c07b0584,c4edbdf4,c07a1241,c07a1241,c07b6917,...) at
kdb_backtrace+0x29
witness_checkorder(c4edbdf4,9,c07b6917,7fc,c4edbdf4,...) at
witness_checkorder+0x6ba
__lockmgr_args(c4edbdf4,80100,c4edbe10,0,0,0,c07b6917,7fc) at
__lockmgr_args+0x731
vop_stdlock(c4a85b90,c07a13f7,c07aff84,80100,c4edbd9c,...) at vop_stdlock+0x5c
VOP_LOCK1_APV(c07ea280,c4a85b90,c0814ac0,c4edbd9c,80100,...) at
VOP_LOCK1_APV+0xab
_vn_lock(c4edbd9c,80100,c07b6917,7fc,c07a13f7,...) at _vn_lock+0x5e
vget(c4edbd9c,80100,c4c50000,121,c07a1394,...) at vget+0x9c
devfs_allocv(c5031980,c50ca000,c4a85c24,c4c50000,c4c500a4,...) at
devfs_allocv+0x10e
devfs_root(c50ca000,80000,c088e434,c4c50000,4,...) at devfs_root+0x51
set_rootvnode(c088e420,0,c07b6279,5f4,c063c7e3,...) at set_rootvnode+0x2d
vfs_mountroot(c0840850,4,c07a5dd3,264,c4c4d000,...) at vfs_mountroot+0x331
start_init(0,c4a85d38,c07a76dd,324,c4c4d000,...) at start_init+0x65
fork_exit(c059332d,0,c4a85d38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc4a85d70, ebp = 0 ---
Trying to mount root from ufs:/dev/ad10s1a

--------------

lock order reversal: (sleepable after non-sleepable)
 1st 0xc4edbb20 bufobj interlock (bufobj interlock) @
/usr/src/sys/kern/vfs_bio.c:2442
 2nd 0xd8ce5c80 bufwait (bufwait) @ /usr/src/sys/kern/vfs_bio.c:2456
KDB: stack backtrace:
db_trace_self_wrapper(c07aded6,c4a857a0,c06031dc,c07b0584,d8ce5c80,...)
at db_trace_self_wrapper+0x26
kdb_backtrace(c07b0584,d8ce5c80,c07b5242,c07b5242,c07b47f1,...) at
kdb_backtrace+0x29
witness_checkorder(d8ce5c80,9,c07b47f1,998,c07a9d28,...) at
witness_checkorder+0x6ba
__lockmgr_args(d8ce5c80,81900,c4edbb20,c07b519e,50,...) at __lockmgr_args+0x731
getblk(c4edba78,0,0,400,0,...) at getblk+0x144
breadn(c4edba78,0,0,400,0,...) at breadn+0x44
bread(c4edba78,0,0,400,0,...) at bread+0x4c
ffs_blkatoff(c4edba78,0,0,0,c4a859b0,...) at ffs_blkatoff+0xc6
ufs_lookup(c4a859f0,c4edba78,c4a85b54,c4edba78,c4a85a10,...) at ufs_lookup+0x2f2
VOP_CACHEDLOOKUP_APV(c0807000,c4a859f0,c4a85b54,c4a85b40,c0814760,...)
at VOP_CACHEDLOOKUP_APV+0xa0
vfs_cache_lookup(c4a85a70,c4a85a70,0,80000,c4edba78,...) at
vfs_cache_lookup+0xc3
VOP_LOOKUP_APV(c0807000,c4a85a70,c07b6027,1b0,c4a85b40,...) at
VOP_LOOKUP_APV+0xaa
lookup(c4a85b28,c07b6027,d8,c0,c4c4e02c,...) at lookup+0x507
namei(c4a85b28,c4a85b2c,c06029f0,c05bc5e6,c088dca8,...) at namei+0x3d3
kern_unlinkat(c4c50000,ffffff9c,c07b66b9,1,c4a85c60,...) at kern_unlinkat+0x3f
kern_unlink(c4c50000,c07b66b9,1,62f,0,...) at kern_unlink+0x27
vfs_mountroot_try(c07b6873,c07aff86,c079f461,1,c063c7e3,...) at
vfs_mountroot_try+0x46b
vfs_mountroot(c0840850,4,c07a5dd3,264,c4c4d000,...) at vfs_mountroot+0x3f1
start_init(0,c4a85d38,c07a76dd,324,c4c4d000,...) at start_init+0x65
fork_exit(c059332d,0,c4a85d38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc4a85d70, ebp = 0 ---


More information about the freebsd-current mailing list