Subject: Re: 4.99.16 (-current) panic
To: Gert Doering <gert@greenie.muc.de>
From: Antti Kantee <pooka@cs.hut.fi>
List: tech-kern
Date: 04/09/2007 18:46:48
[let's move this to tech-kern]
On Mon Apr 09 2007 at 17:13:07 +0200, Gert Doering wrote:
> Hi,
>
> On Mon, Apr 09, 2007 at 12:42:23PM +0200, Juergen Hannken-Illjes wrote:
> > > If I try to understand the namei() source in kern/vfs_lookup.c, it's
> > > not exactly clear to me what it's complaining about - there are many calls
> > > to a function "VREF()", but they can't all be wrong??!?
> >
> > If you have a `netbsd.gdb' of this kernel you could try to locate the
> > VREF with gdb `list *(namei+0xb4)'.
>
> ok. If I haven't broken anything by doing only a partial recompile
> after enabling "option DEBUG" etc., this is where it dies:
>
> (gdb) list *(namei+0xb4)
> 0x12369b4 is in namei (/home/src-current/sys/kern/vfs_lookup.c:335).
> 330 if (cnp->cn_pnbuf[0] == '/') {
> 331 dp = ndp->ni_rootdir;
> 332 VREF(dp);
> 333 } else {
> 334 dp = cwdi->cwdi_cdir;
> 335 VREF(dp);
> 336 }
> 337 vn_lock(dp, LK_EXCLUSIVE | LK_RETRY);
> 338 for (;;) {
> 339 if (!dp->v_mount) {
>
> now what to do with that...?
Could you print the vnode (print *dp in the appropriate stack frame)
so that we get a sense of if it contains just garbage or if the refcount
is simply wrong. Also, include print *cwdi, *cwdi->cwdi_rdir and *ndp
for a good measure.
--
Antti Kantee <pooka@iki.fi> Of course he runs NetBSD
http://www.iki.fi/pooka/ http://www.NetBSD.org/
"la qualité la plus indispensable du cuisinier est l'exactitude"