10-CURRENT r244183 amd64 multiple lock order reversals

2012-12-14 Thread Fleuriot Damien
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:
===
CC=clang
CXX=clang++
CPP=clang-cpp

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

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

NO_GAMES=true
NO_INFO=true
NO_KERBEROS=true
NO_LPR=true
NO_NIS=true
NO_BLUETOOTH=true

KERNCONF=DAM
MODULES_OVERRIDE= opensolaris zfs if_lagg pf pflog
===



First LOR, apparently in PF:

altq: emulate 25600Hz cpu clock
lock order reversal: (sleepable after non-sleepable)
 1st 0x81390418 pf rulesets (pf rulesets) @ 
/data/freebsd/src/head/sys/modules/pf/../../netpfil/pf/pf_ioctl.c:1153
 2nd 0x80e5e298 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 0xff80f6e4a9d0
kdb_backtrace() at kdb_backtrace+0x39/frame 0xff80f6e4aa80
witness_checkorder() at witness_checkorder+0xc47/frame 0xff80f6e4ab00
_sx_slock() at _sx_slock+0x69/frame 0xff80f6e4ab40
pfi_kif_update() at pfi_kif_update+0x10d/frame 0xff80f6e4abb0
pfi_dynaddr_setup() at pfi_dynaddr_setup+0x2d1/frame 0xff80f6e4ac20
pfioctl() at pfioctl+0x4a61/frame 0xff80f6e4b9a0
devfs_ioctl_f() at devfs_ioctl_f+0xf0/frame 0xff80f6e4ba00
kern_ioctl() at kern_ioctl+0x1ce/frame 0xff80f6e4ba50
sys_ioctl() at sys_ioctl+0x11f/frame 0xff80f6e4baa0
amd64_syscall() at amd64_syscall+0x265/frame 0xff80f6e4bbb0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xff80f6e4bbb0
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800d923ea, rsp = 
0x7fffbde8, rbp = 0x7fffc9e0 ---

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 0xff80c0f92a48 bufwait (bufwait) @ 
/data/freebsd/src/head/sys/kern/vfs_bio.c:2631
 2nd 0xfe000619d600 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 0xff80f0c32690
kdb_backtrace() at kdb_backtrace+0x39/frame 0xff80f0c32740
witness_checkorder() at witness_checkorder+0xc47/frame 0xff80f0c327c0
_sx_xlock() at _sx_xlock+0x66/frame 0xff80f0c32800
ufsdirhash_remove() at ufsdirhash_remove+0x37/frame 0xff80f0c32830
ufs_dirremove() at ufs_dirremove+0x116/frame 0xff80f0c32880
ufs_remove() at ufs_remove+0x75/frame 0xff80f0c328e0
VOP_REMOVE_APV() at VOP_REMOVE_APV+0xc8/frame 0xff80f0c32900
kern_unlinkat() at kern_unlinkat+0x20b/frame 0xff80f0c32aa0
amd64_syscall() at amd64_syscall+0x265/frame 0xff80f0c32bb0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xff80f0c32bb0
--- syscall (10, FreeBSD ELF64, sys_unlink), rip = 0x80091a61a, rsp = 
0x7fffca78, rbp = 0x7fffdc30 ---

lock order reversal:
 1st 0xfe0006208668 ufs (ufs) @ 
/data/freebsd/src/head/sys/kern/vfs_mount.c:851
 2nd 0xfe00371d1098 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 0xff80f6e283f0
kdb_backtrace() at kdb_backtrace+0x39/frame 0xff80f6e284a0
witness_checkorder() at witness_checkorder+0xc47/frame 0xff80f6e28520
__lockmgr_args() at __lockmgr_args+0x6e2/frame 0xff80f6e28650
vop_stdlock() at vop_stdlock+0x3c/frame 0xff80f6e28670
VOP_LOCK1_APV() at VOP_LOCK1_APV+0xd0/frame 0xff80f6e28690
_vn_lock() at _vn_lock+0xab/frame 0xff80f6e28700
vget() at vget+0x70/frame 0xff80f6e28750
devfs_allocv() at devfs_allocv+0xfd/frame 0xff80f6e287a0
devfs_root() at devfs_root+0x43/frame 0xff80f6e287d0
vfs_donmount() at vfs_donmount+0xf92/frame 0xff80f6e28a60
sys_nmount() at sys_nmount+0x72/frame 0xff80f6e28aa0
amd64_syscall() at amd64_syscall+0x265/frame 0xff80f6e28bb0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xff80f6e28bb0
--- syscall (378, FreeBSD ELF64, sys_nmount), rip = 0x800a950fa, rsp = 
0x7fffccc8, rbp = 0x7fffd230 ---

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: 10-CURRENT r244183 amd64 multiple lock order reversals

2012-12-14 Thread Gleb Smirnoff
On Fri, Dec 14, 2012 at 11:56:19AM +0100, Fleuriot Damien wrote:
F First LOR, apparently in PF:
F 
F altq: emulate 25600Hz cpu clock
F lock order reversal: (sleepable after non-sleepable)
F  1st 0x81390418 pf rulesets (pf rulesets) @ 
/data/freebsd/src/head/sys/modules/pf/../../netpfil/pf/pf_ioctl.c:1153
F  2nd 0x80e5e298 ifnet_sx (ifnet_sx) @ 
/data/freebsd/src/head/sys/modules/pf/../../netpfil/pf/pf_if.c:481
F KDB: stack backtrace:
F db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 
0xff80f6e4a9d0
F kdb_backtrace() at kdb_backtrace+0x39/frame 0xff80f6e4aa80
F witness_checkorder() at witness_checkorder+0xc47/frame 0xff80f6e4ab00
F _sx_slock() at _sx_slock+0x69/frame 0xff80f6e4ab40
F pfi_kif_update() at pfi_kif_update+0x10d/frame 0xff80f6e4abb0
F pfi_dynaddr_setup() at pfi_dynaddr_setup+0x2d1/frame 0xff80f6e4ac20
F pfioctl() at pfioctl+0x4a61/frame 0xff80f6e4b9a0
F devfs_ioctl_f() at devfs_ioctl_f+0xf0/frame 0xff80f6e4ba00
F kern_ioctl() at kern_ioctl+0x1ce/frame 0xff80f6e4ba50
F sys_ioctl() at sys_ioctl+0x11f/frame 0xff80f6e4baa0
F amd64_syscall() at amd64_syscall+0x265/frame 0xff80f6e4bbb0
F Xfast_syscall() at Xfast_syscall+0xfb/frame 0xff80f6e4bbb0
F --- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800d923ea, rsp = 
0x7fffbde8, rbp = 0x7fffc9e0 ---

Strange that it wasn't noticed or reported before.

Fixed. Thanks for submission.

-- 
Totus tuus, Glebius.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org