Date: Sat, 14 Jun 2014 10:48:47 +0200 From: Mateusz Guzik <mjguzik@gmail.com> To: Darren Reed <darrenr@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: FreeBSD 10.0 adaptive mutex with strange mtx_lock value = panic Message-ID: <20140614084847.GA8122@dft-labs.eu> In-Reply-To: <539BFEC4.1020103@freebsd.org> References: <539BFEC4.1020103@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jun 14, 2014 at 05:50:28PM +1000, Darren Reed wrote: > In debugging a kernel panic running inside a VM, I found the following: > > (kgdb) p *$15 > $16 = {lock_object = {lo_name = 0xffffffff81a8a224 "filter rule lock", > lo_flags = 16908288, lo_data = 0, lo_witness = 0x0}, mtx_lock = 6} > > 16908288 = 0x1020000 (CLASS=1|LO_WITNESS) > > While everything "looks" normal, mtx_lock = MTX_UNOWNED|MTX_CONTESTED > > And kern_mutex.c cannot deal with that. > > This is 100% repeatable/reproducible ... > > Am I dealing with a VM bug or a FreeBSD bug? > This is a 'destroyed mutex' state, i.e. you are doing mtx_lock after mtx_destroy. A kernel with INVARIANTS enabled wold tell you that straight away. -- Mateusz Guzik <mjguzik gmail.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140614084847.GA8122>