Symptom based bug reporting

Registered by Rick Spencer on 2009-04-16

Apport package hooks help tremendously to collect specific information for a bug report. However, in some cases it is quite hard for the reporter to figure out which package to file a bug against, especially for functionality which spans multiple packages. For example, sound problems are divided between the kernel, alsa, pulseaudio, and gstreamer.

We provide an extension of the notion of hooks to be symptom based and interactive. "ubuntu-bug" without parameters would then show the available symptoms, and the symptom hooks can do some (limited) interactivity to get more information from the user, and finally figure out which package to file it against and which information to collect.

Blueprint information

Status:
Complete
Approver:
Bryce Harrington
Priority:
High
Drafter:
Martin Pitt
Direction:
Needs approval
Assignee:
Martin Pitt
Definition:
Approved
Series goal:
Accepted for karmic
Implementation:
Implemented
Milestone target:
None
Started by
Martin Pitt on 2009-06-01
Completed by
Martin Pitt on 2009-08-31

Sprints

Whiteboard

Work items:
define interactivity API, write infrastructure in core code (thread handling, etc.): DONE
interactivity GTK implemenation: DONE
interactivity KDE implemenatation: DONE
interactivity CLI implementation: DONE
add apport.hookutils.root_command_output(): DONE
core code infrastructure for symptoms: DONE
document interactive hooks: DONE
document symptoms: DONE
create apport-symptoms package: DONE
write symptom for removable drives: DONE
write release note and test plan: DONE

pitti, 2009-05-29: moving approver to Bryce, since he is one of the most intense consumer of apport hooks

pitti, 2009-06-01: Drafting done; Bryce, please review and approve or set back to drafting and point out what other things you would like to see, or what is unclear. Thanks in advance!

bryce, 2009-06-03: I made a few edits but nothing significant to the design/implementation. One case I'm curious about is if the user specifies a package like 'xorg' or 'linux', but we still want them to define a symptom, how that will be hooked in. Also it would be handy to see an example or two of how this will look to a user. But these are secondary; the overall spec looks good and I'm setting to Approved.

pitti, 2009-06-03: We could prefer symptoms over package names in ubuntu-bug. I. e. if you use the "low-level" interface, "apport-gtk -f -p xorg" -> package, "apport-gtk -f -s xorg" -> symptom. But "ubuntu-bug xorg" would use the symptom if a symptoms/xorg.py exists. There are no screenshots yet, I'm afraid.

pitti, 2009-06-08: Interactive hooks mostly implemented and ready for testing, see http://martinpitt.wordpress.com/2009/06/08/interrogation-with-apport-hooks-qt-developer-needed/

pitti, 2009-06-10: Interactive hooks fully functional, released upstream, uploaded to Karmic, sent to ubuntu-devel-announce.

pitti, 2009-08-05: apport with symptom support in karmic; apport-symptoms package with initial symptom for storage devices is in karmic

(?)

Work Items