[uClibc]e2fsck problem: (Bad address) while doing inode scan

Giulio Orsero giulioo at pobox.com
Mon Mar 31 15:41:12 UTC 2003


On Fri, 28 Mar 2003 19:58:44 +0100, Giulio Orsero <giulioo at pobox.com> wrote:

>Right now I don't have a real system (as opposed to vmware) to test it. If
>necessary will do it next days.

Following is data on real hardware (previous was on vmware):

hda4 is about 9GB

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        17    136521   82  Linux swap
/dev/hda2            18       145   1028160   83  Linux
/dev/hda3           146      1313   9381960   83  Linux
/dev/hda4          1314      2481   9381960   83  Linux

# ldd /tmp/e2fsck.shared
        libext2fs.so.2 => /usr/i386-linux22-uclibc/lib/libext2fs.so.2
(0x0x40006000)
        libcom_err.so.2 => /usr/i386-linux22-uclibc/lib/libcom_err.so.2
(0x0x4001f000)
        libuuid.so.1 => /usr/i386-linux22-uclibc/lib/libuuid.so.1
(0x0x40021000)
        libc.so.0 => /usr/i386-linux22-uclibc/lib/libc.so.0 (0x0x40024000)
        ld-uClibc.so.0 => /usr/i386-linux22-uclibc/lib/ld-uClibc.so.0
(0x0x40000000)
#

strace /tmp/e2fsck.shared -n -f /dev/hda4
...
...
lseek(3, 176447488, SEEK_SET)           = 176447488
read(3, "\266\201d\0\337\5\0\0\246\225\353;R\226\353;\206K\364:"..., 8192) =
8192
lseek(3, 176455680, SEEK_SET)           = 176455680
read(3, "\266\201d\0w\0\0\0\246\225\353;R\226\353;\207K\364:R\226"..., 8192)
= 8192
lseek(3, 176487424, SEEK_SET)           = 176487424
read(3, "@\241\2\0A\241\2\0B\241\2\0C\241\2\0D\241\2\0E\241\2\0"..., 1024) =
1024
_llseek(3, 4294967296, 0x9febfc00, SEEK_SET) = -1 EFAULT (Bad address)
write(1, "Error reading block ", 20Error reading block )    = 20
write(1, "6814463", 76814463)                  = 7
write(1, " (", 2 ()                       = 2
write(1, "Bad address", 11Bad address)             = 11
write(1, ") while ", 8) while )                 = 8
write(1, "reading indirect blocks of inode"..., 38reading indirect blocks of
inode 43019) = 38
write(1, ".  ", 3.  )                      = 3
write(1, "Ignore error", 12Ignore error)            = 12
write(1, "? no\n\n", 6? no)                 = 6
write(1, "Error while iterating over ", 27Error while iterating over ) = 27
write(1, "block", 5block)                    = 5
write(1, "s in ", 5s in )                    = 5
write(1, "inode", 5inode)                    = 5
write(1, " ", 1 )                        = 1
write(1, "43019", 543019)                    = 5
write(1, ": ", 2: )                       = 2
write(1, "Bad address", 11Bad address)             = 11
write(1, "\n", 1)                       = 1
fsync(3)                                = 0
write(2, "e2fsck: ", 8e2fsck: )                 = 8
write(2, "aborted", 7aborted)                  = 7
write(2, "\n", 1)                       = 1
fsync(3)                                = 0
write(1, "/dev/hda4", 9/dev/hda4)                = 9
write(1, ": ", 2: )
write(1, "46233", 546233)                    = 5
write(1, "/", 1/)                        = 1
write(1, "2347008", 72347008)                  = 7
write(1, " files (", 8 files ()                 = 8
write(1, "0", 10)                        = 1
write(1, ".", 1.)                        = 1
write(1, "0", 10)                        = 1
write(1, "% non-contiguous), ", 19% non-contiguous), )     = 19
write(1, "7263188", 77263188)                  = 7
write(1, "/", 1/)                        = 1
write(1, "9381960", 79381960)                  = 7
write(1, " blocks\n", 8 blocks)                = 8
close(3)                                = 0
brk(0x8341000)                          = 0x8341000
_exit(0)

-- 
giulioo at pobox.com



More information about the uClibc mailing list