From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(move comments to "disucssion" tab)
(move to new category naming)
Line 105: Line 105:

Latest revision as of 18:52, 1 August 2008


[edit] Apport for Fedora

THIS PLAN IS OBSOLETE: See Features/CrashHandling

[edit] 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

[edit] Owner

  • Name: WillWoods

[edit] Current status

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

[edit] Usage cases / rationale

  • See summary

[edit] Benefit to Fedora

  • See summary

[edit] Scope

[edit] Testing

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

[edit] Testing the client code (crash handler, reporting GUI)

1. Install apport and apport-gtk 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.. (GNOME_DISABLE_CRASH_DIALOG=1, the GTK_MODULES version will need more care, if >1 module is listed, BastienNocera) 1. Wait a moment for the crash report to appear in /var/crash 1. Edit /etc/apport/crashdb and set default = 'debug' This won't be needed in apport-0.91-0.ww2 and later. 1. Run /usr/share/apport/apport-gtk 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.

[edit] Testing the server code (apport-retrace, tg-crashdb)


[edit] Dependencies

1. apport-qt requires PyQt4

[edit] Details

Merging Fedora-specific client code upstream Complete
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.
Crash notifier 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.
Packaging/Review In progress- packages here

[edit] Optional

[edit] User Experience

[edit] Contingency plan

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

[edit] Documentation

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

[edit] Release Notes

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

[edit] Comments and Discussion

See Talk:Features/Apport