Re: lock order reversal in sys/kern/vfs_mount.c

From: Stefan Esser <se_at_freebsd.org>
Date: Fri, 08 Jun 2012 22:01:26 +0200
Am 08.06.2012 10:10, schrieb Ruslan Mahmatkhanov:
> Good day,
> 
> After updating to yesterdays -current, I got this on boot:
> 
> lock order reversal:
>  1st 0xfffffe0007b04c38 ufs (ufs) _at_ /usr/src/sys/kern/vfs_mount.c:1254
>  2nd 0xfffffe0007ed9478 devfs (devfs) _at_ /usr/src/sys/kern/vfs_subr.c:2158
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> kdb_backtrace() at kdb_backtrace+0x37
> _witness_debugger() at _witness_debugger+0x2c
> witness_checkorder() at witness_checkorder+0x853
> __lockmgr_args() at __lockmgr_args+0x113a
> vop_stdlock() at vop_stdlock+0x39
> VOP_LOCK1_APV() at VOP_LOCK1_APV+0xbf
> _vn_lock() at _vn_lock+0x47
> vget() at vget+0x7b
> devfs_allocv() at devfs_allocv+0x13f
> devfs_root() at devfs_root+0x4d
> dounmount() at dounmount+0x45c
> vfs_unmountall() at vfs_unmountall+0x4c
> kern_reboot() at kern_reboot+0x84b
> sys_reboot() at sys_reboot+0x68
> amd64_syscall() at amd64_syscall+0x2e0
> Xfast_syscall() at Xfast_syscall+0xf7
> --- syscall (55, FreeBSD ELF64, sys_reboot), rip = 0x40ebbc, rsp =
> 0x7fffffffd6c8, rbp = 0x65 ---
> 
> Reverting to old kernel (that was built about a week ago) helped to
> avoid this. Any thoughts?

I have been getting those for a long time in -CURRENT, but with ZFS
instead of UFS, and during system shutdown, not startup. And this LOR
seems to cause the system to lock-up on shutdown with relatively high
probability (I often have to remove power to halt the system, Since
the ACPI power-off is not issued because of the LOR).

My system is only rebooted from the local console and thus the LOR
is not that much of a problem, and I did not bother to further look
into the cause. But in case of remote system that is rebooted via SSH,
the LOR could be quite a nuisance ...

Regards, STefan
Received on Fri Jun 08 2012 - 18:01:29 UTC

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