Re: NFS regression.

From: Pawel Jakub Dawidek <pjd_at_FreeBSD.org>
Date: Mon, 17 Nov 2008 19:37:45 +0100
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)
> _at__at_ -543,7 +543,7 _at__at_
> 
>  		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:

panic: xdrmbuf_create with NULL mbuf chain
cpuid = 0
KDB: enter: panic
[thread pid 1017 tid 100086 ]
Stopped at      kdb_enter+0x3a: movl    $0,kdb_why
db> tr
Tracing pid 1017 tid 100086 td 0x841fa480
kdb_enter(80686620,80686620,806a1861,83b52714,0,...) at kdb_enter+0x3a
panic(806a1861,83b527e8,805c6746,83b527b4,0,...) at panic+0x136
xdrmbuf_create(83b527b4,0,1,2a3,bb9,...) at xdrmbuf_create+0x1f
clnt_dg_call(83dffca0,83b5287c,2,84042600,83b528b8,...) at clnt_dg_call+0xca6
clnt_reconnect_call(83dffcc0,83b5287c,2,84042600,83b528b8,...) at clnt_reconnect_call+0x5a0
nfs_request(85173648,84042600,2,841fa480,8432d200,...) at nfs_request+0x1dd
nfs_setattrrpc(83b52a90,83b529f4,83b529e8,83b529f8,83b529e8,...) at nfs_setattrrpc+0x24b
nfs_create(83b52acc,83b52acc,0,83b52acc,83b52ba8,...) at nfs_create+0x530
VOP_CREATE_APV(806cfea0,83b52acc,2,804cf1cc,8432d200,...) at VOP_CREATE_APV+0xa5
vn_open_cred(83b52ba8,83b52c5c,180,8432d200,84105268,...) at vn_open_cred+0x1d0
vn_open(83b52ba8,83b52c5c,180,84105268,6fc8a6,...) at vn_open+0x33
kern_openat(841fa480,ffffff9c,7fbfdd34,0,a03,...) at kern_openat+0xe0
kern_open(841fa480,7fbfdd34,0,a02,180,...) at kern_open+0x35
open(841fa480,83b52cf8,c,804d150,806bab18,...) at open+0x30
syscall(83b52d38) at syscall+0x283
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (5, FreeBSD ELF32, open), eip = 0x807e147, esp = 0x7fbfd82c, ebp = 0x7fbfdcd8 ---

If you want me to convert some of those to file:line, just let me know.

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd_at_FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Received on Mon Nov 17 2008 - 17:37:57 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:37 UTC