dirtybuf: 0xc643f000 interlock is not locked but should be

From: Don Lewis <truckman_at_FreeBSD.org>
Date: Wed, 3 Sep 2003 03:16:20 -0700 (PDT)
I just upgraded to a fresh version of -current and started getting a lot
of these vnode lock violation messages when running with the
DEBUG_VFS_LOCKS kernel option.

I only ever saw the stack trace below, but it is not obvious to me that
other callers of getdirtybuf() would not have the same problem with the
vnode interlock.



dirtybuf: 0xc643f000 interlock is not locked but should be
Debugger("Lock violation.
")
Stopped at      Debugger+0x54:  xchgl   %ebx,in_Debugger.0
db> bt
No such command
db> tr
Debugger(c055816e,c0565751,c643f000,c05581a5,e5555b68) at Debugger+0x54
vfs_badlock(c05581a5,c0565751,c643f000,0,e5555ba0) at vfs_badlock+0x45
assert_vi_locked(c643f000,c0565751,0,c61e8850,c0616f80) at assert_vi_locked+0x3a
getdirtybuf(e5555bb4,0,1,d2899610,1) at getdirtybuf+0xee
flush_deplist(c64532cc,1,e5555bdc,e5555be0,0) at flush_deplist+0x43
flush_inodedep_deps(c641c000,6d45b,ffffffff,c6507a44,124) at flush_inodedep_deps+0xa3
softdep_sync_metadata(e5555ca4,0,c0565af4,124,0) at softdep_sync_metadata+0x87
ffs_fsync(e5555ca4,c054a4a8,c0558b14,ad8,0) at ffs_fsync+0x3b9
fsync(c61e8850,e5555d10,c056cc5c,3eb,1) at fsync+0x1d4
syscall(2f,2f,2f,8054cdc,bfbfeda0) at syscall+0x273
Xint0x80_syscall() at Xint0x80_syscall+0x1d
--- syscall (95, FreeBSD ELF32, fsync), eip = 0x480cf38f, esp = 0xbfbfe7ec, ebp = 0xbfbfedc8 ---
Received on Wed Sep 03 2003 - 01:16:32 UTC

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