Re: UFS/VFS lock order reversal on stock 8.0-200812-AMD64

From: Gavin Atkinson <gavin_at_FreeBSD.org>
Date: Fri, 23 Jan 2009 12:07:57 +0000
On Thu, 2009-01-22 at 21:33 -0600, Paul Tice wrote:
> I'm new, so please advise me (gently?) about list protocol and such if needed.
> 
> Using stock 8.0-CURRENT-200812-amd64, I am getting the messages below.

8.0-CURRENT is essentially the bleeding-edge of FreeBSD, and is where
development happens that has not necessarily proven itself as being
stable.  As it is the development branch, it also has a lot of extra
debugging enabled, which is what you are seeing with the "lock order
reversals".

If you are not running 8-CURRENT for a specific reason (e.g. because you
are doing FreeBSD OS development work, or you are prepared to help debug
issues as you encounter them, or similar), you probably shouldn't be
running CURRENT.  Stick with 7.1.

Gavin

> I've run memtest 3.4 through 3 passes with no errors.
> I did go through an entire boot/install with no errors by setting all caching to Write-Through in BIOS, but that leads to unacceptable performance, and I'm not sure the slowness wasn't masking the problem.
> Motherboard is a Supermicro x7dvl3, 8G of RAM (4 x 2G matched within a small range of serial numbers.)
> Chipset is an Intel 5000V with a ESB2 Southbridge. Cpu is 2 Quad core Xeon 5400 Series _at_ 2GHz. This is a fairly new CPU with a larger cache than previous Xeons (12Meg L2).
> The error occurs whether I use the LSI 1068E attached via PCI-E(x4) or the ESB2 onboard SATA.
> I do not get the error when mounting another drive after booting, I do see the same error when shutting down.
> I also notice (maybe related) text video corruption during shutdown. (XGI Volari™ Z7 PCI-E Graphics Processor)
> 
> Am I too wordy, or did I forget something?
> 
> 
> Trying to mount root from ufs:/dev/ad20s1a
> lock order reversal:
>  1st 0xffffff0001701070 user map (user map) _at_ /usr/src/sys/vm/vm_map.c:3115
>  2nd 0xffffff0001ea87f8 ufs (ufs) _at_ /usr/src/sys/kern/vfs_subr.c:2079
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> _witness_debugger() at _witness_debugger+0x2e
> witness_checkorder() at witness_checkorder+0x81e
> __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+0x8b
> vnode_pager_lock() at vnode_pager_lock+0x1d0
> 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 ---
> 
> Later in the boot sequence
> lock order reversal:
>  1st 0xfffffffec0491330 bufwait (bufwait) _at_ /usr/src/sys/kern/vfs_bio.c:2443
>  2nd 0xffffff0004163000 dirhash (dirhash) _at_ /usr/src/sys/ufs/ufs/ufs_dirhash.c:263
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> _witness_debugger() at _witness_debugger+0x2e
> witness_checkorder() at witness_checkorder+0x81e
> _sx_xlock() at _sx_xlock+0x55
> ufsdirhash_acquire() at ufsdirhash_acquire+0x33
> ufsdirhash_add() at ufsdirhash_add+0x19
> ufs_direnter() at ufs_direnter+0x889
> ufs_makeinode() at ufs_makeinode+0x338
> VOP_CREATE_APV() at VOP_CREATE_APV+0x8d
> vn_open_cred() at vn_open_cred+0x479
> kern_openat() at kern_openat+0x169
> syscall() at syscall+0x1bf
> Xfast_syscall() at Xfast_syscall+0xab
> --- syscall (5, FreeBSD ELF64, open), rip = 0x800daceac, rsp = 0x7fffffffe7c8, rbp = 0x8 ---
> 
> Thanks
> Paul
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
Received on Fri Jan 23 2009 - 11:08:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:40 UTC