[Bug 192923] New: Lock order reversal in vfs_bio.c bufwait

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Aug 22 16:23:00 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192923

            Bug ID: 192923
           Summary: Lock order reversal in vfs_bio.c bufwait
           Product: Base System
           Version: 11.0-CURRENT
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: kate at elide.org

I saw some similar bug reports, but they're marked FIXED. I'm filing this just
in case it's a different issue.

11.0-CURRENT r270176, every time on boot:

lock order reversal:
 1st 0xe3de20f8 bufwait (bufwait) @ /usr/src/sys/kern/vfs_bio.c:3089
 2nd 0xc8d53800 dirhash (dirhash) @ /usr/src/sys/ufs/ufs/ufs_dirhash.c:284
KDB: stack backtrace:
db_trace_self_wrapper(c118ebb4,a3438,c1198f69,412,4000,...) at
db_trace_self_wrapper+0x2d/frame 0xed2736e0
kdb_backtrace(c1192801,c8d53800,c11c5b76,c85a3a88,c11c57c1,...) at
kdb_backtrace+0x30/frame 0xed273744
witness_checkorder(c8d53800,9,c11c57c1,11c,0,...) at
witness_checkorder+0xd04/frame 0xed273790
_sx_xlock(c8d53800,0,c11c57c1,11c,c8d41000,...) at _sx_xlock+0x75/frame
0xed2737c0
ufsdirhash_add(ca0a56cc,ed2738b8,3760,ed273840,ed273844,...) at
ufsdirhash_add+0x37/frame 0xed2737f0
ufs_direnter(ca0ead50,ca0eab18,ed2738b8,ed273bcc,0,...) at
ufs_direnter+0x604/frame 0xed273870
ufs_makeinode(ed273bb8,ed273bcc) at ufs_makeinode+0x534/frame 0xed2739f0
ufs_create(ed273ad8,669,c8d37d30,2,c8d37d74,...) at ufs_create+0x2f/frame
0xed273a04
VOP_CREATE_APV(c1425f7c,ed273ad8,ed273bcc,ed273a68,c0af79e0,...) at
VOP_CREATE_APV+0xfe/frame 0xed273a30
vn_open_cred(ed273b70,ed273bfc,1a4,0,c8701b00,c96e2f50) at
vn_open_cred+0x2f0/frame 0xed273b00
vn_open(ed273b70,ed273bfc,1a4,c96e2f50,28c5d3ba,...) at vn_open+0x3d/frame
0xed273b28
kern_openat(c8ff9930,ffffff9c,28c5d3ba,0,100202,1a4) at kern_openat+0x310/frame
0xed273c1c
sys_open(c8ff9930,ed273cc8,c1826660,13e6e00,14b,...) at sys_open+0x39/frame
0xed273c40
syscall(ed273d08) at syscall+0x30c/frame 0xed273cfc
Xint0x80_syscall() at Xint0x80_syscall+0x21/frame 0xed273cfc
--- syscall (5, FreeBSD ELF32, sys_open), eip = 0x28659923, esp = 0xbfbfd81c,
ebp = 0xbfbfd830 ---
lock order reversal:
 1st 0xca293150 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2137
 2nd 0xe3e0ce18 bufwait (bufwait) @ /usr/src/sys/ufs/ffs/ffs_vnops.c:262
 3rd 0xca16d034 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2137
KDB: stack backtrace:
db_trace_self_wrapper(c118ebb4,ca0f000a,c8ce0800,c8796d00,c17893b8,...) at
db_trace_self_wrapper+0x2d/frame 0xed39c728
kdb_backtrace(c119281a,ca16d034,c1179712,c85a3a20,c119be80,...) at
kdb_backtrace+0x30/frame 0xed39c78c
witness_checkorder(ca16d034,9,c119be80,859,ca16d054,...) at
witness_checkorder+0xd04/frame 0xed39c7d8
__lockmgr_args(ca16d034,80100,ca16d054,0,0,...) at __lockmgr_args+0x8f3/frame
0xed39c8b8
ffs_lock(ed39c938,c0b17463,c859c110,c85a1c10,c859c110,...) at
ffs_lock+0x87/frame 0xed39c8f4
VOP_LOCK1_APV(c1425f7c,ed39c938,100000,c1187e7d,c143b768,...) at
VOP_LOCK1_APV+0x10a/frame 0xed39c920
_vn_lock(ca16d000,80100,c119be80,859,c119b0bd,...) at _vn_lock+0xa6/frame
0xed39c960
vget(ca16d000,80100,ca0fb930,57,0,...) at vget+0x74/frame 0xed39c998
vfs_hash_get(c8d37d20,3481cb4,80000,ca0fb930,ed39ca98,...) at
vfs_hash_get+0xfc/frame 0xed39c9c4
ffs_vgetf(c8d37d20,3481cb4,80000,ed39ca98,1,...) at ffs_vgetf+0x44/frame
0xed39ca20
softdep_sync_buf(ca29311c,e3e0cdc0,1,0,0,...) at softdep_sync_buf+0x35b/frame
0xed39cab0
ffs_syncvnode(ca29311c,1,0,88c,1,...) at ffs_syncvnode+0x2dd/frame 0xed39cb08
softdep_fsync(ca16e000,1,0,ca16e084,c1425f7c,...) at softdep_fsync+0x64f/frame
0xed39cb88
ffs_fsync(ed39cc18,8,c119d2fc,d7d,ca11ad68,...) at ffs_fsync+0x71/frame
0xed39cbac
VOP_FSYNC_APV(c1425f7c,ed39cc18,d7d,0,0,...) at VOP_FSYNC_APV+0xfe/frame
0xed39cbd8
sys_fsync(ca0fb930,ed39ccc8,c1826660,13e6e00,1ae,...) at sys_fsync+0x21a/frame
0xed39cc40
syscall(ed39cd08) at syscall+0x30c/frame 0xed39ccfc
Xint0x80_syscall() at Xint0x80_syscall+0x21/frame 0xed39ccfc
--- syscall (95, FreeBSD ELF32, sys_fsync), eip = 0x282b68ef, esp = 0xbdfc2ac4,
ebp = 0xbdfc2adc ---

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list