From owner-freebsd-current@FreeBSD.ORG Fri Oct 12 14:38:04 2007 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 093C516A418; Fri, 12 Oct 2007 14:38:04 +0000 (UTC) (envelope-from dan@dan.emsphone.com) Received: from dan.emsphone.com (dan.emsphone.com [199.67.51.101]) by mx1.freebsd.org (Postfix) with ESMTP id BC11113C45B; Fri, 12 Oct 2007 14:38:03 +0000 (UTC) (envelope-from dan@dan.emsphone.com) Received: (from dan@localhost) by dan.emsphone.com (8.14.1/8.14.1) id l9CEc1Xb008572; Fri, 12 Oct 2007 09:38:01 -0500 (CDT) (envelope-from dan) Date: Fri, 12 Oct 2007 09:38:00 -0500 From: Dan Nelson To: John Baldwin Message-ID: <20071012143800.GA76105@dan.emsphone.com> References: <20070912172752.GA13960@dan.emsphone.com> <200710101615.48760.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200710101615.48760.jhb@freebsd.org> X-OS: FreeBSD 7.0-PRERELEASE User-Agent: Mutt/1.5.16 (2007-06-09) Cc: freebsd-current@freebsd.org, Ivan Voras Subject: Re: Panic in arpresolve->rt_check? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Oct 2007 14:38:04 -0000 In the last episode (Oct 10), John Baldwin said: > On Wednesday 12 September 2007 02:50:37 pm Ivan Voras wrote: > > Dan Nelson wrote: > > > The same panic was also reported for 6.2 via PR 107865 and PR > > > 112490. 112490 included a workaround patch (I haven't tried it; > > > just found it). > > > > The proposed patch in kern/112490 looks trivial but someone who > > knows more about net locking should check it out. Unfortunately it > > lacks context and I don't know the code in question to apply it > > safely on a production machine :( > > I also get panics with what appears to be a double free of rt_gwroute > in rtexpunge(), so I think while this PR may help some with figuring > out the problem, I'm not sure it solves the root bug. > > Hmm, possibly try this patch: This makes the panics more frequent on my machine, actually :) > Index: route.c > =================================================================== > RCS file: /usr/cvs/src/sys/net/route.c,v > retrieving revision 1.120 > diff -c -r1.120 route.c > *** route.c 11 Jun 2007 12:19:34 -0000 1.120 > --- route.c 10 Oct 2007 20:12:54 -0000 > *************** > *** 1314,1319 **** > --- 1314,1321 ---- > return (ENETUNREACH); > } > RT_LOCK(rt0); > + if (rt0->rt_gwroute != NULL) > + RTFREE(rt0->rt_gwroute); > rt0->rt_gwroute = rt; > if (rt == NULL) { > RT_UNLOCK(rt0); -- Dan Nelson dnelson@allantgroup.com