From Fedora Project Wiki
No edit summary
No edit summary
Line 30: Line 30:
* daemon for detecting crashes
* daemon for detecting crashes
* pluginable architecture:
* pluginable architecture:
  ** database plugin
** database plugin
  ** bugzilla plugin (report crash to bugzilla)
** bugzilla plugin (report crash to bugzilla)
  ** file transfer plugin (transfer crash data via network)
** file transfer plugin (transfer crash data via network)
  ** mailx plugin (send mail when crash happens)
** mailx plugin (send mail when crash happens)
  ** kernel oops plugin
** kernel oops plugin
  ** RunApp plugin (run arbitrary application when crash happens)
** RunApp plugin (run arbitrary application when crash happens)
* system detecting if binary belongs to our package
* system detecting if binary belongs to our package
* GUI
* GUI
Line 63: Line 63:
-->  
-->  


== Basic Functionality ==
=== install abrt and plugins ===
=== install abrt and plugins ===
<pre>$ yum install abrt*</pre>
<pre>$ yum install abrt*</pre>

Revision as of 13:35, 8 July 2009

ABRT

Summary

The tool to help non-power users with bug reporting, making it as easy as a few mouse clicks.

Owner

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

Current status

  • Targeted release: Fedora 12
  • 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

possible plans:

  • authentication system
  • add-ons for more languages

It shouldn't affect any part of Fedora, its desing allows to easilly 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
  • Archer
  • sqlite
  • gtkmm
  • Python
  • glade

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.