Re: Panic: lock "lnxspin" 0xfffff800176c0730 already initialized

From: Ryan Libby <rlibby_at_freebsd.org>
Date: Fri, 17 May 2024 05:10:16 UTC
On Thu, May 16, 2024 at 9:56 PM Emmanuel Vadot <manu@bidouilliste.com> wrote:
>
> On Thu, 16 May 2024 10:27:40 -0700
> Ryan Libby <rlibby@freebsd.org> wrote:
>
> > On Thu, May 16, 2024 at 6:00?AM David Wolfskill <david@catwhisker.org> wrote:
> > >
> > > This is running main-n270174-abb1a1340e3f (built in-place from
> > > main-n270163-154ad8e0f88f), with ports at main-n663685-3f732745ab06;
> > > the ports-resident kernel modules were rebuilt with the kernel,
> > > courtesy (e.g.):
> > >
> > > g1-70(14.1-S)[4] grep '^PORT' /etc/src.conf
> > > PORTS_MODULES+=graphics/drm-61-kmod
> > >
> > > And since I dislike "sample sizes of one," I have this result on
> > > two different laptops, each of which has both Nvidia & Intel graphics
> > > (but for the older one (M4800), I stopped using (& building) the
> > > Nvidia driver, since enabling it appears to disable GLX).
> > >
> > > Anyway: photos of the backtraces are at
> > > https://www.catwhisker.org/~david/FreeBSD/head/n270174/
> > > as are copies of the build typescripts.
> > >
> > > Unfortunately, the panic message itself had (just) scrolled off the
> > > top at the time I took the photos, but I hand-typed it (from the
> > > M4800) in the Subject.
> > >
> > > Peace,
> > > david
> > > --
> > > David H. Wolfskill                              david@catwhisker.org
> > > Please do not mistake "authoritarian" for "conservative" -- or vice versa.
> > >
> > > See https://www.catwhisker.org/~david/publickey.gpg for my public key.
> >
> > Maybe regression from ae38a1a1bfdf320089c254e4dbffdf4769d89110 by manu.
> >
> > It looks like spin_lock_init was changed to no longer zero out the
> > mutex before calling mtx_init, but the MTX_NEW flag was not added.
> >
> > Ryan
> >
>
> Could be, I cannot reproduce this here (either with i915kms or amdgpu)
> but I guess that depending on the hardware version or number of screens
> etc ... code path is different and might trigger this.
>  David can you test with
> https://people.freebsd.org/~manu/0001-linuxkpi-Fix-spin_lock_init.patch
> just to be sure that it fixes this issue ?
>
>  Cheers,
>
> --
> Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>

It may depend on getting lucky with the uninitialized junk too, and you would
need a kernel with KASSERTs enabled.

manu, I think the rwlock patch 5c0a1923486e65cd47398e52c03cb289d6120a78
may need the same treatment with RW_NEW.

Ryan