From nobody@FreeBSD.org  Wed Oct  1 22:34:52 2008
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 E8F95106568E
	for <freebsd-gnats-submit@FreeBSD.org>; Wed,  1 Oct 2008 22:34:52 +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 A95DF8FC1E
	for <freebsd-gnats-submit@FreeBSD.org>; Wed,  1 Oct 2008 22:34:52 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id m91MYqQC058515
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 1 Oct 2008 22:34:52 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id m91MYq0s058514;
	Wed, 1 Oct 2008 22:34:52 GMT
	(envelope-from nobody)
Message-Id: <200810012234.m91MYq0s058514@www.freebsd.org>
Date: Wed, 1 Oct 2008 22:34:52 GMT
From: Milon Papezik <mmp@actinet.cz>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [lor] 3 lock LOR in recent CURRENT
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         127787
>Category:       kern
>Synopsis:       [lor] [ufs] Three LORs: vfslock/devfs/vfslock, ufs/vfslock, user map/vfs
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-fs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Oct 01 22:40:01 UTC 2008
>Closed-Date:    
>Last-Modified:  Wed Feb 08 09:28:49 UTC 2012
>Originator:     Milon Papezik
>Release:        FreeBSD 8.0 - CURRENT
>Organization:
>Environment:
FreeBSD fbsd8.papezik.cz 8.0-CURRENT FreeBSD 8.0-CURRENT #3: Sat Sep 27 03:35:37 CEST 2008     root@fbsd8.papezik.cz:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
I have found three repeatable LORs in FreeBSD 8.0-CURRENT / amd64 cvsupped and rebuild in last 12 hours.
I tried to identify whether some of the LORs were already reported, but I am not sure so I list them all.
Especially the first is interesting as it involves 3 locks.

Please let me know if I can somehow help to fix them.


Trying to mount root from ufs:/dev/da0s1a
lock order reversal:
 1st 0xffffff0001379000 vfslock (vfslock) @ /usr/src/sys/kern/vfs_subr.c:372
 2nd 0xffffff00012fed80 devfs (devfs) @ /usr/src/sys/kern/vfs_lookup.c:432
 3rd 0xffffff0001378c80 vfslock (vfslock) @ /usr/src/sys/kern/vfs_subr.c:372
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x7d8
__lockmgr_args() at __lockmgr_args+0xca8
vfs_busy() at vfs_busy+0xe7
vfs_mount_alloc() at vfs_mount_alloc+0x88
vfs_donmount() at vfs_donmount+0xdbd
kernel_mount() at kernel_mount+0xa1
kernel_vmount() at kernel_vmount+0xce
vfs_mountroot_try() at vfs_mountroot_try+0x102
vfs_mountroot() at vfs_mountroot+0x3f0
start_init() at start_init+0x62
fork_exit() at fork_exit+0x12a
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xfffffffe4000ad40, rbp = 0 ---


lock order reversal:
 1st 0xffffff00012fe620 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2051
 2nd 0xffffff0001379000 vfslock (vfslock) @ /usr/src/sys/kern/vfs_subr.c:372
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x7d8
__lockmgr_args() at __lockmgr_args+0xca8
vfs_busy() at vfs_busy+0xe7
lookup() at lookup+0x8c2
namei() at namei+0x43f
kern_unlinkat() at kern_unlinkat+0x9d
vfs_mountroot_try() at vfs_mountroot_try+0x418
vfs_mountroot() at vfs_mountroot+0x3f0
start_init() at start_init+0x62
fork_exit() at fork_exit+0x12a
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xfffffffe4000ad40, rbp = 0 ---


lock order reversal:
 1st 0xffffff0001125070 user map (user map) @ /usr/src/sys/vm/vm_map.c:3115
 2nd 0xffffff00012fe270 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2051
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x7d8
__lockmgr_args() at __lockmgr_args+0xca8
ffs_lock() at ffs_lock+0x8c
VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b
_vn_lock() at _vn_lock+0x47
vget() at vget+0x92
vnode_pager_lock() at vnode_pager_lock+0x1d3
vm_fault() at vm_fault+0x1e2
trap_pfault() at trap_pfault+0x128
trap() at trap+0x51c
calltrap() at calltrap+0x8
--- trap 0xc, rip = 0x40014f, rsp = 0x7fffffffee70, rbp = 0x7fffffffee90 ---

>How-To-Repeat:
reboot the system.
>Fix:
Unfortunately unknown to me.

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-amd64->freebsd-bugs 
Responsible-Changed-By: bz 
Responsible-Changed-When: Sun Feb 15 19:40:47 UTC 2009 
Responsible-Changed-Why:  
None of the LORs seems to be amd64 specific. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127787 
Responsible-Changed-From-To: freebsd-bugs->freebsd-fs 
Responsible-Changed-By: arundel 
Responsible-Changed-When: Tue Sep 7 00:20:41 UTC 2010 
Responsible-Changed-Why:  
Over to maintainer(s). 

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