panic: witness_warn head/amd64 @r285741 on 1 of 2 machines
Randall Stewart
rrs at netflix.com
Wed Jul 22 09:28:43 UTC 2015
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 at 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).
>>>
>>> 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).
>>>
>>> Naturally, I'm also happy to change bits of sources, rebuild, and
>>> smoke-test.
>>>
>>> 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/*.
>>
>> It's a multicast destination. Maybe something is using mDNS?
>>
>> Randall, does the test on line 406 of udp6_usrreq.c need to be inverted?
>>
>> Eric
>>
>
> <DING!> We have a winner!
>
> FreeBSD freebeast.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #1789 r285741M/285741:1100077: Tue Jul 21 14:50:59 PDT 2015 root at freebeast.catwhisker.org:/common/S3/obj/usr/src/sys/GENERIC amd64
>
> freebeast(11.0-C)[3] cd /usr/src
> freebeast(11.0-C)[4] svn diff sys/netinet
> netinet/ netinet6/
> freebeast(11.0-C)[4] svn diff sys/netinet*
> Index: sys/netinet6/udp6_usrreq.c
> ===================================================================
> --- 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))
> + if (! udp6_append(last, m, off, &fromsa))
> INP_RUNLOCK(last);
> inp_lost:
> return (IPPROTO_DONE);
> freebeast(11.0-C)[5]
>
> Thanks! :-)
>
> Peace,
> david
> --
> David H. Wolfskill david at catwhisker.org
> Those who murder in the name of God or prophet are blasphemous cowards.
>
> See http://www.catwhisker.org/~david/publickey.gpg for my public key.
--------
Randall Stewart
rrs at netflix.com
803-317-4952
More information about the freebsd-net
mailing list