openSUSE:Bugreport LO

Jump to: navigation, search


This article covers how to file LibreOffice bug reports.

LibreOffice Bug Reports

Bugs in libreoffice packages from the official openSUSE distribution, and also from the LibreOffice:Stable and LibreOffice:Unstable BS projects, should be reported into the Novell bugzilla for the product "LibreOffice". or the upstream BugZilla: https://bugs.documentfoundation.org/

What to include in bug reports

The following information help us to reproduce or locate the problem and thus the fix might be available earlier for you:

  • system version and architecture, e.g. openSUSE-10.2-x86_64
  • desktop, e.g. KDE or GNOME
  • LO tag, e.g. "Tag libreoffice-3.3.0.4". Get it from the last line of the dialog "Help/About LibreOffice".
  • 32-bit OOo is used on x86_64 system
  • the package is updated from the Build Service
  • steps to reproduce the problem
  • other useful details (e.g. screenshots, backtrace, strace)

How to get strace log

In most cases, it is enough to start the application the following way:

strace -o /tmp/strace.log -f -tt -s 512 libreoffice

Then please do the steps to reproduce the problem and quit the application. The command libreoffice might be replaced with any other, e.g. lowriter. Please, compress the log before it is attached to the bug report:

bzip2 /tmp/strace.log

If the 32-bit LO is running on 64-bit system, you need to install the package strace-32bit and start the 32-bit binary directly:

cd /usr/lib/libreoffice/program
strace32 -o /tmp/strace.log -f -tt -s 512 ./soffice.bin

How to get backtrace

The backtrace is useful when the application crashes or freezes. You might use the following steps:

  1. Install the libreoffice*-debuginfo packages. Note that you need to add the debug repository for the original openSUSE packages.
  2. Start the debugger with the real binary and log the output:
    cd /usr/lib/libreoffice/program
    gdb ./soffice.bin 2>&1 | tee /tmp/gdb.log
    You need to use /usr/lib64 instead of /usr/lib with 64-bit OOo.
  3. Inside the debugger, start the application:
    run <options>
  4. Do the steps to reproduce the application crash or freeze. If the freeze is the case, you need to press CTRL-C to get the gdb commandline back.
  5. Print backtrace:
    backtrace
  6. Print backtrace of all threads:
    thread apply all bt
  7. quit the debugger
    quit
  8. Attach the whole gdb.log to the bug report.

How to get valgrind log

The valgrind log is useful when the application crashes or freezes and the backtrace is not enough. You might use the following steps:

  1. Install the libreoffice*-debuginfo packages. It is available either in the debug repository for the original package or in the additional LibreOffice:Stable or LibreOffice:Unstable repository if you have updated from it.
  2. Start the debugger with the real binary and log the output:
    cd /usr/lib/libreoffice/program
    valgrind --tool=memcheck --num-callers=128 --trace-children=yes ./soffice.bin 2>&1 | tee /tmp/valgrind.log
    You need to use /usr/lib64 instead of /usr/lib with 64-bit LO.
  3. Do the steps to reproduce the application crash or freeze. Note that it usually works fine with valgrind because it helps to keep the memory clean. Anyway, it should detect the danger and put some useful information to the log. Note that valgrind prints many warnings all the time. You really need to do the problematic steps to put the important data into the log.
  4. Quit LO
  5. Please, compress the valgring.log if it is bigger that 10kB
    bzip2 /tmp/valgrind.log
  6. Attach the log into to the bug report.