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 . 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.