Apport for Fedora
THIS PLAN IS OBSOLETE: See Features/CrashHandling
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
- Name: WillWoods
- Targeted release:
- Last modified: [[Date(2007-07-17T16:06:04Z)]
- Percent complete: 75%
Usage cases / rationale
- See summary
Benefit to Fedora
- See summary
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)
apport-qt requires PyQt4, which is not yet available in Fedora.
1. Start the apport service:
sudo /sbin/service apport start
1. Enable core dumps by setting the core dump size limit to something reasonable:
ulimit -c 100000
This will not be necessary once the kernel is patched to improve core handling.
1. Cause a program to crash, e.g.
sleep 5 & sleep 1; kill -SEGV %1
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..
GTK_MODULES version will need more care, if >1 module is listed, BastienNocera)
1. Wait a moment for the crash report to appear in
/etc/apport/crashdb and set
default = 'debug'
This won't be needed in apport-0.91-0.ww2 and later.
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)
apport-qt requires PyQt4
|Merging Fedora-specific client code upstream
|Kernel patch for improved handling of core dumps to pipes
|In progress - patch submitted upstream
|Implement CrashDB for Fedora
|NEEDINFO - we have a mostly-complete Turbogears crashdb implementation and RH-bugzilla based implementation (see this example bug ). Unsure which to use.
|apportd.c starts with the user's X session and uses inotify to watch /var/crash
|PyQt4 for apport-qt
|Package under review here , but qt-based interface is not required for release.
|In progress- packages here
None needed - this is a new feature and can be safely deferred if it is not ready.
Information on installing & enabling apport (and reasons why you would want to do this) would be a good idea.
None needed - this should not be installed or enabled by default in F8 final.