rec_len is too small for name_len ...

QingLong (qinglong@Bolizm.ihep.su)
Fri, 8 Aug 1997 18:56:05 +0400 (MSD)


Hi!

I've almost totally ruined ext2 filesystem on a partition trying
to compile XFree86 v3.3 on Linux 2.1.48. The machine is Intel PPro200,
Triton FX400 chipset, disk is EIDE (more info? I would be glad to provide it
if necessary). The error messages:

|
| Aug 8 17:25:02 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #14393: rec_len is too small for name_len - offset=0, inode=539579214, rec_len=10276, name_len=18516
| Aug 8 17:25:02 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #14393: rec_len is too small for name_len - offset=0, inode=539579214, rec_len=10276, name_len=18516
| Aug 8 17:25:02 Bolizm last message repeated 2 times
| Aug 8 17:25:02 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #16328: rec_len % != 0 - offset=0, inode=796029813, rec_len=26739, name_len=29281
| Aug 8 17:25:02 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #16328: rec_len % != 0 - offset=0, inode=796029813, rec_len=26739, name_len=29281
| Aug 8 17:25:02 Bolizm last message repeated 2 times
| Aug 8 17:25:02 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #16357: rec_len is too small for name_len - offset=0, inode=606092576, rec_len=22568, name_len=22597
| Aug 8 17:25:02 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #16357: rec_len is too small for name_len - offset=0, inode=606092576, rec_len=22568, name_len=22597
| Aug 8 17:25:02 Bolizm last message repeated 2 times
| Aug 8 17:25:02 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #14335: rec_len % != 0 - offset=0, inode=1129468728, rec_len=12073, name_len=25441
| Aug 8 17:25:02 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #14335: rec_len % != 0 - offset=0, inode=1129468728, rec_len=12073, name_len=25441
| Aug 8 17:25:03 Bolizm last message repeated 2 times
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #14340: directory entry across blocks - offset=0, inode=587867168, rec_len=29216, name_len=27765
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #14340: directory entry across blocks - offset=0, inode=587867168, rec_len=29216, name_len=27765
| Aug 8 17:25:03 Bolizm last message repeated 2 times
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #155170: rec_len % != 0 - offset=0, inode=1634560288, rec_len=25963, name_len=28532
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #155170: rec_len % != 0 - offset=0, inode=1634560288, rec_len=25963, name_len=28532
| Aug 8 17:25:03 Bolizm last message repeated 2 times
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #14366: rec_len is too small for name_len - offset=0, inode=538976288, rec_len=8224, name_len=20512
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #14366: rec_len is too small for name_len - offset=0, inode=538976288, rec_len=8224, name_len=20512
| Aug 8 17:25:03 Bolizm last message repeated 2 times
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #14350: rec_len is too small for name_len - offset=0, inode=538976288, rec_len=18764, name_len=21582
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #14350: rec_len is too small for name_len - offset=0, inode=538976288, rec_len=18764, name_len=21582
| Aug 8 17:25:03 Bolizm last message repeated 2 times
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #16344: rec_len % != 0 - offset=0, inode=1764698452, rec_len=25454, name_len=30060
| Aug 8 17:25:03 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #16344: rec_len % != 0 - offset=0, inode=1764698452, rec_len=25454, name_len=30060
| Aug 8 17:25:04 Bolizm last message repeated 2 times
| Aug 8 17:25:04 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #16366: rec_len is too small for name_len - offset=0, inode=540876866, rec_len=10276, name_len=20308
| Aug 8 17:25:04 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #16366: rec_len is too small for name_len - offset=0, inode=540876866, rec_len=10276, name_len=20308
| Aug 8 17:25:04 Bolizm last message repeated 2 times
| Aug 8 17:25:04 Bolizm kernel: EXT2-fs error (device 16:01): ext2_readdir: bad entry in directory #14344: rec_len is too small for name_len - offset=0, inode=1025528641, rec_len=12064, name_len=29557
| Aug 8 17:25:04 Bolizm kernel: EXT2-fs error (device 16:01): ext2_find_entry: bad entry in directory #14344: rec_len is too small for name_len - offset=0, inode=1025528641, rec_len=12064, name_len=29557
| Aug 8 17:25:04 Bolizm last message repeated 2 times
|
I've broken the process and managed to save some part of partition.
Running e2fsck made the things go even worse and finally I've got
`los+found' full of weird entries, undeletable, unchangeble... :(
And I've had to clean the partition and make ext2 fs again by mke2fs and
restore the info from backup (fortunately I have one made a week ago :) .

I have never faced such errors before (compiling Linux kernel,
various applications, etc.). X11 appears to be the only monster huge (?)
enough to cause ext2 on 2.1.48.

I have already built XFree86 3.3 on 2.0.30 but the X server built for
2.0.30 appears to produce 2.1.48 instability --- I had faced a couple of
system lockups with the only message in kernlog:
|
| Exception at [<c0129254>] (c01a4804))
|
Not very informative? Sorry, this is all I have.

Why am I trying to use 2.1.* kernel? I haven't managed to get SoundBlaster
soundcard working on 2.0.30 ("Sound error: Couldn't allocate DMA buffer").
And it just works fine on 2.1.* kernels.

That's all. If you need more info, please email me, I shall be glad to
to provide it to you. Hope this will help you to debug the kernel and
make it more stable and reliable.

Thank you!

QingLong.