dar/libdar crash when -y0 passed on command line

Johnathan Burchill <[email protected]>
Newsgroups gmane.comp.sysutils.backup.dar.general
Organization Department of Physics and Astronomy, University of Calgary
Message-ID <[email protected]>
Hi Denis,

When running dar with -y0 option, I get SIGSEGV.

john@igloo:~/tmp$ dar -c test-dar1 -R ./test-dar-compression -y0 -Z "*.gz" 
-Z "*.bz2"
Reading config file: /home/john/.darrc
Segmentation fault

Here is the output from gdb:

john@igloo:~/tmp$ gdb dar
[...]
(gdb) set args -c test-compress -R ./test-dar-compression -y0
(gdb) r
Starting program: /usr/local/bin/dar -c test-compress -R 
./test-dar-compression -y0
Reading config file: /home/john/.darrc

Program received signal SIGSEGV, Segmentation fault.
0x401c69c8 in vtable for __cxxabiv1::__si_class_type_info ()
   from /usr/lib/libstdc++.so.5
(gdb) bt
#0  0x401c69c8 in vtable for __cxxabiv1::__si_class_type_info ()
   from /usr/lib/libstdc++.so.5
#1  0x40204ee1 in _Unwind_RaiseException () from /usr/lib/libgcc_s.so.1
#2  0x401b7299 in __cxa_throw () from /usr/lib/libstdc++.so.5
#3  0x4009878d in libdar::compressor::init(libdar::compression, 
libdar::generic_file*, unsigned) () from /usr/local/lib/libdar64.so.1
#4  0x40097f18 in libdar::compressor::compressor(libdar::compression, 
libdar::generic_file&, unsigned) () from /usr/local/lib/libdar64.so.1
#5  0x4006a9ad in libdar::op_create_in(bool, libdar::path const&, 
libdar::path const&, libdar::path const*, libdar::mask const&, 
libdar::mask const&, std::string const&, std::string const&, std::string 
const*, bool, bool, bool, bool, bool, libdar::compression, unsigned, 
libdar::limitint<unsigned long long> const&, libdar::limitint<unsigned 
long long> const&, bool, bool, std::string const&, std::string const&, 
std::string const&, std::string const&, std::string const&, std::string 
const&, libdar::mask const&, libdar::limitint<unsigned long long> const&, 
bool, libdar::l---Type <return> to continue, or q <return> to quit---
imitint<unsigned long long> const&) () from /usr/local/lib/libdar64.so.1
#6  0x40064ad7 in libdar::op_create(libdar::path const&, libdar::path 
const&, libdar::path const*, libdar::mask const&, libdar::mask const&, 
std::string const&, std::string const&, std::string const*, bool, bool, 
bool, bool, bool, libdar::compression, unsigned, libdar::limitint<unsigned 
long long> const&, libdar::limitint<unsigned long long> const&, bool, 
bool, std::string const&, std::string const&, std::string const&, 
std::string const&, std::string const&, std::string const&, libdar::mask 
const&, libdar::limitint<unsigned long long> const&, bool, bool, 
libdar::limitint<unsigned long long> const&) () from 
/usr/local/lib/libdar64.so.1
#7  0x0805be1b in little_main(int, char**, char const**) ()
#8  0x0805dfe1 in dar_suite_global(int, char**, char const**, int (*)(int, 
char**, char const**)) ()
#9  0x0805b8ea in main ()
#10 0x4021fbb4 in __libc_start_main () from /lib/libc.so.6
(gdb)

In KDar I restrict the compression level to the range 1--9 for gzip,
and disable it altogether for bzip2.

But perhaps this "exception" should be caught at the libdar level?

JB
-- 
Johnathan K. Burchill, Ph.D.
Department of Physics and Astronomy
University of Calgary
2500 University Drive N.W.
Calgary, AB T2N 1N4
Canada

(403) 217-4286
[email protected]



-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community?  Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.