free(): invalid pointer after in ext2fs_free_mem (ptr=0x55c9323a9100) at...
Status: Beta
Brought to you by:
robi6
Hi,
I tried to restore files within the last 24 hrs as I was failing to recover any from a known directory. It started to recovef files which I don't thhink I deleted but if it would recover those few I needed I would be more than happy. But it crashed with:
# ext4magic /dev/dm-3 -r
"RECOVERDIR" accept for recoverdir
Filesystem in use: /dev/dm-3
Using internal Journal at Inode 8
Inode 2 is allocated
-------- RECOVERDIR/home/mmokrejs/opt/pdfstudio-2019.2.3/jre/bin/ControlPanel
-------- RECOVERDIR/home/mmokrejs/opt/pdfstudio-2019.2.3/jre/lib/amd64/server/libjsig.so
-------- RECOVERDIR/home/mmokrejs/opt/pdfstudio-2019.2.3/jre/man/ja
-------- RECOVERDIR/home/mmokrejs/opt/pdfstudio-2020.5.1/jre/bin/ControlPanel
-------- RECOVERDIR/home/mmokrejs/opt/pdfstudio-2020.5.1/jre/lib/amd64/server/libjsig.so
-------- RECOVERDIR/home/mmokrejs/opt/pdfstudio-2020.5.1/jre/man/ja
-------- RECOVERDIR/home/mmokrejs/opt/foxitsoftware/foxitreader-2.4.5.0727/lib/libQt5Core.so
-------- RECOVERDIR/home/mmokrejs/opt/foxitsoftware/foxitreader-2.4.5.0727/lib/libQt5DBus.so
-------- RECOVERDIR/home/mmokrejs/opt/foxitsoftware/foxitreader-2.4.5.0727/lib/libQt5Gui.so
-------- RECOVERDIR/home/mmokrejs/opt/foxitsoftware/foxitreader-2.4.5.0727/lib/libQt5Network.so
-------- RECOVERDIR/home/mmokrejs/opt/foxitsoftware/foxitreader-2.4.5.0727/lib/libQt5OpenGL.so
...
free(): invalid pointer
Aborted (core dumped)
#
# gdb /usr/sbin/ext4magic /var/dumps/core.ext4magic.7299
...
Core was generated by `ext4magic /dev/dm-3 -r'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007fc30ec87eac in __pthread_kill_implementation () from /lib64/libc.so.6
(gdb) where
#0 0x00007fc30ec87eac in __pthread_kill_implementation () from /lib64/libc.so.6
#1 0x00007fc30ec395c2 in raise () from /lib64/libc.so.6
#2 0x00007fc30ec224ed in abort () from /lib64/libc.so.6
#3 0x00007fc30ec2355c in __libc_message.cold () from /lib64/libc.so.6
#4 0x00007fc30ec91815 in malloc_printerr () from /lib64/libc.so.6
#5 0x00007fc30ec939d4 in _int_free () from /lib64/libc.so.6
#6 0x00007fc30ec962af in free () from /lib64/libc.so.6
#7 0x000055c930f20f60 in ext2fs_free_mem (ptr=0x55c9323a9100) at /usr/include/ext2fs/ext2fs.h:1959
#8 local_ext2fs_extent_free (handle=0x55c9323a5190) at block.c:100
#9 0x000055c930f219b4 in local_block_iterate3 (fs=fs@entry=0x55c9323932a0, inode=..., flags=flags@entry=4, block_buf=block_buf@entry=0x0, func=func@entry=0x55c930f3e460 <write_block>,
priv_data=priv_data@entry=0x7ffe34c6da70) at block.c:698
#10 0x000055c930f3ecc5 in recover_file (des_dir=des_dir@entry=0x7ffe34c6dfdd "RECOVERDIR", pathname=<optimized out>, filename=<optimized out>, inode=inode@entry=0x55c9323a5650, inode_nr=6294369, flag=flag@entry=1)
at recover.c:398
#11 0x000055c930f3f2fc in recover_file (des_dir=des_dir@entry=0x7ffe34c6dfdd "RECOVERDIR", pathname=<optimized out>, filename=<optimized out>, inode=inode@entry=0x55c9323a5650, inode_nr=<optimized out>,
flag=flag@entry=1) at recover.c:330
#12 0x000055c930f38cf6 in lookup_local (des_dir=0x7ffe34c6dfdd "RECOVERDIR", dir=0x55c9323a62f0, t_after=1694859623, t_before=1694946023, flag=16386) at lookup_local.c:649
#13 0x000055c930f38af0 in lookup_local (des_dir=0x7ffe34c6dfdd "RECOVERDIR", dir=0x55c9323a6580, t_after=1694859623, t_before=1694946023, flag=16386) at lookup_local.c:626
#14 0x000055c930f38af0 in lookup_local (des_dir=0x7ffe34c6dfdd "RECOVERDIR", dir=0x55c9323a6820, t_after=1694859623, t_before=1694946023, flag=16386) at lookup_local.c:626
#15 0x000055c930f38af0 in lookup_local (des_dir=0x7ffe34c6dfdd "RECOVERDIR", dir=0x55c9323a4ba0, t_after=1694859623, t_before=1694946023, flag=16386) at lookup_local.c:626
#16 0x000055c930f38af0 in lookup_local (des_dir=0x7ffe34c6dfdd "RECOVERDIR", dir=0x55c9323a4820, t_after=1694859623, t_before=1694946023, flag=16386) at lookup_local.c:626
#17 0x000055c930f38af0 in lookup_local (des_dir=0x7ffe34c6dfdd "RECOVERDIR", dir=0x55c9323a3370, t_after=1694859623, t_before=1694946023, flag=16386) at lookup_local.c:626
#18 0x000055c930f38af0 in lookup_local (des_dir=0x7ffe34c6dfdd "RECOVERDIR", dir=0x55c9323a2e40, t_after=1694859623, t_before=1694946023, flag=16386) at lookup_local.c:626
#19 0x000055c930f204d6 in main (argc=<optimized out>, argv=<optimized out>) at ext4magic.c:1096
(gdb)
# ext4magic --version
ext4magic : Error: Missing device name and options.
ext4magic -M [-j <journal_file>] [-d <target_dir>] <filesystem>
ext4magic -m [-j <journal_file>] [-d <target_dir>] <filesystem>
ext4magic [-S|-J|-H|-V|-T] [-x] [-j <journal_file>] [-B n|-I n|-f <file_name>|-i <input_list>] [-t n|[[-a n][-b n]]] [-d <target_dir>] [-R|-r|-L|-l] [-Q] <filesystem>
#
Umm, this is ext4magic-0.3.2-r1 on Gentoo Linux.
And it is not fixed by https://master.dl.sourceforge.net/project/ext4magic/Patches/workaround.patch , btw.
And happens with 0.2.4 too.
Last edit: Martin Mokrejs 2023-09-17
Sounds like possible duplicate of Ticket 14