Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Dec 2012 11:56:19 +0100
From:      Fleuriot Damien <ml@my.gd>
To:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   10-CURRENT r244183 amd64 multiple lock order reversals
Message-ID:  <5A9EB6A1-AA39-4AA5-B5FA-D566898AD248@my.gd>

next in thread | raw e-mail | index | archive | help
Hello list,


I'm getting multipe LORs at boot on 10-CURRENT r244183 built yesterday =
on amd64.


Anyone else getting these ?
Anything I can do to help get them fixed ?


My make.conf contains:
=3D=3D=3D
CC=3Dclang
CXX=3Dclang++
CPP=3Dclang-cpp

# This setting to build world without -Werror
NO_WERROR=3D
# This setting to build kernel without -Werror
WERROR=3D
# Don't forget this when using jails !
NO_FSCHG=3D

CFLAGS=3D -O2 -fno-strict-aliasing -pipe

NO_GAMES=3Dtrue
NO_INFO=3Dtrue
NO_KERBEROS=3Dtrue
NO_LPR=3Dtrue
NO_NIS=3Dtrue
NO_BLUETOOTH=3Dtrue

KERNCONF=3DDAM
MODULES_OVERRIDE=3D opensolaris zfs if_lagg pf pflog
=3D=3D=3D



First LOR, apparently in PF:

altq: emulate 256000000Hz cpu clock
lock order reversal: (sleepable after non-sleepable)
 1st 0xffffffff81390418 pf rulesets (pf rulesets) @ =
/data/freebsd/src/head/sys/modules/pf/../../netpfil/pf/pf_ioctl.c:1153
 2nd 0xffffffff80e5e298 ifnet_sx (ifnet_sx) @ =
/data/freebsd/src/head/sys/modules/pf/../../netpfil/pf/pf_if.c:481
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame =
0xffffff80f6e4a9d0
kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff80f6e4aa80
witness_checkorder() at witness_checkorder+0xc47/frame =
0xffffff80f6e4ab00
_sx_slock() at _sx_slock+0x69/frame 0xffffff80f6e4ab40
pfi_kif_update() at pfi_kif_update+0x10d/frame 0xffffff80f6e4abb0
pfi_dynaddr_setup() at pfi_dynaddr_setup+0x2d1/frame 0xffffff80f6e4ac20
pfioctl() at pfioctl+0x4a61/frame 0xffffff80f6e4b9a0
devfs_ioctl_f() at devfs_ioctl_f+0xf0/frame 0xffffff80f6e4ba00
kern_ioctl() at kern_ioctl+0x1ce/frame 0xffffff80f6e4ba50
sys_ioctl() at sys_ioctl+0x11f/frame 0xffffff80f6e4baa0
amd64_syscall() at amd64_syscall+0x265/frame 0xffffff80f6e4bbb0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xffffff80f6e4bbb0
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip =3D 0x800d923ea, rsp =3D =
0x7fffffffbde8, rbp =3D 0x7fffffffc9e0 ---

PF is used as a module, however I've compiled in ALTQ support:
options 	ALTQ
options 	ALTQ_CBQ
options 	ALTQ_RED
options 	ALTQ_RIO
options 	ALTQ_HFSC
options 	ALTQ_CDNR
options 	ALTQ_PRIQ
options 	ALTQ_NOPCC
options 	ALTQ_DEBUG



Second and third LORs, with vfs:

lock order reversal:
 1st 0xffffff80c0f92a48 bufwait (bufwait) @ =
/data/freebsd/src/head/sys/kern/vfs_bio.c:2631
 2nd 0xfffffe000619d600 dirhash (dirhash) @ =
/data/freebsd/src/head/sys/ufs/ufs/ufs_dirhash.c:284
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame =
0xffffff80f0c32690
kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff80f0c32740
witness_checkorder() at witness_checkorder+0xc47/frame =
0xffffff80f0c327c0
_sx_xlock() at _sx_xlock+0x66/frame 0xffffff80f0c32800
ufsdirhash_remove() at ufsdirhash_remove+0x37/frame 0xffffff80f0c32830
ufs_dirremove() at ufs_dirremove+0x116/frame 0xffffff80f0c32880
ufs_remove() at ufs_remove+0x75/frame 0xffffff80f0c328e0
VOP_REMOVE_APV() at VOP_REMOVE_APV+0xc8/frame 0xffffff80f0c32900
kern_unlinkat() at kern_unlinkat+0x20b/frame 0xffffff80f0c32aa0
amd64_syscall() at amd64_syscall+0x265/frame 0xffffff80f0c32bb0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xffffff80f0c32bb0
--- syscall (10, FreeBSD ELF64, sys_unlink), rip =3D 0x80091a61a, rsp =3D =
0x7fffffffca78, rbp =3D 0x7fffffffdc30 ---

lock order reversal:
 1st 0xfffffe0006208668 ufs (ufs) @ =
/data/freebsd/src/head/sys/kern/vfs_mount.c:851
 2nd 0xfffffe00371d1098 devfs (devfs) @ =
/data/freebsd/src/head/sys/kern/vfs_subr.c:2161
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame =
0xffffff80f6e283f0
kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff80f6e284a0
witness_checkorder() at witness_checkorder+0xc47/frame =
0xffffff80f6e28520
__lockmgr_args() at __lockmgr_args+0x6e2/frame 0xffffff80f6e28650
vop_stdlock() at vop_stdlock+0x3c/frame 0xffffff80f6e28670
VOP_LOCK1_APV() at VOP_LOCK1_APV+0xd0/frame 0xffffff80f6e28690
_vn_lock() at _vn_lock+0xab/frame 0xffffff80f6e28700
vget() at vget+0x70/frame 0xffffff80f6e28750
devfs_allocv() at devfs_allocv+0xfd/frame 0xffffff80f6e287a0
devfs_root() at devfs_root+0x43/frame 0xffffff80f6e287d0
vfs_donmount() at vfs_donmount+0xf92/frame 0xffffff80f6e28a60
sys_nmount() at sys_nmount+0x72/frame 0xffffff80f6e28aa0
amd64_syscall() at amd64_syscall+0x265/frame 0xffffff80f6e28bb0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xffffff80f6e28bb0
--- syscall (378, FreeBSD ELF64, sys_nmount), rip =3D 0x800a950fa, rsp =3D=
 0x7fffffffccc8, rbp =3D 0x7fffffffd230 ---




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5A9EB6A1-AA39-4AA5-B5FA-D566898AD248>