Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 08 Aug 2015 10:43:26 +0200
From:      Julien Charbon <jch@freebsd.org>
To:        Mark Johnston <markj@FreeBSD.org>, Larry Rosenman <ler@lerctr.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: traceroute6: panic: pcb not read locked
Message-ID:  <55C5C12E.9020907@freebsd.org>
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

[-- Attachment #1 --]
On 08/08/15 07:49, Julien Charbon 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 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


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJVxcE2AAoJEKVlQ5Je6dhx4ZoH/0Xi2okSW7jiHiqAIbdjJUut
2wV5EzwluwaMLEJMNVM7I52t5GYdCjmIHr4m2OftzQlzEvACseHZWPLV+UmiekAb
tFTpgGGp1F1UaQQH3G5eP+YwY/zaSb8lopfDJ/wMhKVUVc//O5vGJdcetGggW88a
d0F99cQt+uVh0shqdbPz3PDcJPpjs3vETO5BgtR8ZcNzE9VptnEo3u7C5QFga59M
xQaNoVj79UpD1Wl5xOBAgIDVB6M95x/HWsvBf716VzTI+Y7HWafgOOO4KNJo5tCI
PqH/qfwyTM+jpRyX6thYUkxJs/Vq1ua4kT8AkXmIwP3j0USz7vduWjMW4LUjZOY=
=61YW
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55C5C12E.9020907>