lzip-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lzip-bug] lzip segv 32-bit


From: Antonio Diaz Diaz
Subject: Re: [Lzip-bug] lzip segv 32-bit
Date: Tue, 15 Nov 2016 13:26:01 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14

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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]