Segfault in fsck.reiser4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

I found a bug in fsck.reiser4 from reiser4progs-1.0.7. It segfaults when I try to check my storage partition. The FS is currently mounted read-only, as I need the data and I don't have a spare disk. I haven't noticed any other problems so far, the fsck was just a weekly check.

I recompiled reiser4progs with debug statements and made a backtrace,
but I'm not skilled in these things, so let me know if additional info is needed. I've also packed the filesystem metadata, I can post them somewhere if you want.

By the way, how do I find a filename by node number or key? Debugfs allows me to search for nodes when I type a filename, but not vice versa.
I'd like to know which file caused the corruption.

The output from GDB is below.


(gdb) run
Starting program: /sbin/fsck.reiser4 /dev/sda7
*******************************************************************
This is an EXPERIMENTAL version of fsck.reiser4. Read README first.
*******************************************************************

Fscking the /dev/sda7 block device.
Will check the consistency of the Reiser4 SuperBlock.
Will check the consistency of the Reiser4 FileSystem.
Continue?
(Yes/No): y
***** fsck.reiser4 started at Tue Mar 23 16:32:33 2010
Reiser4 fs was detected on /dev/sda7.
Master super block (16):
magic:          ReIsEr4
blksize:        4096
format:         0x0 (format40)
uuid:           7e3c26ff-e382-4f6f-9686-ca06ff31c615
label:          data

Format super block (17):
plugin:         format40
description:    Disk-format plugin.
version:        0
magic:          ReIsEr40FoRmAt
mkfs id:        0x7c89491a
flushes:        0
blocks:         47640736
free blocks:    9067517
root block:     36345512
tail policy:    0x2 (smart)
next oid:       0x64883
file count:     6842
tree height:    5
key policy:     LARGE


CHECKING THE STORAGE TREE
        Read nodes 3394397
        Nodes left in the tree 3394397
                Leaves of them 3354276, Twigs of them 39373
        Time interval: Tue Mar 23 16:32:53 2010 - Tue Mar 23 16:46:58 2010
CHECKING EXTENT REGIONS.
FSCK: extent40_repair.c: 96: extent40_check_layout: Node (36296453), item (31), unit (7), [64744:4(FB):4d4f563042422e:6487d:0]: points to the already used blocks, region [38491215..38497535]. FSCK: extent40_repair.c: 96: extent40_check_layout: Node (36296453), item (35), unit (0), [64744:4(FB):4d4f563042442e:64881:0]: points to the already used blocks, region [32036064..32036064]. FSCK: extent40_repair.c: 96: extent40_check_layout: Node (36296453), item (35), unit (1), [64744:4(FB):4d4f563042442e:64881:0]: points to the already used blocks, region [36296457..36296457]. FSCK: extent40_repair.c: 96: extent40_check_layout: Node (36296453), item (35), unit (2), [64744:4(FB):4d4f563042442e:64881:0]: points to the already used blocks, region [36345512..36345512]. FSCK: extent40_repair.c: 96: extent40_check_layout: Node (36296453), item (35), unit (3), [64744:4(FB):4d4f563042442e:64881:0]: points to the already used blocks, region [36425556..36425556]. FSCK: extent40_repair.c: 96: extent40_check_layout: Node (36296453), item (35), unit (4), [64744:4(FB):4d4f563042442e:64881:0]: points to the already used blocks, region [38293910..38293910].
        Read twigs 39373
        Invaid extent pointers 6
        Time interval: Tue Mar 23 16:46:58 2010 - Tue Mar 23 16:50:25 2010
CHECKING THE SEMANTIC TREE
FSCK: ccreg40_repair.c: 77: ccreg40_check_item: The file [64744:4d4f563042442e:64882] (ccreg40), node [38551031], item [0]: item of the wrong cluster size (-2147483648) found, Should be (65536).

Program received signal SIGSEGV, Segmentation fault.
0xb7f6f7d2 in aux_adler32 (adler=<value optimized out>, buff=0xbffe22ca "", n=4294839597) at aux.c:194

(gdb) bt
#0 0xb7f6f7d2 in aux_adler32 (adler=<value optimized out>, buff=0xbffe22ca "", n=4294839597) at aux.c:194 #1 0xb7f9ceb2 in ccreg40_check_crc (cc=0x8edf5f0, func=0, data=0xbfffeb1c, mode=1 '\001') at ccreg40_repair.c:130 #2 ccreg40_check_cluster (cc=0x8edf5f0, func=0, data=0xbfffeb1c, mode=1 '\001') at ccreg40_repair.c:174 #3 ccreg40_check_struct (cc=0x8edf5f0, func=0, data=0xbfffeb1c, mode=1 '\001') at ccreg40_repair.c:271 #4 0xb7f34a4a in repair_object_check_struct (object=0x8edf5f0, place_func=0, mode=<value optimized out>, data=0xbfffeb1c) at object.c:19 #5 0xb7f391ab in repair_semantic_check_struct (sem=0xbfffeb1c, object=0x8edf5f0) at semantic.c:68 #6 0xb7f3ae26 in cb_object_traverse (parent=0x8e5ef40, entry=0xbfff4410, data=0xbfffeb1c) at semantic.c:352 #7 0xb7f6791d in reiser4_object_traverse (object=0x8e5ef40, open_func=0xb7f3abb7 <cb_object_traverse>, data=0xbfffeb1c) at object.c:723 #8 0xb7f67959 in reiser4_object_traverse (object=0x8e614a0, open_func=0xb7f3abb7 <cb_object_traverse>, data=0xbfffeb1c) at object.c:731 #9 0xb7f67959 in reiser4_object_traverse (object=0x8e5baf0, open_func=0xb7f3abb7 <cb_object_traverse>, data=0xbfffeb1c) at object.c:731 #10 0xb7f67959 in reiser4_object_traverse (object=0x8e479e0, open_func=0xb7f3abb7 <cb_object_traverse>, data=0xbfffeb1c) at object.c:731 #11 0xb7f67959 in reiser4_object_traverse (object=0x80628e0, open_func=0xb7f3abb7 <cb_object_traverse>, data=0xbfffeb1c) at object.c:731
#12 0xb7f3a202 in repair_semantic (sem=0xbfffeb1c) at semantic.c:845
#13 0xb7f3cee8 in repair_check (repair=0xbfffee04) at repair.c:799
#14 0x0804b242 in main (argc=2, argv=Cannot access memory at address 0x8608
) at fsck.c:566


--
Jonáš Vidra
--
To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux File System Development]     [Linux BTRFS]     [Linux NFS]     [Linux Filesystems]     [Ext4 Filesystem]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Resources]

  Powered by Linux