kern/136944: [ffs] [lor] bufwait/snaplk (fsync)
Robert Schulze
rs at bytecamp.net
Fri Feb 11 10:50:12 UTC 2011
The following reply was made to PR kern/136944; it has been noted by GNATS.
From: Robert Schulze <rs at bytecamp.net>
To: rene at freebsd.org
Cc: bug-followup at freebsd.org
Subject: Re: kern/136944: [ffs] [lor] bufwait/snaplk (fsync)
Date: Fri, 11 Feb 2011 11:18:46 +0100
Hi,
I can confirm that, too:
lock order reversal:
1st 0xffffff0019291cc8 ufs (ufs) @ /usr/src/sys/ufs/ffs/ffs_snapshot.c:423
2nd 0xffffff81ef169978 bufwait (bufwait) @
/usr/src/sys/kern/vfs_bio.c:2636
3rd 0xffffff00074647e8 ufs (ufs) @ /usr/src/sys/ufs/ffs/ffs_snapshot.c:544
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x49
witness_checkorder() at witness_checkorder+0x7d3
__lockmgr_args() at __lockmgr_args+0xd0b
ffs_lock() at ffs_lock+0xac
VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b
_vn_lock() at _vn_lock+0x5d
ffs_snapshot() at ffs_snapshot+0x1b79
ffs_mount() at ffs_mount+0x5c5
vfs_donmount() at vfs_donmount+0xcd4
nmount() at nmount+0x74
syscallenter() at syscallenter+0xe5
syscall() at syscall+0x55
Xfast_syscall() at Xfast_syscall+0xe2
--- syscall (378, FreeBSD ELF64, nmount), rip = 0x8007acfdc, rsp =
0x7fffffffe9a8, rbp = 0x800a04530 ---
lock order reversal:
1st 0xffffff81ef06e6f8 bufwait (bufwait) @
/usr/src/sys/kern/vfs_bio.c:2636
2nd 0xffffff0015bcc630 snaplk (snaplk) @
/usr/src/sys/ufs/ffs/ffs_snapshot.c:2223
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x49
witness_checkorder() at witness_checkorder+0x7d3
__lockmgr_args() at __lockmgr_args+0xd0b
ffs_copyonwrite() at ffs_copyonwrite+0x161
ffs_geom_strategy() at ffs_geom_strategy+0x159
bufwrite() at bufwrite+0xff
ffs_sbupdate() at ffs_sbupdate+0x94
ffs_sync() at ffs_sync+0x489
sync_fsync() at sync_fsync+0x136
VOP_FSYNC_APV() at VOP_FSYNC_APV+0xb5
sync_vnode() at sync_vnode+0x143
sched_sync() at sched_sync+0x1c6
fork_exit() at fork_exit+0x12a
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xffffff8245289cf0, rbp = 0 ---
lock order reversal:
1st 0xffffff0015bcc630 snaplk (snaplk) @ /usr/src/sys/kern/vfs_vnops.c:296
2nd 0xffffff0019291cc8 ufs (ufs) @
/usr/src/sys/ufs/ffs/ffs_snapshot.c:1587
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x49
witness_checkorder() at witness_checkorder+0x7d3
__lockmgr_args() at __lockmgr_args+0xd0b
ffs_snapremove() at ffs_snapremove+0xe2
softdep_releasefile() at softdep_releasefile+0x133
ufs_inactive() at ufs_inactive+0x153
VOP_INACTIVE_APV() at VOP_INACTIVE_APV+0xb9
vinactive() at vinactive+0x89
vputx() at vputx+0x3c6
vn_close() at vn_close+0x10b
vn_closefile() at vn_closefile+0x51
_fdrop() at _fdrop+0x20
closef() at closef+0x58
kern_close() at kern_close+0xff
syscallenter() at syscallenter+0xe5
syscall() at syscall+0x55
Xfast_syscall() at Xfast_syscall+0xe2
--- syscall (6, FreeBSD ELF64, close), rip = 0x800844b1c, rsp =
0x7fffffffe9a8, rbp = 0 ---
this was after hot-resetting, maybe due to a background fsck.
with kind regards,
Robert Schulze
More information about the freebsd-fs
mailing list