• Bug#266039: genext2fs - generates completely broken images on s390

    From Bastian Blank@1:229/2 to All on Mon Aug 16 15:00:20 2004
    From: [email protected]

    Package: genext2fs
    Version: 1.3-7
    Severity: grave

    genext2fs generates completely broken images on s390.

    | $ genext2fs -d ./tmp/generic/tree -b 5876 -r 0 ./tmp/generic/initrd
    | $ fsck.ext2 tmp/generic/initrd
    | e2fsck 1.35 (28-Feb-2004)
    | Note: if there is several inode or block bitmap blocks
    | which require relocation, or one part of the inode table
    | which must be moved, you may wish to try running e2fsck
    | with the '-b 5881' option first. The problem may lie only
    | with the primary block group descriptor, and the backup
    | block group descriptor may be OK.
    |
    | Block bitmap for group 0 is not in group. (block 50331648)
    | Relocate<y>? cancelled!
    |
    | Inode bitmap for group 0 is not in group. (block 67108864)
    | Relocate<y>? cancelled!
    |
    | Inode table for group 0 is not in group. (block 83886080)
    | WARNING: SEVERE DATA LOSS POSSIBLE.
    | Relocate<y>? cancelled!
    |
    | Filesystem did not have a UUID; generating one.
    |
    | $ dumpe2fs tmp/generic/initrd
    | dumpe2fs 1.35 (28-Feb-2004)
    | Filesystem volume name: <none>
    | Last mounted on: <not available>
    | Filesystem UUID: <none>
    | Filesystem magic number: 0xEF53
    | Filesystem revision #: 0 (original)
    | Filesystem features: (none)
    | Default mount options: (none)
    | Filesystem state: clean with errors
    | Errors behavior: Unknown (continue)
    | Filesystem OS type: Linux
    | Inode count: 736
    | Block count: 5876
    | Reserved block count: 0
    | Free blocks: 712
    | Free inodes: 435
    | First block: 1
    | Block size: 1024
    | Fragment size: 1024
    | Blocks per group: 5880
    | Fragments per group: 5880
    | Inodes per group: 736
    | Inode blocks per group: 92
    | Last mount time: n/a
    | Last write time: Mon Aug 16 14:37:59 2004
    | Mount count: 0
    | Maximum mount count: 20
    | Last checked: Thu Jan 1 01:00:00 1970
    | Check interval: 0 (<none>)
    | Reserved blocks uid: 0 (user root)
    | Reserved blocks gid: 0 (group root)
    | ext2fs_read_bb_inode: Attempt to read block from filesystem resulted in short read
    |
    | Group 0: (Blocks 1-5875)
    | Primary superblock at 1, Group descriptors at 2-2
    | Block bitmap at 50331648 (+50331647), Inode bitmap at 67108864 (+67108863) | Inode table at 83886080-83886171 (+83886079)
    | 51202 free blocks, 45825 free inodes, 16896 directories
    |
    | dumpe2fs: tmp/generic/initrd: error reading bitmaps: Can't read an block bitmap

    This breaks d-i on s390.

    Bastian

    --
    Conquest is easy. Control is not.
    -- Kirk, "Mirror, Mirror", stardate unknown

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.5 (GNU/Linux)

    iEYEARECAAYFAkEgq4MACgkQnw66O/MvCNGKgwCgmJpaSYG9KDKplHdKKxEybs2g JbUAn3uXq5cKN4H9ft6Ms8xey/SqnmtU
    =qqNY
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Finn Thain@1:229/2 to All on Tue Aug 17 16:00:14 2004
    From: [email protected]

    Hi Bastian,

    I don't have an s390 to test on unfortunately, so would you please try
    a couple of tests to help me isolate this problem.

    - does compiling genext2fs generate any warnings?

    - does the following generate fsck errors (apart from the lost+found not present warning, and the missing volume UUID)?

    $ genext2fs -b 5876 -r 0 /tmp/whatever
    $ fsck.ext2 /tmp/whatever

    I tried this on my celeron, it works ok for me. If it works for you, I may
    need the contents of the directory you were storing on the image using "-d ./tmp/generic/tree", if possible. If it works for you, there is a good
    chance that the absurd positions of the bitmaps and inode tables in your
    bug report are caused by the group descriptor getting hosed.

    Regards,

    Finn Thain


    --
    To UNSUBSCRIBE, email to [email protected]
    with a subject of "unsubscribe". Trouble? Contact [email protected]

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Bastian Blank@1:229/2 to Finn Thain on Tue Aug 17 19:30:15 2004
    From: [email protected]

    On Tue, Aug 17, 2004 at 11:38:38PM +1000, Finn Thain wrote:
    I don't have an s390 to test on unfortunately, so would you please try
    a couple of tests to help me isolate this problem.

    You have, ask http://db.debian.org/ for the developer machines.

    - does compiling genext2fs generate any warnings?

    Ask http://buildd.debian.org/.

    - does the following generate fsck errors (apart from the lost+found not present warning, and the missing volume UUID)?

    $ genext2fs -b 5876 -r 0 /tmp/whatever
    $ fsck.ext2 /tmp/whatever

    | $ genext2fs -b 5876 -r 0 /tmp/whatever
    | $ fsck.ext2 /tmp/whatever
    | e2fsck 1.35 (28-Feb-2004)
    | Note: if there is several inode or block bitmap blocks
    | which require relocation, or one part of the inode table
    | which must be moved, you may wish to try running e2fsck
    | with the '-b 5881' option first. The problem may lie only
    | with the primary block group descriptor, and the backup
    | block group descriptor may be OK.
    |
    | Block bitmap for group 0 is not in group. (block 50331648)
    | Relocate<y>? cancelled!
    |
    | Inode bitmap for group 0 is not in group. (block 67108864)
    | Relocate<y>? cancelled!
    |
    | Inode table for group 0 is not in group. (block 83886080)
    | WARNING: SEVERE DATA LOSS POSSIBLE.
    | Relocate<y>? cancelled!
    |
    | Filesystem did not have a UUID; generating one.

    I tried this on my celeron, it works ok for me.

    You tried it on a 32bit little-endian machine. I try it on a
    64bit/31bit big-endian machine.

    Bastian

    --
    Actual war is a very messy business. Very, very messy business.
    -- Kirk, "A Taste of Armageddon", stardate 3193.0

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.5 (GNU/Linux)

    iEYEARECAAYFAkEiPMoACgkQnw66O/MvCNEuhACeONdGN2Qb23nqCyDExnjywHg8 wB4An3t065XfqaSSK8LDGem3spWO2tYt
    =qPHe
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Finn Thain@1:229/2 to Bastian Blank on Tue Aug 17 20:00:15 2004
    From: [email protected]

    On Tue, 17 Aug 2004, Bastian Blank wrote:

    On Tue, Aug 17, 2004 at 11:38:38PM +1000, Finn Thain wrote:
    I don't have an s390 to test on unfortunately, so would you please try
    a couple of tests to help me isolate this problem.

    You have, ask http://db.debian.org/ for the developer machines.

    Cool. David, what's the procedure for obtaining access to raptor?

    - does compiling genext2fs generate any warnings?

    Ask http://buildd.debian.org/.

    Very nice. I had no idea that site existed. Interesting to note that make
    check fails, but that is not suprising -- it fails where fsck succeeds on
    my machines. I'd better look at that too.

    - does the following generate fsck errors (apart from the lost+found not present warning, and the missing volume UUID)?

    $ genext2fs -b 5876 -r 0 /tmp/whatever
    $ fsck.ext2 /tmp/whatever

    | $ genext2fs -b 5876 -r 0 /tmp/whatever
    | $ fsck.ext2 /tmp/whatever
    | e2fsck 1.35 (28-Feb-2004)
    | Note: if there is several inode or block bitmap blocks
    | which require relocation, or one part of the inode table
    | which must be moved, you may wish to try running e2fsck
    | with the '-b 5881' option first. The problem may lie only
    | with the primary block group descriptor, and the backup
    | block group descriptor may be OK.
    |
    | Block bitmap for group 0 is not in group. (block 50331648)
    | Relocate<y>? cancelled!
    |
    | Inode bitmap for group 0 is not in group. (block 67108864)
    | Relocate<y>? cancelled!
    |
    | Inode table for group 0 is not in group. (block 83886080)
    | WARNING: SEVERE DATA LOSS POSSIBLE.
    | Relocate<y>? cancelled!
    |
    | Filesystem did not have a UUID; generating one.

    I tried this on my celeron, it works ok for me.

    You tried it on a 32bit little-endian machine. I try it on a
    64bit/31bit big-endian machine.

    I also tested on my alpha (64-bit little endian) and it works ...
    interesting.

    Looks like I'm gonna need that s390 account. Thanks for your help.

    -F

    Bastian




    --
    To UNSUBSCRIBE, email to [email protected]
    with a subject of "unsubscribe". Trouble? Contact [email protected]

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Finn Thain@1:229/2 to All on Wed Aug 18 07:00:09 2004
    From: [email protected]

    This message is in MIME format. The first part should be readable text,
    while the remaining parts are likely unreadable without MIME-aware tools.
    Send mail to [email protected] for more info.

    Attached is a patch for the make check failure. This s390 bug is one bug
    that make check should be able to detect (unless of course it is an e2fsck
    bug ;)

    David, would it be possible to release this patch to the build servers in
    order that the build logs may tell us whether the s390 endianness bug also afflicts the 32-bit big-endian arch's?

    (As I mentioned, this bug doesn't afflict my little-endian 64-bit Alpha,
    nor my little-endian 32-bit x86.)

    -F
    [SoupGate killed MIME-encoded file genext2fs-1.3-7-fix-make-check.patch (449 bytes)]

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)