From Fedora Project Wiki
(Created page with '= ABRT = IMPORTANT NOTE!! -> THIS PROJECT HAS BEEN RENAMED TO ABRT - Automatic Bug Reporting Tool (previously known as CrashCatcher) == Summary == <!-- A sentence or two summari...')
 
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= ABRT =
= ABRT 1.0 =
IMPORTANT NOTE!! -> THIS PROJECT HAS BEEN RENAMED TO ABRT - Automatic Bug Reporting Tool (previously known as CrashCatcher)


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
The tool to help non-power users with bug reporting, making it as easy as a few mouse clicks.  
The tool to help non-power users with bug reporting, making it as easy as a few mouse clicks. This version has a lot of improvements and fixes and is more user friendly.


== Owner ==
== Owner ==
<!--This should link to your home wiki page so we know who you are-->
<!--This should link to your home wiki page so we know who you are-->
* Name: [[User:zprikryl| Zdenek Prikryl]] [[User:jmoskovc| Jiri Moskovcak]]
* Name: [[User:zprikryl| Zdenek Prikryl]] [[User:jmoskovc| Jiri Moskovcak]] [[User:dnovotny| Daniel Novotny]]


<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
* email: zprikryl@redhat.com, jmoskovc@redhat.com
* email: zprikryl@redhat.com, jmoskovc@redhat.com, dnovotny@redhat.com


== Current status ==
== Current status ==
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
 
