On Thu, 11 Feb 2010 at 19:56, lakshmi pathi wrote:> Feedback/comments on giis-ext4 are most welcome.
I'm always curious about these undeletion attempts and so I've tried it.
But without luck again:
# giis-ext4 -g
Enter your option: 1
giis-ext4: giis-ext4.c:863: open_db: Assertion `error == 0' failed.
Aborted
# echo $?
134
This has been compiled with
- e2fslibs-dev 1.41.10
- libsqlite3-dev 3.6.22
- gcc 4.4.3, with -g -ggdb
I've attached the gdb output and tune2fs output to this email.
HTH,
Christian.
--
BOFH excuse #24:
network packets travelling uphill (use a carrier pigeon)
-------------- next part --------------
#
# Makefile
#
CFLAGS = -g -ggdb
LDFLAGS = -lext2fs -lsqlite3
giis-ext4:
gcc $(CFLAGS) $(LDFLAGS) src/giis-ext4.c -o giis-ext4
clean:
rm -f giis-ext4
all: giis-ext4
.PHONY: clean
.PHONY: giis-ext4 all
-------------- next part --------------
tune2fs 1.41.10 (10-Feb-2009)
Filesystem volume name: <none>
Last mounted on: /mnt/d1
Filesystem UUID: 65de9933-1be8-49cc-909c-e324a49f62d6
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype
needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink
extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 128016
Block count: 512000
Reserved block count: 25600
Free blocks: 485334
Free inodes: 128005
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2032
Inode blocks per group: 254
Flex block group size: 16
Filesystem created: Sat Feb 13 07:35:00 2010
Last mount time: Sat Feb 13 07:35:09 2010
Last write time: Sat Feb 13 07:35:09 2010
Mount count: 1
Maximum mount count: 21
Last checked: Sat Feb 13 07:35:00 2010
Check interval: 15552000 (6 months)
Next check after: Thu Aug 12 08:35:00 2010
Lifetime writes: 24 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 3990aa48-db93-4905-82dc-6e09c49ef971
Journal backup: inode blocks
-------------- next part --------------
# grep /mnt/d1 /proc/mounts
/dev/mapper/vg0-lv0 /mnt/d1 ext4 rw,relatime,barrier=1,data=ordered 0 0
# gdb /usr/local/src/giis-ext4/bin/giis-ext4
GNU gdb (GDB) 7.0.1-debian
This GDB was configured as "x86_64-linux-gnu".
Reading symbols from /usr/local/src/giis-ext4/bin/giis-ext4...(no debugging
symbols found)...done.
(gdb) run -g
Starting program: /usr/local/src/giis-ext4/bin/giis-ext4 -g
[Thread debugging using libthread_db enabled]
Device Found : /dev/xvda1
press 1: get all user files
press 2: get specific user files
press 3: get specific file type
press 4: get specific file
press 5: get it by deleted date
Enter your option:1
giis-ext4: giis-ext4.c:863: open_db: Assertion `error == 0' failed.
Program received signal SIGABRT, Aborted.
0x00007ffff7603f45 in *__GI_raise (sig=<value optimized out>) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
#0 0x00007ffff7603f45 in *__GI_raise (sig=<value optimized out>) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff7606d80 in *__GI_abort () at abort.c:88
#2 0x00007ffff75fd08a in *__GI___assert_fail (assertion=0x404304 "error ==
0", file=<value optimized out>, line=863, function=0x404dbf
"open_db") at assert.c:78
#3 0x0000000000403bdc in open_db ()
#4 0x00000000004024ce in giis_ext4_recover_all ()
#5 0x0000000000401831 in main ()
(gdb) bt full
#0 0x00007ffff7603f45 in *__GI_raise (sig=<value optimized out>) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
pid = <value optimized out>
selftid = <value optimized out>
#1 0x00007ffff7606d80 in *__GI_abort () at abort.c:88
act = {__sigaction_handler = {sa_handler = 0x404304
<__dso_handle+1276>, sa_sigaction = 0x404304 <__dso_handle+1276>},
sa_mask = {__val = {140737344616945, 140737488348880, 863,
140737488349120, 140737343861862, 206158430232, 140737488349136,
140737488348912, 140737343776536, 206158430256, 140737488349160, 6357648,
6357632, 1, 4211460, 140737488350776}},
sa_flags = -143746404, sa_restorer = 0x4042f8
<__dso_handle+1264>}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007ffff75fd08a in *__GI___assert_fail (assertion=0x404304 "error ==
0", file=<value optimized out>, line=863, function=0x404dbf
"open_db") at assert.c:78
buf = 0x610290 ""
#3 0x0000000000403bdc in open_db ()
No symbol table info available.
#4 0x00000000004024ce in giis_ext4_recover_all ()
No symbol table info available.
#5 0x0000000000401831 in main ()
No symbol table info available.
(gdb) quit
A debugging session is active.
Inferior 1 [process 5065] will be killed.
Quit anyway? (y or n) y
# file /usr/local/src/giis-ext4/bin/giis-ext4
/usr/local/src/giis-ext4/bin/giis-ext4: ELF 64-bit LSB executable, x86-64,
version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux
2.6.18, not stripped
# ldd /usr/local/src/giis-ext4/bin/giis-ext4
linux-vdso.so.1 => (0x00007fffbbdff000)
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00007fdb7e324000)
libext2fs.so.2 => /lib/libext2fs.so.2 (0x00007fdb7e0f6000)
libc.so.6 => /lib/libc.so.6 (0x00007fdb7dda1000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fdb7db85000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fdb7d981000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00007fdb7d77d000)
/lib64/ld-linux-x86-64.so.2 (0x00007fdb7e5b8000)
# ls -lgo /usr/local/src/giis-ext4/bin/giis-ext4
-rwx------ 1 30800 Feb 10 20:24 /usr/local/src/giis-ext4/bin/giis-ext4