Re: LOR: two vfs_bio.c:3070, ufs_dirhash.c:284 and vfs_mount.c:851, vfs_subr.c:2167

From: John Baldwin <jhb_at_freebsd.org>
Date: Thu, 2 May 2013 12:35:13 -0400
On Thursday, May 02, 2013 3:55:25 am Ian FREISLICH wrote:
> Hi
> 
> I'm getting these two LORs at boot time, they don't seem to be known
> on http://ipv4.sources.zabbadoz.net/freebsd/lor.html
> 
> lock order reversal:
>  1st 0xffffff83e37ee938 bufwait (bufwait) _at_ /usr/src/sys/kern/vfs_bio.c:3070
>  2nd 0xfffffe0030283800 dirhash (dirhash) _at_ 
/usr/src/sys/ufs/ufs/ufs_dirhash.c:284
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 
0xffffff846b756410
> _witness_debugger() at _witness_debugger+0x65/frame 0xffffff846b756430
> witness_checkorder() at witness_checkorder+0x857/frame 0xffffff846b7564e0
> _sx_xlock() at _sx_xlock+0x6e/frame 0xffffff846b756510
> ufsdirhash_acquire() at ufsdirhash_acquire+0x33/frame 0xffffff846b756530
> ufsdirhash_add() at ufsdirhash_add+0x19/frame 0xffffff846b756560
> ufs_direnter() at ufs_direnter+0x976/frame 0xffffff846b756630
> ufs_makeinode() at ufs_makeinode+0x296/frame 0xffffff846b7567f0
> VOP_CREATE_APV() at VOP_CREATE_APV+0x8c/frame 0xffffff846b756820
> vn_open_cred() at vn_open_cred+0x2da/frame 0xffffff846b756970
> kern_openat() at kern_openat+0x1de/frame 0xffffff846b756ad0
> amd64_syscall() at amd64_syscall+0x26c/frame 0xffffff846b756bf0
> Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff846b756bf0
> --- syscall (5, FreeBSD ELF64, sys_open), rip = 0x800b6f99a, rsp = 
0x7fffffffd84
> 
> lock order reversal:
>  1st 0xfffffe003082f068 ufs (ufs) _at_ /usr/src/sys/kern/vfs_mount.c:851
>  2nd 0xfffffe032a133240 devfs (devfs) _at_ /usr/src/sys/kern/vfs_subr.c:2167
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 
0xffffff846b408410
> _witness_debugger() at _witness_debugger+0x65/frame 0xffffff846b408430
> witness_checkorder() at witness_checkorder+0x857/frame 0xffffff846b4084e0
> __lockmgr_args() at __lockmgr_args+0xda4/frame 0xffffff846b4085b0
> vop_stdlock() at vop_stdlock+0x39/frame 0xffffff846b4085d0
> VOP_LOCK1_APV() at VOP_LOCK1_APV+0x97/frame 0xffffff846b408600
> _vn_lock() at _vn_lock+0x5e/frame 0xffffff846b408680
> vget() at vget+0x63/frame 0xffffff846b4086d0
> devfs_allocv() at devfs_allocv+0x13c/frame 0xffffff846b408730
> devfs_root() at devfs_root+0x4d/frame 0xffffff846b408770
> vfs_donmount() at vfs_donmount+0xa55/frame 0xffffff846b408a90
> sys_nmount() at sys_nmount+0x6d/frame 0xffffff846b408ad0
> amd64_syscall() at amd64_syscall+0x26c/frame 0xffffff846b408bf0
> Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff846b408bf0
> --- syscall (378, FreeBSD ELF64, sys_nmount), rip = 0x800a96daa, rsp = 
0x7fffffffccc8, rbp = 0x7fffffffcce0 ---

The are both old and known.  The bufwait one is documented in ufs_dirhash.c
and is a false positive.

-- 
John Baldwin
Received on Thu May 02 2013 - 14:39:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:37 UTC