Opened 7 years ago

Last modified 6 years ago

#8884 assigned bug

bfs-tools/recover crashes

Reported by: Anarchos Owned by: axeld
Priority: low Milestone: R1
Component: Applications/Command Line Tools Version:
Keywords: bfs-tools recover Cc:
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description (last modified by diver)

When running recover with

recover -dv /dev/disks/scsi/0/0/0/3_4 /Data2/recovered

It crashes after displaying "Checking disk structure integrity" (or something like that) and "1050 nodes".
Below is the gdb session i could do, extracting some informations.
Crash is reproducible.

Thread 7006 caused an exception: Segment violation
[...]
[Switching to team /Data2/haiku/generated/generated.gcc2/objects/haiku/x86/debug_1 (7006) thread recover (7006)]
0x00000000 in ?? ()

(gdb) bt
#0  0x00000000 in ?? ()
#1  0x0020a16a in checkDirectoryContents (disk=@0x7ffeedc0, dir=0x187b3178)
    at /Data2/haiku/src/bin/bfs_tools/recover.cpp:313
#2  0x0020a738 in checkStructure (disk=@0x7ffeedc0)
    at /Data2/haiku/src/bin/bfs_tools/recover.cpp:396
#3  0x0020c2ff in main (argc=4, argv=0x7ffef544)
    at /Data2/haiku/src/bin/bfs_tools/recover.cpp:802
(gdb) f 1
#1  0x0020a16a in checkDirectoryContents (disk=@0x7ffeedc0, dir=0x187b3178)
    at /Data2/haiku/src/bin/bfs_tools/recover.cpp:313
313             dir->Rewind();
(gdb) display dir
1: dir = (Directory *) 0x187b3178
(gdb) display *dir
2: *dir = {<DataStream> = {<Inode> = {fDisk = 0x7ffeedc0, fInode = 0x1f5bc5c8, 
      fOwnBuffer = true, fPath = 0x0, fBlockRun = {allocation_group = 0, 
        start = 2782, length = 1}, fRefCount = 1, fCurrentSmallData = 0x0, 
      fAttributes = 0x0, fAttributeBuffer = 0x0, 
      _vptr.Inode = 0x2254a0 <File virtual table>}, <BPositionIO> = {<BDataIO> = {_reserved = {0, 0}, 
        _vptr.BDataIO = 0x225380 <File::BPositionIO virtual table>}, 
      _reserved = {0, 0}}, fCurrent = -1, fLevel = 0, fRun = {
      allocation_group = 0, start = 0, length = 0}, fRunFileOffset = 0, 
    fRunBlockEnd = 0, fPosition = 0}, fTree = 0x0}

Change History (3)

comment:1 Changed 7 years ago by diver

Component: File Systems/BFSApplications/Command Line Tools
Description: modified (diff)
Status: newassigned

comment:2 Changed 7 years ago by Anarchos

Here is the command and the output

/Data2/haiku/generated/generated.gcc2/objects/haiku/x86/debug_1/bin/bfs_tools/recover -d /dev/disk/scsi/0/0/0/3_4 /Data2/recovered

Copyright (c) 2001-2008 pinc Software.

* Collecting inodes...

searching from 3278848 to 11667456 (log area)

35 inodes found.

17 directories found (total of 61440 bytes)

7 files found (total of 1723907 bytes)

0 symlinks found


24 inodes total found in hashtable.

searching from 11667456 to 53686042624 (main area)

block 53671217152 (99%), 694403 inodes

694403 inodes found.

107977 directories found (total of -1901781795796098845 bytes)

560047 files found (total of -1346213850896740140 bytes)

4170 symlinks found


690698 inodes total found in hashtable.

* Checking Disk Structure Integrity... 1050 inodes processed...

comment:3 Changed 6 years ago by Anarchos

Priority: normallow
Note: See TracTickets for help on using tickets.