Features/ABRTF12

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
 
= ABRT =
 
= ABRT =
IMPORTANT NOTE!! -> THIS PROJECT HAS BEEN RENAMED TO ABRT - Automatic Bug Reporting Tool (previously known as CrashCatcher)
 
  
 
== Summary ==
 
== Summary ==
Line 20: Line 19:
 
== 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?-->
* pluginable architecture
+
what is already done:
 
* daemon for detecting crashes
 
* 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
 
* authentication system
* system detecting if binary belongs to our package (PackageKit support)
+
* add-ons for more languages
* add-ons for languages
+
* plugins for reporters, databases of crashes, specific applications
+
* GUI and TUI
+
  
It shouldn't affect any part of Fedora, it's desing allows to easilly disable or remove this application completelly.
+
It shouldn't affect any part of Fedora, its desing allows to easilly disable or remove this application completely.
  
 
== How To Test ==
 
== How To Test ==
Line 53: Line 62:
  
 
-->  
 
-->  
* Install CrashCatcher with C/C++ language plugin.
+
 
* Run some app. This app has to be written in C or C++.
+
== Basic Functionality ==
* kill -s SIGSEGV <pid of app>
+
=== install abrt and plugins ===
* See if CrashCatcher detects it.
+
<pre>$ yum install abrt*</pre>
 +
 
 +
 
 +
=== 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 ==

Revision as of 13:34, 8 July 2009

Contents

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

Basic Functionality

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.