Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jul 2015 05:28:33 -0400
From:      Randall Stewart <rrs@netflix.com>
To:        David Wolfskill <david@catwhisker.org>
Cc:        Eric van Gyzen <eric@vangyzen.net>, Konstantin Belousov <kostikbel@gmail.com>, current@freebsd.org, net@freebsd.org, Randall Ray Stewart <rrs@freebsd.org>
Subject:   Re: panic: witness_warn head/amd64 @r285741 on 1 of 2 machines
Message-ID:  <6333F7DC-C74E-4B13-AABD-6FD8A5C49742@netflix.com>
In-Reply-To: <20150721215907.GM27865@albert.catwhisker.org>
References:  <20150721125734.GF1217@albert.catwhisker.org> <20150721133907.GR2404@kib.kiev.ua> <20150721161927.GN1217@albert.catwhisker.org> <20150721191743.GA39506@muskytusk> <20150721192832.GB2404@kib.kiev.ua> <20150721200515.GD27865@albert.catwhisker.org> <55AEA9BC.5070806@vangyzen.net> <20150721215907.GM27865@albert.catwhisker.org>

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

Yep.. we got that wrong.

If 1 is returned by the submit it means the PCB was lost. If 0 is
returned you unlock as usual.

R
On Jul 21, 2015, at 5:59 PM, David Wolfskill <david@catwhisker.org> =
wrote:

> On Tue, Jul 21, 2015 at 03:21:16PM -0500, Eric van Gyzen wrote:
>> ...
>>>> So it looks like net swi, leaking some udp6 lock.
>>> Curiouser and curiouser...  While I'm not taking any special pains =
to
>>> avoid building IPv6, I'm not actively actually doing anything with =
it
>>> (IPv6), either (for both the failing machine and my laptop).
>>>=20
>>> Once I'm back home, I should be able to poke around in ddb after
>>> re-creating the panic, if that would be a useful thing for me to do =
(and
>>> given some hints as to what to poke).
>>>=20
>>> Naturally, I'm also happy to change bits of sources, rebuild, and
>>> smoke-test.
>>>=20
>>> A quick check from the SVN update output only shows r285710, =
r285711, and
>>> r285740 in the range from (r285685,r285741] -- as the kernel running
>>> r285685 had no known issues -- that touched sys/netinet6/*.
>>=20
>> It's a multicast destination.  Maybe something is using mDNS?
>>=20
>> Randall, does the test on line 406 of udp6_usrreq.c need to be =
inverted?
>>=20
>> Eric
>>=20
>=20
> <DING!>  We have a winner!
>=20
> FreeBSD freebeast.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT =
#1789  r285741M/285741:1100077: Tue Jul 21 14:50:59 PDT 2015     =
root@freebeast.catwhisker.org:/common/S3/obj/usr/src/sys/GENERIC  amd64
>=20
> freebeast(11.0-C)[3] cd /usr/src
> freebeast(11.0-C)[4] svn diff sys/netinet
> netinet/  netinet6/=20
> freebeast(11.0-C)[4] svn diff sys/netinet*
> Index: sys/netinet6/udp6_usrreq.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- sys/netinet6/udp6_usrreq.c  (revision 285741)
> +++ sys/netinet6/udp6_usrreq.c  (working copy)
> @@ -403,7 +403,7 @@
>                INP_RLOCK(last);
>                INP_INFO_RUNLOCK(pcbinfo);
>                UDP_PROBE(receive, NULL, last, ip6, last, uh);
> -               if (udp6_append(last, m, off, &fromsa))=20
> +               if (! udp6_append(last, m, off, &fromsa))=20
>                        INP_RUNLOCK(last);
>        inp_lost:
>                return (IPPROTO_DONE);
> freebeast(11.0-C)[5]=20
>=20
> Thanks! :-)
>=20
> Peace,
> david
> --=20
> David H. Wolfskill				david@catwhisker.org
> Those who murder in the name of God or prophet are blasphemous =
cowards.
>=20
> See http://www.catwhisker.org/~david/publickey.gpg for my public key.

--------
Randall Stewart
rrs@netflix.com
803-317-4952








Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6333F7DC-C74E-4B13-AABD-6FD8A5C49742>