Subject: crash in fsck
To: None <current-users@NetBSD.ORG>
From: Tom Pavel <PAVEL@SLAC.Stanford.EDU>
List: current-users
Date: 11/14/1995 20:16:22
Last week I had some fun repairing a severely damaged filesystem.
Eventually, I had to newfs, but before that, I tried repeatedly to get
fsck to work.  It kept core-dumping for me.  Now that I have my system
back together again, I took a look at the core file I saved.  I'm
afraid I can't make too much sense of it.  Does anyone more familiar
with ffs/fsck have any suggestion on what I can look at?  [I have the
core file, but not the diseased file system, of course.]  It would be
nice to spare someone else the agony of having fsck desert you when
you most need it...

(gdb) where
#0  0x2a5e in allocdir (parent=4156546000, request=0, mode=-419486212)
    at dir.c:650
#1  0x2a91 in allocdir (parent=4156546000, request=1, mode=-67164676)
    at dir.c:653
#2  0x2a91 in allocdir (parent=4156546000, request=2, mode=-16833028)
    at dir.c:653
#3  0x27cf in expanddir (dp=0x94100, name=0xf7bfdbd0 "") at dir.c:593
#4  0x32cd in iblock (idesc=0xf7bfdbd0, ilevel=24958,
    at inode.c:146
#5  0x6295 in pass1check (idesc=0x0) at pass1.c:293
#6  0x3e8b in cacheino (dp=0x28bd0, inumber=0) at inode.c:351
#7  0x39c5 in getnextinode (inumber=2) at inode.c:257
(gdb) l 650
645                  cp += DIRBLKSIZ)
646                     memcpy(cp, &emptydir, sizeof emptydir);
647             dirty(bp);
648             dp->di_nlink = 2;
649             inodirty();
650             if (ino == ROOTINO) {
651                     lncntp[ino] = dp->di_nlink;
652                     cacheino(dp, ino);
653                     return(ino);
654             }
(gdb) p pbp
$5 = (struct bufarea *) 0x0

Tom Pavel

Stanford Linear Accelerator Center