On Jul 26, 2005 09:50 +1000, Tom Coleman wrote:> Somehow I've managed to get e2fsck to seg fault.. The filesystem in
> question started acting very strangely (e.g. filenames changing from
> music to MuSiC etc) so I rebooted, and since when fsck has crashed every
> time it has been run.
It appears you are getting single-bit errors, either from your RAM, cable
or internal to the drive.
> Thanks for any help; let me know any more information I can provide
> (I am running debian unstable with a new (2.6.11-ac) kernel (although it
> segfaulted on an older kernel too))
>
> e2fsck output:
> e2fsck 1.38 (30-Jun-2005)
> /dev/hde1 contains a file system with errors, check forced.
> Pass 1: Checking inodes, blocks, and sizes
> Root inode is not a directory. Clear? yes
This might be interesting to look at, if only to prove the single-bit
error theory. If you start debugfs /dev/hde1, and "stat <2>" it
should
show what is wrong with the root directory, as will "stat <12>".
It
may well be that they are just corrupted outright, hard to say.
> Pass 2: Checking directory structure
> Entry '..' in ??? (1785857) has deleted/unused inode 12. Clear?
yes
>
> Missing '..' in directory inode 2162689.
> Fix? yes
>
> Entry '..' in ... (2162689) has deleted/unused inode 2. Clear? yes
>
> Missing '..' in directory inode 3129345.
> Fix? yes
>
> Entry '..' in ... (3129345) has deleted/unused inode 2. Clear? yes
>
> Entry '..' in ??? (5931009) has deleted/unused inode 12. Clear?
yes
>
> Missing '..' in directory inode 8601601.
> Fix? yes
>
> Entry '..' in ... (8601601) has deleted/unused inode 2. Clear? yes
>
> Pass 3: Checking directory connectivity
> Root inode not allocated. Allocate? yes
>
> Unconnected directory inode 5931009 (...)
> Connect to /lost+found? yes
>
> /lost+found not found. Create? yes
>
> Unconnected directory inode 1785857 (...)
> Connect to /lost+found? yes
>
> Unconnected directory inode 2162689 (...)
> Connect to /lost+found? yes
>
> Unconnected directory inode 3129345 (...)
> Connect to /lost+found? yes
>
> Unconnected directory inode 8601601 (...)
> Connect to /lost+found? yes
>
> Pass 4: Checking reference counts
> i_file_acl for inode 11 (...) is 536879104, should be zero.
> Clear? yes
>
> i_faddr for inode 11 (...) is 536879104, should be zero.
> Clear? yes
>
> i_fsize for inode 11 (...) is 32, should be zero.
> Clear? yes
These also appear to be single bit errors, 0x20002000 or 0x20.
> Segmentation fault
If you compile a new e2fsck (with -g) and run it under gdb it will tell
you what is going wrong. Up until here there are only a couple of minor
errors, with / and lost+found.
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.