Improvements to the bucketing system in the crash database

Registered by Evan

In 12.04 we have a fairly simple bucketing algorithm. Taken from apport, it merely concatenates the top of the stack trace with the signal and binary path [1]. It does not make use of apport's bug patterns [2] or hooks [3].

In 12.10, we should provide server-side hooks that in some cases provide additional information to diagnose the issue and in other cases provide part of the unique identifier for the aforementioned set of instances that form a bucket.

Developers will be able to set flags in the crash database service that require clients reporting future instances of a crash that matches a pattern to attach specified additional information.

Care will have to be taken to notify the user that additional information may be collected, while still ensuring that in the absence of an Internet connection, crashes can be processed by the user immediately but uploaded later.

The process of attaching additional information cannot provide an interactive UI.

1: http://bazaar.launchpad.net/~apport-hackers/apport/trunk/view/head:/apport/report.py#L1142
2: http://bazaar.launchpad.net/~apport-hackers/apport/trunk/view/head:/apport/report.py#L793
3: http://bazaar.launchpad.net/~apport-hackers/apport/trunk/view/head:/doc/package-hooks.txt

Evan, please fill out the below section with an explanation of this feature that would be appropriate to include in the Ubuntu release notes.

Release Notes:

Blueprint information

Status:
Not started
Approver:
Steve Langasek
Priority:
Medium
Drafter:
Evan
Direction:
Approved
Assignee:
Evan
Definition:
Approved
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

The workitems for the blueprint are in the main blueprint for the error tracker:
https://blueprints.launchpad.net/ubuntu/+spec/foundations-r-crash-database

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.