LOR between allproc <-> ufs

Konstantin Belousov kostikbel at gmail.com
Fri May 27 14:10:23 UTC 2016


On Fri, May 27, 2016 at 03:37:05PM +0200, Yamagi Burmeister wrote:
> On Thu, 26 May 2016 18:58:44 +0300
> Konstantin Belousov <kostikbel at gmail.com> wrote:
> 
> > Completely untested patch is below.  I do not think that this LOR
> > can be reproduced at will.  E.g. you need to record the order
> > in witness by unmounting some filesystem mounted on a directory
> > on UFS mount.  Then, the chances must be that it was the last
> > reference on the vmspace, or that there were deferred vnode entry.
> 
> With this patch the system panics as soon there's some load on the
> filesystem. Maybe only when several processes accessing the same
> mountpoint, but I'm not sure. For example 'make -j24 buildkernel'
> crashes the system nearly instantly.
>     at /usr/src/sys/kern/kern_shutdown.c:777
> #11 0xffffffff809b5aeb in witness_warn (flags=<value optimized out>, lock=<value optimized out>, 
>     fmt=<value optimized out>) at /usr/src/sys/kern/subr_witness.c:1757
> #12 0xffffffff809aa0a8 in userret (td=0xfffff800264c6960, frame=<value optimized out>)
>     at /usr/src/sys/kern/subr_trap.c:157
> #13 0xffffffff80d78151 in amd64_syscall (td=0xfffff800264c6960, traced=<value optimized out>)
>     at subr_syscall.c:185

This is an assert about some lock leak.  Most useful is verbatim
panic message with all surrounding kernel printouts.  I do not even need
the backtrace.


More information about the freebsd-fs mailing list