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

From: Emmanuel Vadot <manu_at_bidouilliste.com>
Date: Fri, 17 May 2024 06:00:05 UTC
On Thu, 16 May 2024 22:10:16 -0700
Ryan Libby <rlibby@freebsd.org> wrote:

> 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
> 

 Indeed, even if I know that I tested with GENERIC and amdgpu I think
that I've only tested GENERIC-NODEBUG with i915kms.
 Anyway, I've pushed both patches now. Sorry for the breakage.

 Cheers,

-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>