FFE: chroot-less apport-retrace

Bug #832740 reported by Martin Pitt
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apport (Ubuntu)

Bug Description

The apport-retrace version in current oneiric only knows how to re-process a crash report in the installed system, and needs packages and ddebs being installed in the running system. For developers this is rather inconvenient, but mostly this tool has been used in the data center on the porter machines, using fakechroot and fakeroot. Maintenance of this has been very high, as fakechroot is very brittle, and the chroots had to be fixed/hacked a lot.

As fakechroot now has stopped working pretty much completely in oneiric (presumably somewhere in between multiarch and new glibc ABI), I finally reengineered the entire thing to use some current gdb features and stop using chroots completely. It now just needs a temporary directory and dpkg-deb -x'es packages into that sandbox.

With that, the apport retracer is now running happily in the DC again. I also did the remaining cleanup (manpage updates, etc.), and merged the new branch into trunk:


I would like to get this packaged into oneiric as well, so that developers can use apport-retrace to reprocess crash reports they are interested in without always having to clutter their system by installing lots of extra packages temporarily.

This does not change the reporting side at all, just the apport-retrace binary package (which we don't even install by default). This will drop the apport-chroot tool (as it's now rather useless), and ship the improved apport-retrace with the new --sandbox mode.

Note that this isn't a blocker for the retracers, I use the trunk branch in the data center.

Related branches

Martin Pitt (pitti)
description: updated
Revision history for this message
Scott Kitterman (kitterman) wrote :

Ack. APproved. Please go ahead.

Changed in apport (Ubuntu):
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apport - 1.22-0ubuntu1

apport (1.22-0ubuntu1) oneiric; urgency=low

  [ Brian Murray ]
  * data/general-hooks/ubuntu.py: generate a DuplicateSignature tag for
    distribution upgrades too.

  [ Martin Pitt ]
  * New upstream release:
    - Completely rework apport-retrace to use gdb's "debug-file-directory" and
      "solib-absolute-prefix" settings and only unpack the necessary packages
      in a temporary directory. This makes it possible to use it in a running
      system without actually touching installed packages, does not need any
      root privileges, and stops the requirement of using chroots with
      fakechroot and fakeroot. This is a lot easier to maintain and use, and a
      lot faster, too. As a consequence, drop the chroot module, and update
      crash-digger accordingly. See "man apport-retrace" for the new usage.
      It is now also easier to port to other packaging backends, as a lot of
      the common logic moved out of the packaging API;
      packaging.install_retracing_packages() got dropped in favor of the
      simpler packaging.install_packages(). (LP: #832740)
    - launchpad.py: When searchTasks() times out, exit with 99 as this is a
      transient error.
    - crash-digger: Intercept OverflowError from downloaded compressed
    - crash-digger: Show how many bugs are left in the pool with each new
  * Drop debian/local/apport-chroot and manpage, and ubuntu-fat-chroot. These
    are obsolete now with the new apport-retrace.
  * Drop debian/local/setup-apport-retracer: Most of it is obsolete now,
    setting up a retracer merely needs an lp:apport checkout and creating an
    apt sources file, we don't need a script for that any more.
  * data/general-hooks/ubuntu.py: Fix invalid "continue" statement in
    DuplicateSignature code. (LP: #828037)
 -- Martin Pitt <email address hidden> Thu, 25 Aug 2011 16:31:37 +0200

Changed in apport (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers