User:DarioAndres/Basic Guide about Crash Reporting

From KDE TechBase

Introduction

This document describes how to create useful bug reports for crashes of KDE applications.

How to create useful crash reports

A good crash report consists of two parts: a description of how to reproduce the crash and a backtrace of the crash. With any of those elements missing, it is very hard (if not impossible) for developers to tackle the problem.

Description

A useful description should contain everything that you were doing prior to the crash. It should not just say "it crashed".

Examples: Did you click on a button, did you open a particular website or file which caused problems? These little details, which may look useless to you, may be useful for the developers, so just write them down.

KDE Platform and Application's version

  • The KDE Platform version is an important detail that is often missing in bug reports.

If you do not know what KDE Platform version are you using, you can get it by selecting the "About KDE" option in the Help menu of every KDE application, or by running the command kde4-config --version in Konsole. You will get an output like this:

Qt: 4.6.0
KDE Development Platform: 4.4.0
kde4-config: 1.0
Note
The crash reporting assistant integrated in KDE 4.3 and later automatically includes the KDE version in your report.


A more insightful article on how to write good bug descriptions is available at this link, please read that before reporting bugs.

Application specific details

For several applications it can be useful to have specific details inside the bug reports:

  • Plasma Desktop: Plasmoids you have in your desktop (both official and unofficial), desktop settings (wallpaper plugin, themes), activities and dashboard configuration.
  • KWin (the windows manager): state of compositing(desktop effects): enabled / suspended / disabled, kind of effects enabled, window decoration.
  • Konqueror: Sites you were visiting, number of opened tabs, plugins you have installed, non-default settings.
  • Dolphin: file view mode, grouping and sorting settings, preview settings, directory you were browsing.
  • Kopete: IM protocols you use, plugins you use.
  • KMail: Mail protocols and account-types you use.
  • KWrite/Kate/KOffice: Type of the document you were editing.
  • Juk/Dragon/Amarok (multimedia players): Type of media (extension and format) you were watching and/or listening to.

Backtraces

Definition: A backtrace basically describes what was happening inside the application when it crashed, in a way that developers may track down where the mess started. They may look meaningless to you, but they might actually contain a wealth of useful information.

  • Don't attach the backtrace to the bug report. Instead, simply paste it. This way it is much easier for developers to search for duplicate reports, because attachments can not be searched.
Note
If you are providing a backtrace in a report which does not belong to you, consider that the report could be unrelated to your crash, even when the symptoms are the same. In such cases, just attach the backtrace as a file, so the bug triagers can check it and say if it is the same crash or not


Generating a new backtrace

To generate a new backtrace you need the application to crash again. This can be achieved repeating the same steps and situation that leaded to the original crash.

  • Install the debug packages mentioned, prior to repeating the crash. (More information)
  • Repeat the situation to reproduce the crash

The application crashes and the KDE Crash Handler dialog appears

  • Click the "Developers Information" tab to fetch a new backtrace
  • When finished, copy the backtrace and paste it inside the bug report
KDE 4.3 Crash Handler Dialog
KDE 4.3 Crash Handler Dialog