Bug 127787 - [lor] [ufs] Three LORs: vfslock/devfs/vfslock, ufs/vfslock, user map/vfs
Summary: [lor] [ufs] Three LORs: vfslock/devfs/vfslock, ufs/vfslock, user map/vfs
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-01 23:40 UTC by Milon Papezik
Modified: 2022-01-22 16:44 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Milon Papezik 2008-10-01 23:40:01 UTC
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 ---

Fix: 

Unfortunately unknown to me.
How-To-Repeat: reboot the system.
Comment 1 Bjoern A. Zeeb freebsd_committer freebsd_triage 2009-02-15 19:40:47 UTC
Responsible Changed
From-To: freebsd-amd64->freebsd-bugs

None of the LORs seems to be amd64 specific.
Comment 2 Alexander Best freebsd_committer freebsd_triage 2010-09-07 01:20:41 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-fs

Over to maintainer(s).
Comment 3 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 07:59:34 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped