lzip-bug
[Top][All Lists]
Advanced

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

[Lzip-bug] lzip segv 32-bit


From: Fisher, Charles J. (Top Echelon)
Subject: [Lzip-bug] lzip segv 32-bit
Date: Mon, 14 Nov 2016 19:07:15 +0000

Why is this crashing?

 

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?

 

 

 

$ g++ -Wall -W -O3 -g -o lzip arg_parser.cc encoder_base.cc encoder.cc fast_encoder.cc decoder.cc -DPROGVERSION=\"1.18\" -D_FORTIFY_SOURCE=2 main.cc

fast_encoder.cc: In member function ‘virtual bool FLZ_encoder::encode_member(long long unsigned int):

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

 

$ mv lzip /tmp

 

$ su -

 

# mv /tmp/lzip /bin

 

# chown root:root /bin/lzip

 

# gdb lzip

GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-45.0.1.el5)

Copyright (C) 2009 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.  Type "show copying"

and "show warranty" for details.

This GDB was configured as "i386-redhat-linux-gnu".

For bug reporting instructions, please see:

<http://www.gnu.org/software/gdb/bugs/>...

Reading symbols from /bin/lzip...done.

(gdb) run -k -9 --dictionary-size 512M --match-length 273 undo01.dat

Starting program: /bin/lzip -k -9 --dictionary-size 512M --match-length 273 undo01.dat

 

Program received signal SIGSEGV, Segmentation fault.

LZ_encoder::get_match_pairs (this=0xb7f9b008, pairs=0x0) at encoder.cc:51

51        unsigned tmp = crc32[data[0]] ^ data[1];

(gdb) bt

#0  LZ_encoder::get_match_pairs (this=0xb7f9b008, pairs=0x0) at encoder.cc:51

#1  0x0804ec5c in move_and_update (this=0xb7f9b008, reps=0xbfffe6b8, state=...) at encoder.h:223

#2  LZ_encoder::sequence_optimizer (this=0xb7f9b008, reps=0xbfffe6b8, state=...) at encoder.cc:202

#3  0x08050f24 in LZ_encoder::encode_member (this=0xb7f9b008, member_size=2251799813685248) at encoder.cc:534

#4  0x0805c666 in (anonymous namespace)::compress (member_size=2251799813685248, volume_size=0, infd=7, encoder_options=..., pp=...,

 

    in_statsp=0xbfffe878, zero=false) at main.cc:451

#5  0x0805e94a in main (argc=Cannot access memory at address 0x202

) at main.cc:874

(gdb)

 

 

 

 

# 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)

 


reply via email to

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