Date: Sat, 8 Aug 2015 11:28:49 +0200 From: Julien Charbon <jch@freebsd.org> To: Larry Rosenman <ler@lerctr.org>, Mark Johnston <markj@freebsd.org> Cc: freebsd-current@freebsd.org Subject: Re: traceroute6: panic: pcb not read locked Message-ID: <CADfNsifyU4Uy%2B%2BhMaSRSLucy3iZ=xX0DzzxW8ytH4BafH5G1mw@mail.gmail.com> In-Reply-To: <55C59872.8070701@freebsd.org> References: <20150808010324.GA1392@borg.lerctr.org> <20150808032521.GA66493@raichu> <55C59872.8070701@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Aug 8, 2015 07:49, "Julien Charbon" <jch@freebsd.org> wrote: > > On 08/08/15 05:25, Mark Johnston wrote: > > On Fri, Aug 07, 2015 at 08:04:01PM -0500, Larry Rosenman wrote: > >> Trying to debug TimeWarner IPV6 to my HE.NET tunnel, and running traceroute6, > >> got the following panic: > >> > >> borg.lerctr.org dumped core - see /var/crash/vmcore.0 > >> > >> Fri Aug 7 19:58:40 CDT 2015 > >> > >> FreeBSD borg.lerctr.org 11.0-CURRENT FreeBSD 11.0-CURRENT #32 r286338: Wed Aug 5 15:57:55 CDT 2015 root@borg.lerctr.org:/usr/obj/usr/src/sys/VT-LER amd64 > >> > >> panic: Lock tcp not read locked @ /usr/src/sys/netinet/tcp_subr.c:1189 > >> > >> GNU gdb 6.1.1 [FreeBSD] > >> Copyright 2004 Free Software Foundation, Inc. > >> GDB is free software, covered by the GNU General Public License, and you are > >> welcome to change it and/or distribute copies of it under certain conditions. > >> Type "show copying" to see the conditions. > >> There is absolutely no warranty for GDB. Type "show warranty" for details. > >> This GDB was configured as "amd64-marcel-freebsd"... > >> > >> Unread portion of the kernel message buffer: > >> panic: Lock tcp not read locked @ /usr/src/sys/netinet/tcp_subr.c:1189 > > > > This appears to be fallout from r286227: the tcpinfo lock assertion in > > tcp_notify() is too strong, since tcp_notify() can still be called from > > c with the tcpinfo write lock held. > > Nice catch, I agree these tcpinfo lock assertion are too strong. I am > fixing and testing that as in top of tcp_notify() and tcp_drop(), you > also need to update also tcp_close() and tcp_detach(). I pushed a fix in r286443. I am checking if other less common paths have the same issue of kernel assertions being too strict with INP_INFO read/write lock checks. Thanks for the detailed report and patch proposal. -- Julien
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADfNsifyU4Uy%2B%2BhMaSRSLucy3iZ=xX0DzzxW8ytH4BafH5G1mw>