#285 fsck segfault

open
nobody
None
5
2012-07-09
2012-07-09
andfe
No

From time to time fsck segfaults, the backtrace looks like this ->

#0 0x295ce560 in ?? () from /lib/libc.so.0
#1 0x00421f90 in writeBmap (vol=0, bmap=0x53b000, dip=<value optimized out>)
at ../../jfsutils-1.1.15/libfs/log_map.c:1404
#2 0x00422802 in updateMaps (vol=0) at
../../jfsutils-1.1.15/libfs/log_map.c:962
#3 0x0041e9f6 in jfs_logredo (pathname=<value optimized out>, fp=0x1478d,
use_2nd_aggSuper=<value optimized out>)
at ../../jfsutils-1.1.15/libfs/logredo.c:786
#4 0x0041a20c in phase0_processing () at
../../jfsutils-1.1.15/fsck/xchkdsk.c:1888
#5 0x00401900 in main (argc=<value optimized out>, argv=<value optimized out>)
at ../../jfsutils-1.1.15/fsck/xchkdsk.c:333

And...

(gdb) frame 1
#1 0x00421f90 in writeBmap (vol=0, bmap=0x53b000, dip=<value optimized out>)
at ../../jfsutils-1.1.15/libfs/log_map.c:1404
1404 ../../jfsutils-1.1.15/libfs/log_map.c: No such file or directory.
in ../../jfsutils-1.1.15/libfs/log_map.c
(gdb) print dmap
$1 = (struct dmap *) 0x53f000
(gdb) print dmap->pmap
$2 = {0 <repeats 256 times>}
(gdb) print dmap_bitrec
$3 = <value optimized out>
(gdb) print dmap_bitrec->pmap
Cannot access memory at address 0x400
(gdb) print bitmaplen
$4 = 1024
(gdb) print *dmap
$5 = {nblocks = 8192, nfree = 8192, start = 23044096, tree = {nleafs = 256,
l2nleafs = 8, leafidx = 85, height = 4,
budmin = 5 '\005',
stree =
"\r\r\377\377\377\r\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\r\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\r\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377",
pad = "\000"}, pad = '\000' <repeats 1671 times>, wmap = {0 <repeats 256
times>}, pmap = {
0 <repeats 256 times>}}
(gdb) print *dmap_bitrec
Cannot access memory at address 0x0

Discussion

  • andfe
    andfe
    2012-07-09

    Forgot to mention that this was running 1.1.15

     
  • David Kleikamp
    David Kleikamp
    2012-07-09

    How large is the filesystem? There are a few fixes in cvs that haven't made it into a release yet. (I really need to release 1.1.16!)

    Could you try to build jfustils from cvs?
    https://sourceforge.net/scm/?type=cvs&group_id=128802

    Thanks!

     
  • andfe
    andfe
    2012-07-10

    The filesystem is ~300gb, using the jfsutils from cvs leads to the same situation as reported.

    Is there any information needed that i might be able to summon up?

     
  • andfe
    andfe
    2012-07-19

    Is there anything 'obvious' in the trace posted that i can dive into, or is this an area best left to experts?

    Thanks

    /Andreas