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
Forgot to mention that this was running 1.1.15
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!
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?
Is there anything 'obvious' in the trace posted that i can dive into, or is this an area best left to experts?
Thanks
/Andreas