New LOR's concerning zfs.

From: Valentin Davydov <cs_at_soi.spb.ru>
Date: Wed, 12 Nov 2014 16:30:43 +0300
Recently I've installed current in an unusual configuration: root ZFS pool 
on an USB stick, without any partitioning. It works good, but quite often 
throws three different LORs, all related to ZFS subsystem. I suspect this 
is due to the irregular timing pattern of the USB access, and I couldn't 
find them in the list of known LORs. Hope this would help further 
integration of ZFS in kernel. Details please see below.

Valentin Davydov.

uname -a
FreeBSD white.local 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r274379: Tue Nov 11 14:35:45 UTC 2014     root_at_white.local:/usr/obj/usr/src/sys/GENERIC  amd64

LORs themselves:

lock order reversal:
1st 0xfffff80009382d50 syncer (syncer) _at_ /White/usr/src/sys/kern/vfs_subr.c:1756
2nd 0xfffff8002d9dfb78 zfs (zfs) _at_ /White/usr/src/sys/kern/vfs_subr.c:2144
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00857186d0
kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe0085718780
witness_checkorder() at witness_checkorder+0xdad/frame 0xfffffe0085718810
__lockmgr_args() at __lockmgr_args+0x9a4/frame 0xfffffe0085718940
vop_stdlock() at vop_stdlock+0x3c/frame 0xfffffe0085718960
VOP_LOCK1_APV() at VOP_LOCK1_APV+0xfc/frame 0xfffffe0085718990
_vn_lock() at _vn_lock+0xaa/frame 0xfffffe0085718a00
vget() at vget+0x67/frame 0xfffffe0085718a40
vfs_msync() at vfs_msync+0xa7/frame 0xfffffe0085718aa0
sync_fsync() at sync_fsync+0xcc/frame 0xfffffe0085718ae0
VOP_FSYNC_APV() at VOP_FSYNC_APV+0xf7/frame 0xfffffe0085718b10
sched_sync() at sched_sync+0x34b/frame 0xfffffe0085718bb0
fork_exit() at fork_exit+0x84/frame 0xfffffe0085718bf0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0085718bf0
--- trap 0, rip = 0, rsp = 0xfffffe0085718cb0, rbp = 0 ---

lock order reversal:
1st 0xfffff80007c9cd50 zfs (zfs) _at_ /White/usr/src/sys/kern/vfs_mount.c:1223
2nd 0xfffff80007c9d5f0 devfs (devfs) _at_ /White/usr/src/sys/kern/vfs_subr.c:2144
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00859b63c0
kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe00859b6470
witness_checkorder() at witness_checkorder+0xdad/frame 0xfffffe00859b6500
__lockmgr_args() at __lockmgr_args+0x9a4/frame 0xfffffe00859b6630
vop_stdlock() at vop_stdlock+0x3c/frame 0xfffffe00859b6650
VOP_LOCK1_APV() at VOP_LOCK1_APV+0xfc/frame 0xfffffe00859b6680
_vn_lock() at _vn_lock+0xaa/frame 0xfffffe00859b66f0
vget() at vget+0x67/frame 0xfffffe00859b6730
devfs_allocv() at devfs_allocv+0xfd/frame 0xfffffe00859b6780
devfs_root() at devfs_root+0x43/frame 0xfffffe00859b67b0
vflush() at vflush+0x73/frame 0xfffffe00859b6900
devfs_unmount() at devfs_unmount+0x38/frame 0xfffffe00859b6930
dounmount() at dounmount+0x424/frame 0xfffffe00859b69b0
sys_unmount() at sys_unmount+0x2ec/frame 0xfffffe00859b6ae0
amd64_syscall() at amd64_syscall+0x25a/frame 0xfffffe00859b6bf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe00859b6bf0
--- syscall (22, FreeBSD ELF64, sys_unmount), rip = 0x80089213a, rsp = 0x7fffffffe468, rbp = 0x7fffffffe580 ---

lock order reversal:
1st 0xfffff800102ad038 filedesc structure (filedesc structure) _at_ /White/usr/src/sys/kern/kern_descrip.c:1218
2nd 0xfffff8007abb35f0 zfs (zfs) _at_ /White/usr/src/sys/kern/vfs_subr.c:4411
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe022d790590
kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe022d790640
witness_checkorder() at witness_checkorder+0xdad/frame 0xfffffe022d7906d0
__lockmgr_args() at __lockmgr_args+0x9a4/frame 0xfffffe022d790800
vop_stdlock() at vop_stdlock+0x3c/frame 0xfffffe022d790820
VOP_LOCK1_APV() at VOP_LOCK1_APV+0xfc/frame 0xfffffe022d790850
_vn_lock() at _vn_lock+0xaa/frame 0xfffffe022d7908c0
knlist_remove_kq() at knlist_remove_kq+0x82/frame 0xfffffe022d7908f0
filt_vfsdetach() at filt_vfsdetach+0x28/frame 0xfffffe022d790910
knote_fdclose() at knote_fdclose+0xc7/frame 0xfffffe022d790960
closefp() at closefp+0x65/frame 0xfffffe022d7909a0
amd64_syscall() at amd64_syscall+0x25a/frame 0xfffffe022d790ab0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe022d790ab0
--- syscall (6, FreeBSD ELF64, sys_close), rip = 0x80165c2ca, rsp = 0x7fffdfbfbef8, rbp = 0x7fffdfbfbf10 ---
Received on Wed Nov 12 2014 - 12:36:41 UTC

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