*BSD News Article 31032


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!osuunx.ucc.okstate.edu!newsfeed.ksu.ksu.edu!moe.ksu.ksu.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!usenet.ins.cwru.edu!gatech!swrinde!pipex!sunic!trane.uninett.no!eunet.no!nuug!EU.net!Germany.EU.net!netmbx.de!zrz.TU-Berlin.DE!zib-berlin.de!news.belwue.de!delos.stgt.sub.org!guru.stgt.sub.org!nils
From: nils@guru.stgt.sub.org (Cornelis van der Laan)
Subject: serious fsck bug
Nntp-Posting-Host: localhost.ims.uni-stuttgart.de
Sender: news@guru.stgt.sub.org (News pseudo-user)
Organization: Mehr Anarchie !
Date: Sat, 28 May 1994 00:25:07 GMT
Message-ID: <NILS.94May28022525@guru.stgt.sub.org>
Reply-To: nils@ims.uni-stuttgart.de
Lines: 138


I encounter a serious bug in fsck in FreeBSD 1.1 GAMMA, with the kernel
being some 1 month old current version:

Two of my filesystems are mangled so that fsck -p exits with an error
notification. If I run fsck on the two filesystems, each detects an error
and says it's gonna fix it, but if I repeat fsck, the problems appear 
over and over again.

fsck -y /dev/rsd1g (/src) gives me the following messages repeatedly on
EVERY run of fsck:

Script started on Sat May 28 02:01:07 1994
guru# fsck -y /dev/rsd1g
** /dev/rsd1g
** Last Mounted on /src
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
DIRECTORY CORRUPTED  I=37191  OWNER=nils MODE=40755
SIZE=512 MTIME=May 28 01:37 1994 
DIR=?

SALVAGE? yes

MISSING '.'  I=37191  OWNER=nils MODE=40755
SIZE=512 MTIME=May 28 01:37 1994 
DIR=?

FIX? yes

MISSING '..'  I=37191  OWNER=nils MODE=40755
SIZE=512 MTIME=May 28 01:37 1994 
DIR=/lost+found/#37191

FIX? yes

** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
LINK COUNT FILE I=36918  OWNER=nils MODE=100644
SIZE=62575 MTIME=Mar 14 03:32 1993  COUNT 3 SHOULD BE 2
ADJUST? yes

LINK COUNT FILE I=36919  OWNER=nils MODE=100644
SIZE=3760 MTIME=Mar 14 03:26 1993  COUNT 3 SHOULD BE 2
ADJUST? yes

LINK COUNT FILE I=36920  OWNER=nils MODE=100644
SIZE=84069 MTIME=Nov 22 17:39 1992  COUNT 2 SHOULD BE 1
ADJUST? yes

LINK COUNT FILE I=36921  OWNER=nils MODE=100644
SIZE=61936 MTIME=Nov 22 17:37 1992  COUNT 2 SHOULD BE 1
ADJUST? yes

LINK COUNT FILE I=36922  OWNER=nils MODE=100644
SIZE=122932 MTIME=Feb 18 19:15 1993  COUNT 2 SHOULD BE 1
ADJUST? yes

LINK COUNT FILE I=36924  OWNER=nils MODE=100644
SIZE=79948 MTIME=Feb 18 19:17 1993  COUNT 2 SHOULD BE 1
ADJUST? yes

LINK COUNT FILE I=36925  OWNER=nils MODE=100644
SIZE=672 MTIME=Feb 18 19:07 1993  COUNT 2 SHOULD BE 1
ADJUST? yes

** Phase 5 - Check Cyl groups
34439 files, 634982 used, 61160 free (13184 frags, 5997 blocks, 1.9% fragmentation)

***** FILE SYSTEM WAS MODIFIED *****

=====================================================================
This means, nothing ever gets fixed. Furthermore, on every access to
/src/lost+found/#37191 (where the mangled directory is stored) I get
the following panic:
	 reboot after panic: bad dir 

On the second filesystem /dev/rsd1f (/usr/local) I get the messages

Script started on Sat May 28 02:09:31 1994
# fsck -y /dev/rsd1e
** /dev/rsd1e
** Last Mounted on /usr/local
** Phase 1 - Check Blocks and Sizes
UNKNOWN FILE TYPE I=23584
CLEAR? yes

UNKNOWN FILE TYPE I=23585
CLEAR? yes

[ Inode I increases steadily ]

UNKNOWN FILE TYPE I=23602
CLEAR? yes

PARTIALLY ALLOCATED INODE I=23603
CLEAR? yes

[ Lots of unknown file types and partially allocated inodes ]

UNKNOWN FILE TYPE I=23875
CLEAR? yes

** Phase 2 - Check Pathnames
UNALLOCATED  I=23864  OWNER=root MODE=0
SIZE=0 MTIME=Jan  1 01:00 1970 
NAME=/lost+found/#23864

REMOVE? yes

** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
UNREF FILE  I=23876  OWNER=26723 MODE=63162
SIZE=1701274978 MTIME=Sep 22 01:11 2028 
RECONNECT? yes

** Phase 5 - Check Cyl groups
BLK(S) MISSING IN BIT MAPS
SALVAGE? yes

13945 files, 210618 used, 132669 free (2173 frags, 16312 blocks, 0.6% fragmentation)

***** FILE SYSTEM WAS MODIFIED *****
#

=======================================================================
and, as before, I can repeat this endlessly without fsck having fixed
anything. I already tried to dump /usr/local to another disk and
restore it (the usual dump/restore combo), but the problem persists
even after the restore (!?!).

If someone can help me, please?

--
----------------------------------------------------------------
Cornelis van der Laan -- nils@ims.uni-stuttgart.de
                      -- nils@guru.stgt.sub.org
# echo Knusper Knusper Knaeuschen > /etc/nologin