From nobody@FreeBSD.org  Sun Aug 16 19:00:54 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D8BDB106568D
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 16 Aug 2009 19:00:54 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id C85D28FC65
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 16 Aug 2009 19:00:54 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n7GJ0sNk036961
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 16 Aug 2009 19:00:54 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id n7GJ0sCS036960;
	Sun, 16 Aug 2009 19:00:54 GMT
	(envelope-from nobody)
Message-Id: <200908161900.n7GJ0sCS036960@www.freebsd.org>
Date: Sun, 16 Aug 2009 19:00:54 GMT
From: Nathaniel Filardo <nwf@cs.jhu.edu>
To: freebsd-gnats-submit@FreeBSD.org
Subject: LOR bufwait/dirhash
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         137852
>Category:       kern
>Synopsis:       [lor] LOR bufwait/dirhash
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Aug 16 19:10:03 UTC 2009
>Closed-Date:    Mon Jan 24 21:15:28 UTC 2011
>Last-Modified:  Mon Jan 24 21:15:28 UTC 2011
>Originator:     Nathaniel Filardo
>Release:        -CURRENT
>Organization:
>Environment:
FreeBSD hydra.priv.oc.ietfng.org 8.0-BETA2 FreeBSD 8.0-BETA2 #2: Sun Aug 16 13:00:36 EDT 2009     root@hydra.priv.oc.ietfng.org:/systank/obj/systank/src/sys/NWFKERN  sparc64

>Description:
lock order reversal:
 1st 0xea5e97f8 bufwait (bufwait) @ /systank/src/sys/kern/vfs_bio.c:2559
 2nd 0xfffff8000edea400 dirhash (dirhash) @ /systank/src/sys/ufs/ufs/ufs_dirhash.c:285
KDB: stack backtrace:
_witness_debugger() at _witness_debugger+0x38
witness_checkorder() at witness_checkorder+0xcf8
_sx_xlock() at _sx_xlock+0x9c
ufsdirhash_acquire() at ufsdirhash_acquire+0x30
ufsdirhash_add() at ufsdirhash_add+0x4
ufs_direnter() at ufs_direnter+0x75c
ufs_makeinode() at ufs_makeinode+0x4f8
ufs_create() at ufs_create+0x40
VOP_CREATE_APV() at VOP_CREATE_APV+0x108
vn_open_cred() at vn_open_cred+0x1fc
vn_open() at vn_open+0x1c
kern_openat() at kern_openat+0x10c
kern_open() at kern_open+0x18
open() at open+0x14
syscall() at syscall+0x2f0
-- syscall (5, FreeBSD ELF64, open) %o7=0x104224 --
userland() at 0x404711a8
user trace: trap %o7=0x104224
pc 0x404711a8, sp 0x7fdffffb491
pc 0x101090, sp 0x7fdffffe2b1
pc 0x4020ad94, sp 0x7fdffffe371
done

This happened even on GENERIC, so don't mind too much that uname -a says NWFKERN instead. :)

Apologies if this is a duplicate; a quick search didn't find one, but it's possible I've missed.

What else would be helpful?
>How-To-Repeat:
This is more or less guaranteed to happen eventually, and is triggered by any number of different things.  csup has triggered it, the dump posted above is due to a chsh command...
>Fix:


>Release-Note:
>Audit-Trail:

From: Olivier Certner <olivier.freebsd@free.fr>
To: bug-followup@freebsd.org
Cc:  
Subject: kern/137852: [lor] LOR bufwait/dirhash
Date: Mon, 24 Jan 2011 16:11:44 +0100

 		Hi,
 
 	This LOR is still present on 9.0-CURRENT-201101. Here is the backtrace:
 
 lock order reversal:
  1st 0xffffff80f6d32ad8 bufwait (bufwait) @ /usr/src/sys/kern/vfs_bio.c:2659
  2nd 0xfffffe0059809400 dirhash (dirhash) 
 @ /usr/src/sys/ufs/ufs/ufs_dirhash.c:284
 KDB: stack backtrace:
 db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
 kdb_backtrace() at kdb_backtrace+0x37
 _witness_debugger() at _witness_debugger+0x2e
 witness_checkorder() at witness_checkorder+0x807
 _sx_xlock() at _sx_xlock+0x55
 ufsdirhash_acquire() at ufsdirhash_acquire+0x33
 ufsdirhash_add() at ufsdirhash_add+0x19
 ufs_direnter() at ufs_direnter+0x8b4
 ufs_makeinode() at ufs_makeinode+0x250
 VOP_CREATE_APV() at VOP_CREATE_APV+0x8d
 vn_open_cred() at vn_open_cred+0x46a
 kern_openat() at kern_openat+0x181
 syscallenter() at syscallenter+0x1aa
 syscall() at syscall+0x4c
 Xfast_syscall() at Xfast_syscall+0xe2
 --- syscall (5, FreeBSD ELF64, open), rip = 0x800f6fd5c, rsp = 0x7fffffffe358, 
 rbp = 0x124 ---
 
 	Thanks,
 
 		Olivier Certner
State-Changed-From-To: open->closed 
State-Changed-By: brucec 
State-Changed-When: Mon Jan 24 21:13:56 UTC 2011 
State-Changed-Why:  
Known LOR - see http://sources.zabbadoz.net/freebsd/lor.html . 

http://www.freebsd.org/cgi/query-pr.cgi?pr=137852 
>Unformatted:
