From owner-freebsd-current@FreeBSD.ORG Tue Nov 18 09:18:20 2008 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 6C35F1065672; Tue, 18 Nov 2008 09:18:20 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from itchy.rabson.org (unknown [IPv6:2002:50b1:e8f2:1::143]) by mx1.freebsd.org (Postfix) with ESMTP id 21E218FC1B; Tue, 18 Nov 2008 09:18:20 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from [IPv6:2001:470:909f:1:21b:63ff:feb8:5abc] (unknown [IPv6:2001:470:909f:1:21b:63ff:feb8:5abc]) by itchy.rabson.org (Postfix) with ESMTP id B3A6A3FA7; Tue, 18 Nov 2008 09:17:04 +0000 (GMT) Message-Id: From: Doug Rabson To: Pawel Jakub Dawidek In-Reply-To: <20081117183745.GB1733@garage.freebsd.pl> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v929.2) Date: Tue, 18 Nov 2008 09:13:26 +0000 References: <20081117171017.GB1489@garage.freebsd.pl> <4AC8E131-CD12-4075-948F-DA187B4EE2AD@rabson.org> <20081117180253.GA1733@garage.freebsd.pl> <8A43CF07-D06F-4EAF-A171-DF7F10F036F5@rabson.org> <20081117183745.GB1733@garage.freebsd.pl> X-Mailer: Apple Mail (2.929.2) X-Virus-Scanned: ClamAV 0.92/8645/Tue Nov 18 04:30:32 2008 on itchy.rabson.org X-Virus-Status: Clean Cc: freebsd-current@FreeBSD.org Subject: Re: NFS regression. 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: Tue, 18 Nov 2008 09:18:20 -0000 On 17 Nov 2008, at 18:37, Pawel Jakub Dawidek wrote: > On Mon, Nov 17, 2008 at 06:07:52PM +0000, Doug Rabson wrote: >> >> On 17 Nov 2008, at 18:02, Pawel Jakub Dawidek wrote: >> >>> On Mon, Nov 17, 2008 at 05:54:02PM +0000, Doug Rabson wrote: >>>> >>>> On 17 Nov 2008, at 17:10, Pawel Jakub Dawidek wrote: >>>> >>>>> Hi. >>>>> >>>>> I'm seeing this panic very often now with few days old HEAD: >>>>> >>>>> >>>>> Any ideas? >>>> >>>> Can you reproduce this with INVARIANTS turned on? That should >>>> trigger >>>> a KASSERT a bit earlier and give me a chance to fix the thing. >>> >>> I've INVARIANTS on... Is there some assertion added recently you are >>> expecting? >> >> Hmm. I added an assert in r184921 which ought to have caught this. >> Could you try this patch and see if it changes anything: >> >> Index: rpc/clnt_dg.c >> =================================================================== >> --- rpc/clnt_dg.c (revision 184968) >> +++ rpc/clnt_dg.c (working copy) >> @@ -543,7 +543,7 @@ >> >> if (tv > 0) { >> if (cu->cu_closing || cu->cu_closed) >> - error = 0; >> + error = ESHUTDOWN; >> else >> error = msleep(cr, &cs->cs_lock, >> cu->cu_waitflag, cu->cu_waitchan, tv); >> > > Ok, my source is older and doesn't contain the assertion you added. I > applied the patch above and also added assertion by hand (I'm not > setup > now to upgrade entire system). This is the panic I get with the new > kernel: > > ... > > If you want me to convert some of those to file:line, just let me > know. Don't worry about line numbers - I can see where its calling from. Do you have a recipe for reproducing this? Also, could you try this patch instead of the previous: Index: rpc/clnt_dg.c =================================================================== --- rpc/clnt_dg.c (revision 184968) +++ rpc/clnt_dg.c (working copy) @@ -515,6 +515,7 @@ cu->cu_cwnd_wait = FALSE; wakeup(&cu->cu_cwnd_wait); } + KASSERT(cr->cr_mrep, ("NULL reply")); goto got_reply; } @@ -543,7 +544,7 @@ if (tv > 0) { if (cu->cu_closing || cu->cu_closed) - error = 0; + error = ESHUTDOWN; else error = msleep(cr, &cs->cs_lock, cu->cu_waitflag, cu->cu_waitchan, tv); @@ -611,6 +612,7 @@ rt->rt_rtxcur = rt->rt_srtt + 4*rt->rt_deviate; } + KASSERT(cr->cr_mrep, ("NULL reply")); break; }