* Targeted release: [[Releases/11 | Fedora 11]]  
* Targeted release: [[Releases/12 | Fedora 12]]  
* Last updated: 2009-03-05
* Last Updated: 2009-08-03
* Percentage of completion: 100%
* Percentage of completion: 100%


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
This feature semi-automatically provides information about defects and crashes on user system. It collects necessary data about the crash, generates a report with all information and based on user interaction sends it to some bug reporting system. The goal is to have this tool heavily plugin-able - so it can be used for any compiled/scripting language and bug reporting system (trac, BZ, 3rd party bug reporting tool ...)
abrt is a daemon that watches for application crashes. When a crash occurs, it collects the crash data (core file, application's command line etc.) and takes action according to the type of application that crashed and according to the configuration in the abrt.conf configuration file. There are plugins for various actions: for example to report the crash to Bugzilla, to mail the report, to transfer the report via FTP or SCP, or to run a specified application.  


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
Ease of bug reporting and quick response from maintainers based on info from CrashCatcher should make Fedora more stable and thus more attractive for users.
Ease of bug reporting and quick response from maintainers based on info from abrt should make Fedora more stable and thus more attractive for users.


== Scope ==
== Scope ==
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
what has to be done:
what is already done:
* pluginable architecture
* daemon for detecting crashes
* daemon for detecting crashes
* authentication system
* pluginable architecture:
* system detecting if binary belongs to our package (PackageKit support)
** database plugin
* add-ons for languages
** bugzilla plugin (report crash to bugzilla)
* plugins for reporters, databases of crashes, specific applications
** file transfer plugin (transfer crash data via network)
* GUI and TUI
** mailx plugin (send mail when crash happens)
** kernel oops plugin
** RunApp plugin (run arbitrary application when crash happens)
* system detecting if binary belongs to our package
* GUI
* compiled (C/C++) programs support
* Python support


It shouldn't affect any part of Fedora, it's desing allows to easilly disable or remove this application completelly.
further plans:
* improved GUI
* better integration with desktop
* better user authentication system
* add-ons for more languages
* central management
 
It shouldn't affect any part of Fedora, its desing allows to easily disable or remove this application completely.


== How To Test ==
== How To Test ==
Line 55: Line 66:


-->  
-->  
* Install CrashCatcher with C/C++ language plugin.
 
* Run some app. This app has to be written in C or C++.
=== install abrt and plugins ===
* kill -s SIGSEGV <pid of app>
<pre>$ yum install abrt*</pre>
* See if CrashCatcher detects it.
 
 
=== start the daemon (as root) ===
<pre># /etc/init.d/abrt start</pre>
 
 
=== start the notification applet ===
<pre>$ abrt-applet &</pre>
 
 
=== test the functionality ===
Now if something crashes, abrt will
handle the crash. If you want to  
test this, crash something, for example:
 
<pre>
$ xfontsel &
$ killall -6 xfontsel
</pre>
 
An icon will appear in the
notification area.
 
You can now run the GUI:
 
<pre>
$ abrt-gui &
</pre>
 
select the crash, click "report" to report it,
or click "delete" to delete it.
 
Note: for reporting to work, make sure you have a
fully-updated system. Reporting uses -debuginfo
packages, which have to match the version of the
corresponding crashed program's packages. This
also avoids reporting a bug which has already
been fixed in a later version of the software.


== User Experience ==
== User Experience ==
Line 70: Line 118:
* PackageKit
* PackageKit
* PolicyKit
* PolicyKit
* Archer
* sqlite
* sqlite
* gtkmm
* gtkmm
* Python
* Python
* glade
* glade
* to turn abrt on by default, we need to change comps to install abrt by default and no longer install bug-buddy by default, the service needs to be enabled by default, and the applet needs to be autostarted at login
* abrt needs some better icons, request is here: https://fedorahosted.org/design-team/ticket/38


== Contingency Plan ==
== Contingency Plan ==
Line 83: Line 132:
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
* [https://fedorahosted.org/abrt/wiki abrt home page]
* [https://fedorahosted.org/abrt/wiki abrt home page]
* Setup and test docs from the test day: [[QA/Test_Days/2009-02-26]]


== Release Notes ==
== Release Notes ==
Line 90: Line 138:
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
== Comments and Discussion ==
* See [[Talk:Features/YourFeatureName]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
[[Category:FeatureAcceptedF12]]
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- Note that the current Feature guidelines require useful Scope and Test Plans at certain milestones; QA is responsible for checking these, and will change this category as needed. -->

Latest revision as of 10:53, 3 August 2009

ABRT 1.0

Summary

The tool to help non-power users with bug reporting, making it as easy as a few mouse clicks. This version has a lot of improvements and fixes and is more user friendly.

Owner

  • email: zprikryl@redhat.com, jmoskovc@redhat.com, dnovotny@redhat.com

Current status

  • Targeted release: Fedora 12
  • Last Updated: 2009-08-03
  • Percentage of completion: 100%

Detailed Description

abrt is a daemon that watches for application crashes. When a crash occurs, it collects the crash data (core file, application's command line etc.) and takes action according to the type of application that crashed and according to the configuration in the abrt.conf configuration file. There are plugins for various actions: for example to report the crash to Bugzilla, to mail the report, to transfer the report via FTP or SCP, or to run a specified application.

Benefit to Fedora

Ease of bug reporting and quick response from maintainers based on info from abrt should make Fedora more stable and thus more attractive for users.

Scope

what is already done:

  • daemon for detecting crashes
  • pluginable architecture:
    • database plugin
    • bugzilla plugin (report crash to bugzilla)
    • file transfer plugin (transfer crash data via network)
    • mailx plugin (send mail when crash happens)
    • kernel oops plugin
    • RunApp plugin (run arbitrary application when crash happens)
  • system detecting if binary belongs to our package
  • GUI
  • compiled (C/C++) programs support
  • Python support

further plans:

  • improved GUI
  • better integration with desktop
  • better user authentication system
  • add-ons for more languages
  • central management

It shouldn't affect any part of Fedora, its desing allows to easily disable or remove this application completely.

How To Test

install abrt and plugins

$ yum install abrt*


start the daemon (as root)

# /etc/init.d/abrt start


start the notification applet

$ abrt-applet &


test the functionality

Now if something crashes, abrt will handle the crash. If you want to test this, crash something, for example:

$ xfontsel &
$ killall -6 xfontsel

An icon will appear in the notification area.

You can now run the GUI:

$ abrt-gui &

select the crash, click "report" to report it, or click "delete" to delete it.

Note: for reporting to work, make sure you have a fully-updated system. Reporting uses -debuginfo packages, which have to match the version of the corresponding crashed program's packages. This also avoids reporting a bug which has already been fixed in a later version of the software.

User Experience

  • If an application crashes, the user is notified by a trayicon (or a message in a log) and a simple wizard will act as a guide through the bug reporting process. All required information is gathered automatically so bug reporting should be easy even for less experienced users.

Dependencies

  • dbus
  • gtk2
  • PackageKit
  • PolicyKit
  • sqlite
  • gtkmm
  • Python
  • glade
  • to turn abrt on by default, we need to change comps to install abrt by default and no longer install bug-buddy by default, the service needs to be enabled by default, and the applet needs to be autostarted at login
  • abrt needs some better icons, request is here: https://fedorahosted.org/design-team/ticket/38

Contingency Plan

None necessary, revert to previous release behaviour :)

Documentation

Release Notes

There is no simple tool for debugging programs and reporting bugs in Fedora and providing usefull information needed by package maintainer to fix a bug is often time-consuming and sometimes out of the skill range of an ordinary Fedora user. This tool should fill this gap and help users to fill a report with all required information in just a few mouse clicks.


Comments and Discussion