Hello,

Fisher, Charles J. (Top Echelon) wrote:
Why is this crashing?

Because of lack of RAM:

http://www.nongnu.org/lzip/manual/lzip_manual.html#Introduction
"The amount of memory required for compression is about 1 or 2 times the dictionary size limit (1 if input file size is less than dictionary size limit, else 2) plus 9 times the dictionary size really used."


I'm on Oracle's reroll of RedHat 5, 32-bit PAE kernel. My userspace
in 32-bit Linux is supposed to be 3 gigabytes. This is not enough
room?

Supposing that 'undo01.dat' is larger than 251 MB, the required RAM is about 251 MB * 11 = 2761 MB, which I guess is more or less the maximum your kernel can provide. Using a dictionary size larger than 251 MB or so requires a 64 bit OS and up to 5 GiB of RAM.


fast_encoder.cc:106: warning: 'match_distance' may be used
uninitialized in this function

This is a false positive from the compiler not relevant to this case, as you are not using the fast encoder (option -0).


# lzip -k -9 --dictionary-size 253M --match-length 273 undo01.dat
   undo01.dat: Not enough memory. Try a smaller dictionary size.
lzip: Deleting output file 'undo01.dat.lz', if it exists.
# lzip -k -9 --dictionary-size 252M --match-length 273 undo01.dat
   undo01.dat: Not enough memory. Try a smaller dictionary size.
lzip: Deleting output file 'undo01.dat.lz', if it exists.
# lzip -k -9 --dictionary-size 251M --match-length 273 undo01.dat
(runs)

I think the message is clear: Try a smaller dictionary size.


Regards,
Antonio.

_______________________________________________
Lzip-bug mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lzip-bug

Reply via email to