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>