How to Report Bugs in LibreOffice
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Glad you made it here. You are about to make an important contribution to LibreOffice. A good bug report is very helpful for our developers. Below, you'll find some guidance to make this process easier.
Como obter un rexistro de strace (en Linux)
Na maioría dos casos abonda con iniciar o aplicativo así:
Class of Bugs | Where to file the bug |
---|---|
LibreOffice Extensions | With the extension author |
TDF/LibreOffice Infrastructure (websites, mailing lists, etc.) | Redmine |
Building LibreOffice | Developer mailing list |
LibreOffice Unit Tests | Developer mailing list |
Words missing from dictionaries | To the dictionary maintainer or repository |
Mistakes in translations | Reporting them in Bugzilla is allowed, but it is more efficient to add them as suggestions in Weblate (does not require registration) |
Como obter un trazado inverso (en Linux)
Confirm that it really is a bug. Most of the time, a bug is something that makes the software behave in a way that a reasonable user would not want it to behave. This includes the software not doing what you want it to do, doing what you never asked it to do, or just plain crashing under normal use. Going behind the scenes, a bug may be something that causes the software to take a lot longer and use a lot more resources doing stuff than it should.
O trazado inverso é útil cando o aplicativo ten un fallo fatal ou cando se conxela. Pode seguir estes pasos:
- Instale os paquetes
libreoffice*-debuginfo
de dispor deles. Se non os ten, o trazado inverso é menos útil, aínda que podería tamén fornecer algo de información cando menos. - Inicie o depurador co binario real e rexistre a saída:
cd /opt/libreoffice/program
gdb ./soffice.bin 2>&1 | tee /tmp/gdb.log
- Dentro do depurador, inicie o aplicativo:
run
Se ten que indicar opcións na liña de ordes do LibreOffice, empreguerun <options>
, como por exemplorun -writer
ourun /path/to/document.odt
- Siga os pasos para reproducir o fallo ou conxelación do aplicativo. Se é que se conxela, ten que premer
CTRL-C
en gdb para que volva a liña de ordes gdb commandline. - Produza o trazado inverso:
backtrace
- Produza o trazado inverso de todos os fíos:
thread apply all bt
- Saia do depurador
quit
- Anexo todo o
gdb.log
ao informe de erro.
Como obter un rexistro de valgrind (en Linux)
O rexistro de valgrind é útil cando o aplicativo ten un fallo fatal ou se conxela e non abonda co trazado inverso. Pode seguir estes pasos:
- Instale os paquetes
libreoffice*-debuginfo
. (de estaren dispoñíbeis e na súa distribución de Linux) - Inicie o depurador co binario rela e rexistre a saída:
cd /opt/libreoffice/program
valgrind --tool=memcheck --num-callers=128 --trace-children=yes ./soffice.bin 2>&1 | tee /tmp/valgrind.log
- Siga os pasos para reproducir o fallo ou conxelación do aplicativo. Teña en conta que normalmente funciona ben co valgrind porque axuda a manter a memoria limpa. En calquera caso, debería detectar o perigo e pór algunha información útil no rexistro. Teña en conta que o valgrind imprime advertencias todo o tempo. Hai que pasar polos pasos problemáticos para que os datos importantes vaian ao rexistro.
- Saia do LibreOffice
- Comprima valgring.log se ten máis de 10kB
bzip2 /tmp/valgrind.log
- Anexe o rexistro ao informe de erro.
- If you selected Extended Help: select the appropriate subcomponent, or the [1] at the bottom of the list if you did not find or do not know the appropriate subcomponent.
- You will see a list of bugs with that subcomponent. At the bottom of the page, select Edit Search. There, you can modify the search according to your needs.
- If you find a bug report that concerns your problem, you can contribute to it. If you don’t find a bug report that concerns your problem, file a new bug report.
- If the bug only occurs on Ubuntu or is related to printing, go to #More Information.
- After all that, if it does not look like there is a bug report about this issue, follow the instructions at #Submitting a bug.
File a separate bug report for each bug you run into, even if the symptoms from a user’s point of view seem identical. Different problems with different roots that appeared in different LibO versions might have to be fixed by different people, for different versions, and at different times. It is impossible to track that in a single bug report.
Go to Bugzilla.
Sign in
If you are prompted to Log In, log in with your Bugzilla account.
If you don't have a Bugzilla account, create one by clicking New Account.
Component
In Component, choose the component.
If you are not sure what component your problem is about, choose the LibreOffice component. Someone will review the bug report later and will choose a more precise component. (For more information about triage, which is reviewing bugs to get the important onces to the top of the list, have a look at "BugTriage".)
If it is an urgent issue (broken parts, regression, etc.), and you are an experienced user who knows the development team, you can assign the bug report to one of the developers listed on the FindTheExpert page.
Details
If there is a Sub-component section, select the subcomponent.
If you don’t know the appropriate subcomponent, go to Components. On that page, click on the appropriate component. Read the descriptions of the all the subcomponents on the page of that component. If you don’t see a suitable subcomponent, click on Extended Help, and read the descriptions of the subcomponents on that page.
Choose the version of the application in which the bug appeared. To check what version of LibreOffice you are using, select
▸In Operating system or OS, choose the operating system of the computer you were using when you met the bug.
If there is a Hardware section, fill it in.
If there is a Severity section and you are reporting a feature request, select enhancement. Otherwise ignore it unless you are experienced. If you want to know the definitions of the items in the Severity section, see this chart.
You can ignore the section latest known-working version.
Subject
Check in possibly related Bugs table on the bug-reporting page and additionally in the Duplicates Table to see whether the problem really has not been reported yet.
In the Subject section (also known as the Summary):
- Do not include information already known from the fields.
- Include the names of subcomponents from Components.
- Make the subcomponents uppercase.
- If the subcomponent can be confused with parts of a word (for example, UI is part of the word quit), surround the subcomponent with square brackets.
- Use at most two subcomponents.
- Use subcomponents exactly as they appear in the list, but you may integrate them into the subject line sentence like “WIKIHELP [UI] not available in all languages”.
- Summarize the problem fairly precisely.
- bad example: “File is broken”
- better example: “Menu File > Save as not available (greyed out)”
- Avoid short forms like “doesn’t” or “isn’t” to ease queries for strings in the Summary; instead, use the full form, such as “does not” or “is not”.
- If the problem written in the report is that LibreOffice crashes or stops responding (“hangs”), add the word CRASH to the Summary, so that these bugs can be located and tracked easily.
Description and attachments
In the Long Description or Description section, give a lengthier, factual description of the problem:
- list the steps to reproduce the bug;
- use a numbered list; and
- state the exact method to make something happen. For example, instead of writing “Open document”, write instead “In new empty LibO Spreadsheet document, use menu File > Open (LibO dialog) > file type “Text documents” > select attached sample document > double click”.
If you’re using a pre-built LibreOffice on Linux, list the exact versions of LibreOffice packages in your package management system. If you’re using Windows, list the exact filename of the installer, and from where it was downloaded.
- Including information about installed and used localization (UI language, document language) might be useful.
- Include whether a 32-bit LibreOffice is used on a 64-bit (Linux) system.
- Include the package source if it’s not the official LibreOffice build.
Write the expected behavior and the actual behavior.
You can include an attachment, such as a screenshot or a sample document. The typical way to take a screenshot is to press the "Print Screen/PrtScn" button on your keyboard. Depending on your operating system, you might have to then open an image editing application (such as Paint on Windows) and do Edit - Paste in it.
- If you create screenshots, switch the language to English before making the screenshot. You can do so in ▸ ▸ ▸ .
- You can make screenshots more useful by adding comments and marking relevant areas with LibreOffice Draw.
- If you want to attach more than one screenshot, you should collect them all in one document (copy / paste to a LibreOffice Draw document) and attach as a PDF. Please add a short comment to each screenshot to tell what you want to demonstrate with it.
- If you attach a sample document that exhibits the bug you are reporting, please make the document as minimal as possible. For example, for Writer bugs, the document should ideally have just a single paragraph. To make it easy to find the text from your document in debug tracing, use some very easily recognizable text, like AAAAAAAAAA ₂ ZZZZZZZZZZ for a bug that is triggered by that character.
- It is preferable to upload attachments individually. However, if you want to attach more than half a dozen documents, create a .zip file containing all documents and attach that .zip.
- If your attachment is too big to be attached in Bugzilla (bigger than 1 MB) you can use the Experimental upload page.
Status
The only time you should change the status to NEW is, if someone already confirmed the bug elsewhere (Ask, mailing list, some forum). In these cases, provide a link to the discussion with the confirmation.
Submit
Click Submit, and your report will be added to the Bugzilla database.
If Bugzilla seems daunting
If the Bugzilla bug tracking system seems daunting or too hard to understand, you should post your problem here:
Even if you post your problem on those channels, your goal should be to get a good bug report on bugzilla. These channels might help you with that. Note, that reporting problems on social media (Facebook, Twitter etc.) is not productive in general as it will rarely lead to a good bug report ending up in bugzilla (see also: 99 ways to ruin an open source project, top 5).
After you submit a bug
If nobody has reviewed your report within an appropriate time (24 hours for a critical bug, 14 days for an enhancement request), consider asking someone else to reproduce your bug report on the users@global.libreoffice.org mailing list or IRC channel #libreoffice IRC://.
Adding comments to bugs
- Avoid posting “me too” comments which contain no additionally useful information.
The exception to this is when you comment on a bug that has been UNCONFIRMED so far. In that case, please provide reproduction steps (or confirm the ones given by the original reporter) and move the issue to status NEW. Note that if there are no clear reproduction steps, the issue might quickly move back to NEEDINFO, so finding a good and simple reproduction scenario is essential. - Refrain from adding comments along the line of “we have 1000 seats here and only this bug prevents us from migrating”, as it contains no additional information relevant to QA or to the priority of the issue.
LibreOffice is open source and your help in fixing issues that are relevant to your particular situation is most welcome. You can:
- Employ and/or teach your own developers to work on LibreOffice. We are most happy to mentor them: see the developer’s pages.
- Fund individuals or companies to work on specific issues - see the list of certified developers.
- Contact The Document Foundation to help you if you have only a small amount of funding, and want to collaborate, coordinate or pool your resources with others in the same situation to fund specific fixes or enhancements.
Good Reports
Minimum requirements
- OS/LibreOffice version;
- enumerated reproducible steps;
- simple attachments where appropriate; and
- observed/expected results.
Good Examples
Examples of Less Good Reports
Reports can be less than ideal for a number of reasons. Below are some of the common problems:
Paragraphs of Text
Describing a bug report in paragraphs of text is one of the most common problems. Developers do not have the time to read paragraphs of text. Clear, succinct, enumerated steps are always better.
One Report, Five Bugs
One report should only have a single bug in it. Grouping bugs, or listing a whole list of issues with a single document, is utterly unhelpful. In order to find developers to tackle issues, it is best to give them a single issue to focus on. They are unlikely to take on a bug that has multiple issues listed
Missing Details/Steps
All bug reports should have at minimum:
- your Operating System and version of LibreOffice;
- clear reproducible steps;
- expected results;
- observed results; and
- a simple attachment where appropriate.
Adding Superfluous Information
Adding a lot of extra details that aren’t relevant is another common problem. Examples include:
- “this is a blocker”;
- a long list of reasons why it’s a blocker;
- “I can’t use LibreOffice because of this bug”;
- “LibreOffice sucks” (or any variation of that); and
- I’m going to start using your competitor unless you fix it.
Complex Attachments
Attachments should be as simple as possible. Take the time to prune your examples to the bare minimum. This helps tremendously in diagnosing problems.
Assuming Contributors Know Everything
Do not assume contributors know what you’re talking about. Describe your steps clearly, each step of the way.