Features/Apport

= Apport for Fedora =

THIS PLAN IS OBSOLETE: See Features/CrashHandling

Summary
Apport is a set of tools from the Ubuntu project that can:


 * Gather information about crashed processes
 * Hooks into the kernel using /proc/sys/kernel/core_pattern to catch coredumps
 * Does not require extra libraries like bug-buddy, breakpad, etc.
 * Also has hooks for python tracebacks
 * Supports per-package hooks, so (e.g.) crash reports for Xorg can include xorg.conf and Xorg.0.log
 * Report that information to a crash database
 * Retrace the coredump, adding proper debuginfo symbols
 * Notice duplicate crashes and point users to the existing bug report

More information is available on the Ubuntu wiki: Apport and CrashReporting

Owner

 * Name: WillWoods

Current status

 * Targeted release:
 * Last modified: [[Date(2007-07-17T16:06:04Z)]
 * Percent complete: 75%

Usage cases / rationale

 * See summary

Benefit to Fedora

 * See summary

Testing
Much of the apport code contains unit tests, but here are some short recipes for testing out apport.

Testing the client code (crash handler, reporting GUI)
1. Install  and requires PyQt4, which is not yet available in Fedora. 1. Start the apport service: 1. Enable core dumps by setting the core dump size limit to something reasonable: This will not be necessary once the kernel is patched to improve core handling. 1. Cause a program to crash, e.g. Note that this will not work with most GNOME apps unless you start them with --disable-crash-dialog. ''Isn't there a env var that disables bug-buddy? We should set this when apport is enabled..'' (, the  version will need more care, if >1 module is listed, BastienNocera) 1. Wait a moment for the crash report to appear in 1. Edit   and set This won't be needed in apport-0.91-0.ww2 and later. 1. Run apportd should be in the next apport package - it will do this for you. 1. Wait while the GUI gathers packaging information. 1. Examine and (optionally) send the crash report.

Testing the server code (apport-retrace, tg-crashdb)
TODO.

Dependencies
1.  requires PyQt4

Contingency plan
None needed - this is a new feature and can be safely deferred if it is not ready.

Documentation
Information on installing & enabling apport (and reasons why you would want to do this) would be a good idea.

Release Notes
None needed - this should not be installed or enabled by default in F8 final.

Comments and Discussion
See Talk:Features/Apport