Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Jul 2014 17:25:12 +0000
From:      Steve Wills <swills@freebsd.org>
To:        Ryan Stone <rysto32@gmail.com>
Cc:        virtualization@freebsd.org, FreeBSD Current <current@freebsd.org>
Subject:   Re: tmpfs panic
Message-ID:  <20140706172511.GA84461@mouf.net>
In-Reply-To: <CAFMmRNzTFOVBSoU%2BCMnnEJ_rUooLC4v742hetMtXWMu_RmPzYw@mail.gmail.com>
References:  <20140706135333.GA80856@mouf.net> <20140706154621.GA81830@mouf.net> <CAFMmRNzTFOVBSoU%2BCMnnEJ_rUooLC4v742hetMtXWMu_RmPzYw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--OXfL5xGRrasGEqWY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Jul 06, 2014 at 12:28:07PM -0400, Ryan Stone wrote:
> On Sun, Jul 6, 2014 at 11:46 AM, Steve Wills <swills@freebsd.org> wrote:
> > I should have noted this system is running in bhyve. Also I'm told this=
 panic
> > may be related to the fact that the system is running in bhyve.
> >
> > Looking at it a little more closely:
> >
> > (kgdb) list *__mtx_lock_sleep+0xb1
> > 0xffffffff809638d1 is in __mtx_lock_sleep (/usr/src/sys/kern/kern_mutex=
=2Ec:431).
> > 426                      * owner stops running or the state of the lock=
 changes.
> > 427                      */
> > 428                     v =3D m->mtx_lock;
> > 429                     if (v !=3D MTX_UNOWNED) {
> > 430                             owner =3D (struct thread *)(v & ~MTX_FL=
AGMASK);
> > 431                             if (TD_IS_RUNNING(owner)) {
> > 432                                     if (LOCK_LOG_TEST(&m->lock_obje=
ct, 0))
> > 433                                             CTR3(KTR_LOCK,
> > 434                                                 "%s: spinning on %p=
 held by %p",
> > 435                                                 __func__, m, owner);
> > (kgdb)
> >
> > I'm told that MTX_CONTESTED was set on the unlocked mtx and that MTX_CO=
NTENDED
> > is spuriously left behind, and to ask how lock prefix is handled in bhy=
ve. Any
> > of that make sense to anyone?
>=20
> The mutex has both MTX_CONTESTED and MTX_UNOWNED set on it?  That is a
> special sentinel value that is set on a mutex when it is destroyed
> (see MTX_DESTROYED in sys/mutex.h).  If that is the case it looks like
> you've stumbled upon some kind of use-after-free in tmpfs.  I doubt
> that bhyve is responsible (other than perhaps changing the timing
> around making the panic more likely to happen).

Given the first thing seen was:

Freed UMA keg (TMPFS node) was not empty (16 items).  Lost 1 pages of memor=
y.

this sounds reasonable to me.

What can I do to help find and elliminate the source of the error?

Steve

--OXfL5xGRrasGEqWY
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJTuYZ3AAoJEPXPYrMgexuh06IIAJXfbe7rm1wQYoEz0ZpJU3jL
QJvtyCllWlP/0w2zuGl7HSr0iGIdLqURKUmY7deA0tt+F5gP6IoSsXm5esAOEnFU
5ZTyOoHlkbSC4rMnjyRN/2isfdjmRruOG/NR37wvIXVPtH/8eJPK02utaBHJg3/6
8/PcGDxi3GOUaf0Kf3TURwSmLnG1ddhODBcCjMaC1GW5+OYSxsFN0fj5gAvkqzXY
6yFBZhRrvD9slOVkV1s3SaMDpjhLA6kd6Cipb2DT0HtgGTE5UF0RRc9OJUiTiKkb
GSQEYfOymUdPUETJol1L7aZEk+lczflJAbC7Sn/HsirZgnL3Il72DQprZL6Jqsc=
=+qu/
-----END PGP SIGNATURE-----

--OXfL5xGRrasGEqWY--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140706172511.GA84461>