NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/46221: Kernel panic in NFS server code
The following reply was made to PR kern/46221; it has been noted by GNATS.
From: Matthias Scheler <tron%zhadum.org.uk@localhost>
To: NetBSD GNATS <gnats-bugs%NetBSD.org@localhost>
Cc:
Subject: Re: kern/46221: Kernel panic in NFS server code
Date: Wed, 21 Mar 2012 13:34:17 +0000
On Tue, Mar 20, 2012 at 11:45:02PM +0000, Matthias Scheler wrote:
> The following reply was made to PR kern/46221; it has been noted by GNATS.
>
> From: Matthias Scheler <tron%zhadum.org.uk@localhost>
> To: NetBSD GNATS <gnats-bugs%NetBSD.org@localhost>
> Cc: Manuel Bouyer <bouyer%antioche.eu.org@localhost>
> Subject: Re: kern/46221: Kernel panic in NFS server code
> Date: Tue, 20 Mar 2012 23:40:32 +0000
>
> On Sun, Mar 18, 2012 at 10:35:02PM +0000, Matthias Scheler wrote:
> > The following reply was made to PR kern/46221; it has been noted by GNATS.
> >
> > From: Matthias Scheler <tron%zhadum.org.uk@localhost>
> > To: Manuel Bouyer <bouyer%antioche.eu.org@localhost>
> > Cc: NetBSD GNATS <gnats-bugs%NetBSD.org@localhost>
> > Subject: Re: kern/46221: Kernel panic in NFS server code
> > Date: Sun, 18 Mar 2012 22:32:25 +0000
> >
> > On Sun, Mar 18, 2012 at 07:16:28PM +0100, Manuel Bouyer wrote:
> > > (gdb) l *(ffs_fhtovp+0x55)
> > > 0xffffffff801af684 is in ffs_fhtovp
> (/usr/src/sys/ufs/ffs/ffs_vfsops.c:1907).
> > > 1902 /usr/src/sys/ufs/ffs/ffs_vfsops.c: No such file or directory.
> > > in /usr/src/sys/ufs/ffs/ffs_vfsops.c
> > >
> > > But this is at the very end of ffs_fhtovp(). I don't know if ddb is
> somewhat
> > > confused when computing the stack trace, or something else.
> > >
> > > (gdb) x/i ffs_fhtovp+0x55
> > > 0xffffffff801af684 <ffs_fhtovp+85>: leaveq
> > > (gdb) disas ffs_fhtovp
> > > [...]
> > > 0xffffffff801af67f <+80>: callq 0xffffffff8042b0f3 <ufs_fhtovp>
> > > 0xffffffff801af684 <+85>: leaveq
> > > 0xffffffff801af685 <+86>: retq
> > >
> > > Either ddb skipped the call to ufs_fhtovp (and so the place where it
> > > crashed in ufs_fhtovp) or the stack is corrupted.
> > > The exact trap message from ddb and the register dump would be usefull.
> >
> > I'll try to get that the next time.
>
> I got a new back-trace ...
>
> b{1}> bt
> ufs_fhtovp() at netbsd:ufs_fhtovp+0x2e
> ffs_fhtovp() at netbsd:ffs_fhtovp+0x55
> VFS_FHTOVP() at netbsd:VFS_FHTOVP+0x1c
> dofhopen() at netbsd:dofhopen+0xda
> syscall() at netbsd:syscall+0xc4
>
> ... and a register dump:
>
> db{1}> sh registers
> ds 9a90
> es 7480
> fs 9a30
> gs a000
> rdi fffffe81c281bac0
> rsi 0
> rbp fffffe810eda9a80
> rbx fffffe810eda9a90
> rdx 0
> rcx 7
> rax 0
> r8 fffffe810e9b3000
> r9 0
> r10 1
> r11 0
> r12 fffffe810eda9bc0
> r13 3
> r14 1c
> r15 7f7ff7b4f3c0
> rip ffffffff8042b121 ufs_fhtovp+0x2e
> cs 8
> rflags 10246
> rsp fffffe810eda9a60
> ss 10
> netbsd:ufs_fhtovp+0x2e: cmpw $0,c8(%rdx)
Manual Bouyer has looked at this crash. The kernel paniced here:
ip = VTOI(nvp);
--> if (ip->i_mode == 0 || ip->i_gen != ufhp->ufid_gen) {
vput(nvp);
*vpp = NULLVP;
return (ESTALE);
}
I guess that an extra check whether "ip" is NULL would prevent the
panic. But I'm not sure whether that is the correct fix.
Kind regards
--
Matthias Scheler http://zhadum.org.uk/
Home |
Main Index |
Thread Index |
Old Index