What is the output of 'lziprecover -Fl <fec_file>'?
Same result on the server and VM :
$ lziprecover -Fl archive.tar.lz.fec
Protected size: 15_012_951_813 Block size: 458_752 Data blocks: 32_726
Fec file: 'archive.tar.lz.fec'
Fec size: 300_754_928 2.00% Fec blocks: 655
Fec bytes: 300_482_560 2.00% Fec numbers: 0-654
Features: GF(2^16) CRC32 CRC32-C
* I noticed that when I run the -Fl on the archive and not the fec file
by mistake, lziprecover doesn't return an error, keep working, reading
the file. ZSH kills it after about 30 sec (probably because it takes a
lot of memory), but BASH keeps it running and I had to kill it manually.*
You may try fragmentation level -7 or -6.
I will
What memory allocation error? "Can't mmap: Cannot allocate memory" or
"Not enough memory"?
"Can't mmap: Cannot allocate memory"
Lziprecover uses mmap because it needs access to the whole file and "it
is possible to mmap files orders of magnitude larger than both the
physical memory and swap space."[1] Maybe the problem is that the VM you
are using also limits the address space available to mmap.
I don't know enough about how VM memory works to have something relevant
to add but after a quick google search it seems not impossible that mmap
can have a different behavior/restriction in a KVM VM.
Here are all the commands I have run to have the full context of what I
was doing
* Creating fec file on the server (NB:it took 7 hour and a half, I
reniced the task at maximum afterward, the server was barely responsive):
$ time lziprecover -v -Fc2% archive.tar.lz
archive.tar.lz.fec: 300_754_928 bytes, 300_482_560 fec bytes, 655
blocks
real 450m44,092s
user 171m33,329s
sys 27m56,155s
* Testing the archive on the server:
$ time lziprecover -v -Ft archive.tar.lz
Protected file: 'archive.tar.lz'
Protected size: 15_012_951_813 Block size: 458_752 Data blocks: 32_726
Fec file: 'archive.tar.lz.fec'
Fec size: 300_754_928 2.00% Fec blocks: 655
Fec bytes: 300_482_560 2.00% Fec numbers: 0-654
Features: GF(2^16) CRC32 CRC32-C
Protected data checked successfully.
real 6m23,427s
user 2m25,950s
sys 0m13,370s
* On the VM where it fails:
$ lziprecover -Ft archive.tar.lz
lziprecover: archive.tar.lz: Can't mmap: Cannot allocate memory
Best regards.