Re: Kernel crashes from turnstile_broadcast (/usr/src/sys/kern/subr_turnstile.c:837)

From: Mateusz Guzik <mjguzik_at_gmail.com>
Date: Sat, 11 Feb 2017 09:19:24 +0100
On Thu, Oct 27, 2016 at 09:09:16PM +0800, Ben Woods wrote:
> On 24 September 2016 at 18:13, Ben Woods <woodsb02_at_gmail.com> wrote:
> 
> > On 22 September 2016 at 21:01, Mateusz Guzik <mjguzik_at_gmail.com> wrote:
> >
> >> On Thu, Sep 22, 2016 at 08:48:29PM +0800, Ben Woods wrote:
> >> > #13 0xffffffff80b4d91c in turnstile_broadcast (ts=0x0, queue=1) at
> >> > /usr/src/sys/kern/subr_turnstile.c:837
> >> > #14 0xffffffff80ae5e1f in __rw_wunlock_hard (c=0xfffff803f886d960,
> >> > tid=<value optimized out>, file=<value optimized out>, line=<value
> >> > optimized out>)
> >> >     at /usr/src/sys/kern/kern_rwlock.c:1027
> >>
> >> can you please:
> >> f 14
> >> x/xg c
> >>
> >>
> >> --
> >> Mateusz Guzik <mjguzik gmail.com>
> >>
> >
> > Thanks for the help Mateusz.
> >
> > (kgdb) f 14
> > #14 0xffffffff80ae5e1f in __rw_wunlock_hard (c=0xfffff803f886d960,
> > tid=<value optimized out>, file=<value optimized out>, line=<value
> > optimized out>)
> >     at /usr/src/sys/kern/kern_rwlock.c:1027
> > 1027            turnstile_broadcast(ts, queue);
> > Current language:  auto; currently minimal
> > (kgdb) x/xg c
> > 0xfffff803f886d960:     0xfffff8032893aa00
> >
> > Regards,
> > Ben
> >
> 
> Hi everyone,
> 
> Just a heads up that after updating my FreeBSD 12-current machine to
> r307773 I am still getting this kernel panic.
> 
> Note that I have compiled the kernel with VIMAGE support if that makes any
> difference.
> 
> Mateusz: any further ideas on what it could be?
> 
> Any help is appreciated :)
> 

long time no see

Is the problem still happening?

There were quite a few locking changes recently and they could have
interferred with the bug, so to speak. Can you move your kernel to
r313260 (which predates locking changes) and make sure it is still
there?

The thread value shown in your first message corresponds to the lock
value seen in __rw_wunlock_hard. But we should not get there if that's
the case so there is something fishy going on.

If the bug is still there at r313260, I'll provide you with a debug
patch which will tell us what value was found and prevented a clean
unlock. Then we will see if perhaps there are transient flags set or
something corrupts the value somehow.

-- 
Mateusz Guzik <mjguzik gmail.com>
Received on Sat Feb 11 2017 - 07:19:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:10 UTC