From owner-freebsd-current@FreeBSD.ORG Thu May 2 16:39:41 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7FE69145; Thu, 2 May 2013 16:39:41 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) by mx1.freebsd.org (Postfix) with ESMTP id 5C66B1816; Thu, 2 May 2013 16:39:41 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id C7840B986; Thu, 2 May 2013 12:39:40 -0400 (EDT) From: John Baldwin To: freebsd-current@freebsd.org Subject: Re: LOR: two vfs_bio.c:3070, ufs_dirhash.c:284 and vfs_mount.c:851, vfs_subr.c:2167 Date: Thu, 2 May 2013 12:35:13 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p25; KDE/4.5.5; amd64; ; ) References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201305021235.13416.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Thu, 02 May 2013 12:39:40 -0400 (EDT) Cc: Ian FREISLICH , current@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 May 2013 16:39:41 -0000 On Thursday, May 02, 2013 3:55:25 am Ian FREISLICH wrote: > Hi > > I'm getting these two LORs at boot time, they don't seem to be known > on http://ipv4.sources.zabbadoz.net/freebsd/lor.html > > lock order reversal: > 1st 0xffffff83e37ee938 bufwait (bufwait) @ /usr/src/sys/kern/vfs_bio.c:3070 > 2nd 0xfffffe0030283800 dirhash (dirhash) @ /usr/src/sys/ufs/ufs/ufs_dirhash.c:284 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 0xffffff846b756410 > _witness_debugger() at _witness_debugger+0x65/frame 0xffffff846b756430 > witness_checkorder() at witness_checkorder+0x857/frame 0xffffff846b7564e0 > _sx_xlock() at _sx_xlock+0x6e/frame 0xffffff846b756510 > ufsdirhash_acquire() at ufsdirhash_acquire+0x33/frame 0xffffff846b756530 > ufsdirhash_add() at ufsdirhash_add+0x19/frame 0xffffff846b756560 > ufs_direnter() at ufs_direnter+0x976/frame 0xffffff846b756630 > ufs_makeinode() at ufs_makeinode+0x296/frame 0xffffff846b7567f0 > VOP_CREATE_APV() at VOP_CREATE_APV+0x8c/frame 0xffffff846b756820 > vn_open_cred() at vn_open_cred+0x2da/frame 0xffffff846b756970 > kern_openat() at kern_openat+0x1de/frame 0xffffff846b756ad0 > amd64_syscall() at amd64_syscall+0x26c/frame 0xffffff846b756bf0 > Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff846b756bf0 > --- syscall (5, FreeBSD ELF64, sys_open), rip = 0x800b6f99a, rsp = 0x7fffffffd84 > > lock order reversal: > 1st 0xfffffe003082f068 ufs (ufs) @ /usr/src/sys/kern/vfs_mount.c:851 > 2nd 0xfffffe032a133240 devfs (devfs) @ /usr/src/sys/kern/vfs_subr.c:2167 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 0xffffff846b408410 > _witness_debugger() at _witness_debugger+0x65/frame 0xffffff846b408430 > witness_checkorder() at witness_checkorder+0x857/frame 0xffffff846b4084e0 > __lockmgr_args() at __lockmgr_args+0xda4/frame 0xffffff846b4085b0 > vop_stdlock() at vop_stdlock+0x39/frame 0xffffff846b4085d0 > VOP_LOCK1_APV() at VOP_LOCK1_APV+0x97/frame 0xffffff846b408600 > _vn_lock() at _vn_lock+0x5e/frame 0xffffff846b408680 > vget() at vget+0x63/frame 0xffffff846b4086d0 > devfs_allocv() at devfs_allocv+0x13c/frame 0xffffff846b408730 > devfs_root() at devfs_root+0x4d/frame 0xffffff846b408770 > vfs_donmount() at vfs_donmount+0xa55/frame 0xffffff846b408a90 > sys_nmount() at sys_nmount+0x6d/frame 0xffffff846b408ad0 > amd64_syscall() at amd64_syscall+0x26c/frame 0xffffff846b408bf0 > Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff846b408bf0 > --- syscall (378, FreeBSD ELF64, sys_nmount), rip = 0x800a96daa, rsp = 0x7fffffffccc8, rbp = 0x7fffffffcce0 --- The are both old and known. The bufwait one is documented in ufs_dirhash.c and is a false positive. -- John Baldwin