[room] Fwd: Introducing automatic crash reporting in Edgy

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Пн Авг 14 17:16:37 MSD 2006


----- Forwarded message from Martin Pitt <martin.pitt/ubuntu.com> -----

Date: Mon, 14 Aug 2006 09:26:31 +0200
From: Martin Pitt <martin.pitt/ubuntu.com>
To: ubuntu-devel-announce/lists.ubuntu.com
Subject: Introducing automatic crash reporting in Edgy

Hello Ubuntu developers,

Introduction
------------
with today's ubuntu-meta change (which added the 'apport-gtk' package
to ubuntu-desktop), Edgy now has automatic crash reporting [1] [2]. It is
not yet quite as automatic as it could be, since we do not yet have a
proper bug reporting tool, but it should already help developers to
track down crashes more efficiently: 

 * It intercepts crashes right when they happen the first time, which
   spares long sleepless nights for trying to reproduce the crash.

 * The generated reports contain stack traces, a core dump, names and
   versions of the affected package and all of its dependencies,
   information about the OS, /proc, and runtime status. See the spec
   [1] for details. This should reduce the bug report ping-pong for
   common missing information.

These reports are supposed to be attached to bug reports.

Workflow
--------
What happens on a crash due to a segfault, FPE, bus error, and similar
abnormal program terminations:

 * The kernel picks up the uncaught crash signal and calls 'apport'.

 * The apport backend collects useful information and generates a
   report in /var/crash/.

 * update-notifier picks up the new report and calls apport-gtk, which
   informs the user about the new crash report and offers to file a
   bug. This currently spawns the Malone bug page for the affected
   package (in the future this will call our bug reporting tool).

 * The user then decides whether he wants to file a (public or
   private) bug, add the report to an already existing one, or
   to discard the report since it might contain sensitive information.

If a program crashes that does not belong to the current user session,
no notification happens at the moment. However, if you notice crashes,
there should still be a report in /var/crash/ (owned by the user of
the crashed process).

apport only generates reports for programs that belong to an installed
package.

Debug symbols
-------------
In general, the backtraces in the generated reports will not have
debug symbols. There is another specification [4] which, when fully
implemented, will provide the debug symbols for all packages on a
publicly accessible place in the form of 'ddebs (debug .deb packages).
Until Launchpad supports them natively, we will soon have an
intermediate solution for publishing them (they are already generated
on the buildds, but currently thrown away).

However, many packages already have a -dbg package, and you can also
rebuild a package locally with 'pkg-create-dbgsym' installed to get
the .ddebs.

Once you have the debug symbols installed on your box, you can flesh
out the backtraces of an apport report with a tool that is also
shipped in the apport package:

  apport-retrace <crash report>

This tool has some options to display the stack trace on stdout
instead of modifying the report (-s) and to remove the core dump from
the report to save space (-c). Please see

  apport-retrace --help

for some details.

In the (distant) future, this process should be automated on some
Ubuntu server.

Known caveats
-------------
 * Crashes in Gnome programs are currently intercepted by libgnomeui
   and bug-buddy. This is being worked on, so that apport will be used
   for Gnome as well.
 
 * If you configured your browser to open new pages in new tabs
   instead of new windows, and you already have an open browser window
   on a different virtual workspace, then you will not see anything
   happen when the bug reporting dialog opens and asks to file a bug.
   I do not see an easy solution for this which does not override the
   Gnome configuration. Suggestions welcome.

 * While apport collects data, the crashed application is frozen for
   quite a long time. This is on the TODO list already.

Feedback
--------

Suggestions, critics, bug reports, and other feedback is welcome!
Please use our bug tracker [3] where appropriate, or mail
ubuntu-devel/lists.ubuntu.com for feature discussions.

Thanks for your attention,

Martin

[1] https://wiki.ubuntu.com/AutomatedProblemReports
[2] https://wiki.ubuntu.com/CrashReporting
[3] https://launchpad.net/distros/ubuntu/+source/apport/+bugs
[4] https://wiki.ubuntu.com/AptElfDebugSymbols

-- 
Martin Pitt        http://www.piware.de
Ubuntu Developer   http://www.ubuntu.com
Debian Developer   http://www.debian.org

In a world without walls and fences, who needs Windows and Gates?


----- End forwarded message -----

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/



Подробная информация о списке рассылки smoke-room