User:DarioAndres/Basic Guide about Crash Reporting: Difference between revisions

From KDE TechBase
No edit summary
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Introduction==
==Introduction==


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


==How to create useful crash reports==
(''You can get a detailed document at [http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports How to create useful crash reports]'')
 
===What is a "crash" ?===
 
A crash or (system crash) in computing is a condition where a program (either an application or part of the operating system) stops performing its expected function and also stops responding to other parts of the system. [http://en.wikipedia.org/wiki/Crash_%28computing%29 More information at Wikipedia]
 
==Creating 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.
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.
Line 9: Line 15:
===Description===
===Description===


A description should describe everything that you were doing prior to the crash. It should not just say "it crashed". 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.
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.
 
A more insightful article on how to write good bug descriptions is available [http://www.chiark.greenend.org.uk/~sgtatham/bugs.html at this link], please read that before reporting bugs.
 
==== KDE Platform and Application's version ====


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


If you do not know what KDE 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 <tt>kde4-config --version</tt> in Konsole. You will get an output like this:
If you do not know what KDE Platform version are you using, you can get it:


  Qt: 4.5.3
* Selecting the "About KDE" option in the Help menu of every KDE application
  KDE: 4.3.2 (KDE 4.3.2)
or
* Running the command <tt>kde4-config --version</tt> in Konsole. You will get an output like this:
 
  Qt: 4.6.0
  KDE Development Platform: 4.4.0
  kde4-config: 1.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.}}
{{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 [http://www.chiark.greenend.org.uk/~sgtatham/bugs.html at this link], please read that before reporting bugs.


====Application specific details====
====Application specific details====
Line 38: Line 52:
===Backtraces===
===Backtraces===


Backtraces are ''essential''. They may look meaningless to you, but they might actually contain a wealth of useful information. 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.  
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.
* 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}}
{{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}}
Even though pasting backtraces directly is preferred over adding an attachment, please do not paste other things like logs (valgrind, strace or terminal output) or example data (mails, HTML files and so on). Use attachments for these items.
 
====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.
 
# If you were told to '''install a specific debug information package''', please do it before repeating the crash. ([http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports#Preparing_your_KDE_packages More information ...])
# Repeat the original steps or situation to '''"reproduce" the crash'''
''The application crashes and the KDE Crash Handler dialog appears''
# Click the '''"Developer Information" tab''' in the KDE Crash Handler dialog to fetch a new backtrace
# When finished, '''copy the backtrace and paste it inside the bug report
'''
 
 
'''''Screenshot of the KDE Crash Handler dialog'''''
[[Image:CrashHandler-Drkonqi-kde43.png|400px|center|KDE 4.3+ Crash Handler dialog]]

Latest revision as of 02:35, 1 January 2010

Introduction

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

(You can get a detailed document at How to create useful crash reports)

What is a "crash" ?

A crash or (system crash) in computing is a condition where a program (either an application or part of the operating system) stops performing its expected function and also stops responding to other parts of the system. More information at Wikipedia

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

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

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:

  • Selecting the "About KDE" option in the Help menu of every KDE application

or

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


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

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.

  1. If you were told to install a specific debug information package, please do it before repeating the crash. (More information ...)
  2. Repeat the original steps or situation to "reproduce" the crash
The application crashes and the KDE Crash Handler dialog appears
  1. Click the "Developer Information" tab in the KDE Crash Handler dialog to fetch a new backtrace
  2. When finished, copy the backtrace and paste it inside the bug report


Screenshot of the KDE Crash Handler dialog

KDE 4.3+ Crash Handler dialog
KDE 4.3+ Crash Handler dialog