[FFE] crashdb.conf needs a way to disable reporting of particular problem types

Bug #968121 reported by Martin Pitt on 2012-03-29
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
Martin Pitt
Martin Pitt

Bug Description

This splits out the part of bug 957177 which is required for Precise.

Right now Apport only supports sending reports to one crashdb. Right before release we used to entirely disable apport in /etc/default/apport.

With whoopsie we actually have two crash DBs now, which we want to send reports to at the same time. After release we want to stop sending crash reports to Launchpad, but continue to send crash reports to the whoopsie DB. But as we want to continue sending non-crash bugs (ubunt-bug ...) to Launchpad, we can't just entirely disable the launchpad crash database in /etc/apport/crashdb.conf.

whoopsie support is currently bolted on at the side in Apport. It would be more elegant to create an actual whoopsie CrashDB backend, and then change /etc/apport/crashdb.conf to send to multiple DBs at the same time (e. g. launchpad+whoopsie during development, and just whoopsie post-release). The full and elegant solution is tracked in bug 957177 for the Q cycle.

For a minimal solution in precise, we need a new "problem_types" CrashDB option, which is a list of "ProblemType" values this crashdb accepts. So after release, the launchpad DB could say "problem_types: ['Bug', 'Package']" if we don't want LP bug reports for crashes any more. Before release, this option would not be set, so that launchpad gets all types of reports.

Martin Pitt (pitti) wrote :

Requesting a FFE for this. This is necessary if we want to keep apport enabled post-release without sending crashes to Launchpad, to allow whoopsie to continue to work. This bit was forgotten in the original discussions and merge.

summary: - crashdb.conf needs a way to disable reporting of particular problem
- types
+ [FFE] crashdb.conf needs a way to disable reporting of particular
+ problem types
Changed in apport (Ubuntu Precise):
importance: Undecided → High
status: New → Triaged
status: Triaged → New
Martin Pitt (pitti) wrote :

Fixed in trunk: http://bazaar.launchpad.net/~apport-hackers/apport/trunk/revision/2260

I added test cases for the new behaviour, and also manually tested that this does the right thing by adding

  'problem_types': ['Bug', 'Package'],

to /etc/apport/crashdb.conf. With that, "ubuntu-bug coreutils" still sends a report to Launchpad, but with a crash it does not. Whoopsie still sees and sends the crash.

Leaving status as "New" for release team FFE consideration.

Colin Watson (cjwatson) wrote :

Seems sane enough and essentially unavoidable to me. We've gone to all this effort for whoopsie, and much of that was so that we could have a sane way of dealing with crashes post-release.

Changed in apport (Ubuntu Precise):
status: New → Confirmed
Martin Pitt (pitti) on 2012-03-30
Changed in apport (Ubuntu Precise):
status: Confirmed → Fix Committed
assignee: nobody → Martin Pitt (pitti)
Launchpad Janitor (janitor) wrote :

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

apport (2.0-0ubuntu1) precise; urgency=low

  * New upstream release: This is the final 2.0 release, featuring the
    overhauled and simplified GUI, support for whoopsie-daemon, and
    client-side duplicate checking.
    - report.py, anonymize(): Only replace whole words, not substrings.
      (LP: #966562)
    - apport_python_hook.py: Fix filtering of
      org.freedesktop.DBus.Error.NoReply exceptions. (LP: #958575)
    - crashdb.py: When publishing the crash database, cut hash file names
      after quoting, to avoid that the quoting causes them to become too long.
      (LP: #968070) This also uncovered that known() did not actually find any
      signature which contained an URL-quoted character, therefore breaking
      client-side duplicate checking in a lot of cases. Double-quote the file
      name now, as urlopen() unquotes it.
    - Add a new crash database option "problem_types" and a CrashDatabase
      method "accepts(report)". This can be used to stop uploading particular
      problem report types to that database. E. g. a distribution might decide
      to not get "Crash" reports any more after release. Document the new
      option in doc/crashdb-conf.txt.
    - ui.py: Do not upload a report if the crash database does not accept the
      report's type. This behaviour is not really correct, but necessary as
      long as we only support a single crashdb and have whoopsie hardcoded.
      Once we have multiple crash dbs, we need to not even present the data if
      none of the DBs wants the report. See LP #957177 for details.
      (LP: #968121)
    - ui.py: Do not short-circuit information collection if report already has
      a "DistroRelease" field, as the GUIs add that in some cases. Check for
      "Dependencies" instead. This fixes information collection for kernel
      problems (which now has a full GTK GUI test case). (LP: #968488)
  * Merge from trunk:
    - test_ui_gtk.py: Disable package hooks for the tests, as they might ask
      for sudo passwords and other interactive bits, and thus make the tests
 -- Martin Pitt <email address hidden> Fri, 30 Mar 2012 12:38:02 +0200

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

Other bug subscribers