Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Sep 2002 13:40:02 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Martin Blapp <mb@imp.ch>
Cc:        julian@FreeBSD.org, current@FreeBSD.org
Subject:   RE: kernel trap 12, pagefault (KSE problems ?)
Message-ID:  <XFMail.20020913134002.jhb@FreeBSD.org>
In-Reply-To: <20020913192330.U3162-100000@levais.imp.ch>

next in thread | previous in thread | raw e-mail | index | archive | help

On 13-Sep-2002 Martin Blapp wrote:
> 
> Hi,
> 
>> So we dereferenced a pointer at 0x2000018.  However, we did it at 0xc0337a39
>> which isn't in the backtrace (I think gdb eats a frame, backtraces in ddb are
>> better).  Can you do 'l *0xc0337a39' to get the line of the actual panic?
> 
> (kgdb) l *0xc0337a39
> 0xc0337a39 is in inodedep_lookup (/usr/src/sys/ufs/ffs/ffs_softdep.c:1015).
> 1010    #endif
> 1011            firsttry = 1;
> 1012            inodedephd = INODEDEP_HASH(fs, inum);
> 1013    top:
> 1014            LIST_FOREACH(inodedep, inodedephd, id_hash)
> 1015                    if (inum == inodedep->id_ino && fs == inodedep->id_fs)
> 1016                            break;
> 1017            if (inodedep) {
> 1018                    *inodedeppp = inodedep;
> 1019                    return (1);

Ok, here's your problem.  I'm betting that your inodedep is 0x20000.
I'm guessing somehow the list of inodedep's has been corrupted.
I doubt this is some kind of PG_G or some such bug, but probably a
software bug.  Perhaps an inodedep has been free'd but there are
still stale references to it?

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020913134002.jhb>