47 lines
2.1 KiB
Plaintext
47 lines
2.1 KiB
Plaintext
|
|
||
|
Reporting bugs
|
||
|
--------------
|
||
|
|
||
|
Naturally it is easiest for me if you already know what causes the
|
||
|
unexpected behavior. Even better if you have a patch to propose.
|
||
|
However, quite often the reason for unexpected behavior is unknown,
|
||
|
so below are a few things what to do before sending a bug report.
|
||
|
|
||
|
In case of a crash (usually segmentation violation):
|
||
|
|
||
|
1. Try to create a small example how to reprocude the issue.
|
||
|
|
||
|
2. If you are writing an application using liblzma or libzfile,
|
||
|
double check that you are using the libraries correctly (for
|
||
|
example, that you didn't forget to call lzma_init()). If it is
|
||
|
the command line tool included in LZMA Utils that is crashing,
|
||
|
ignore this step.
|
||
|
|
||
|
3. Compile LZMA Utils with debugging code using configure switch
|
||
|
`--enable-debug'. If you are using GCC as the compiler, use
|
||
|
CFLAGS='-O0 -ggdb'. Don't strip the resulting binaries.
|
||
|
|
||
|
4. Turn on core dumps. The exact command depends on your shell;
|
||
|
for example in GNU bash it is done with `ulimit -c unlimited',
|
||
|
and in tcsh with `limit coredumpsize unlimited'.
|
||
|
|
||
|
5. Try to reproduce the suspected bug. If you get `assertion failed'
|
||
|
message, be sure to include the complete message in your bug
|
||
|
report. If the application leaves a coredump, get a backtrace
|
||
|
using gdb:
|
||
|
$ gdb /path/to/app-binary # Loads the app to the debugger.
|
||
|
(gdb) core core # Opens the coredump.
|
||
|
(gdb) bt # Prints the backtrace. Copy & paste to bug report.
|
||
|
(gdb) quit # Quits gdb.
|
||
|
|
||
|
Send your bug report to Lasse Collin <lasse.collin@tukaani.org>. Don't
|
||
|
send the core dump file or the actual executables. If you have a small
|
||
|
example file(s) (total size less than 100 KiB), please include it/them
|
||
|
as an attachment.
|
||
|
|
||
|
Do NOT complain about problems with LZMA Utils to Igor Pavlov.
|
||
|
Although the code of LZMA Utils is derived from his code, there are
|
||
|
a lot of changes, which may have introduced bugs not present in
|
||
|
the original version.
|
||
|
|