Apport - Automatic crash reports
What is this all about?
Debugging program crashes without any automated tools has pretty time consuming and hard for both developers and users. Many program crashes remain unreported or unfixed because:
- Many crashes are not easily reproducible.
End users do not know how to prepare a report that is really useful for developers, like building a package with debug symbols, operating gdb, etc.
- A considerable part of bug triage is spent with collecting relevant information about the crash itself, package versions, hardware architecture, operating system version, etc.
- There is no easy frontend which allow users to submit detailed problem reports.
- Existing solutions like bug-buddy or krash are specific to a particular desktop environment, are nontrivial to adapt to the needs of a distribution developer, and do not work for crashes of background servers (like a database or an email server).
Apport is a system which
- intercepts crashes right when they happen the first time,
- gathers potentially useful information about the crash and the OS environment,
- and presents an UI that informs about the crash and instructs the user how to proceed.
We hope that this will lead to a much better level of quality assurance in the future.
How does it look like for users?
I'm a developer. How to I use these crash reports?
report format, apport-retrace
How does it work internally?
kernel patch, crashdump-helper, report, update-notifier, inotify, apport-gtk
port to upstream kernels, separate database, automatic submission
Use the source, Luke!
On Ubuntu, you can use apt-get source apport to get the complete source package.
You can download the source tarball from the [http://archive.ubuntu.com/ubuntu/pool/main/a/apport/ Ubuntu archive].
apport is developed with the [http://bazaar-vcs.org bazaar] RCS on [https://launchpad.net/products/apport Launchpad]. If you want to contribute to it or develop your own system based on it, you can get your own branch with
bzr get http://bazaar.launchpad.net/~ubuntu-core-dev/apport/ubuntu/