The content of this page is a work in progress intended for review.
Please help improve the draft!
Ask questions or make suggestions in the discussion
or add your suggestions directly to this page.
This wiki page contains the part of the original PostCrash goal that was decided not going to happen in Q3.
Develop about:crashes into a more useful resource for advanced users, with more info about the crashes upfront (e.g. signature, bug status, support documentation, Firefox fix status, etc) and add relevant pointers/info to Session Restore so people can find it.
Secondary goals (not essential for this project)
Session Restore dialog
We want to make sure that more users are exposed to the already existing troubleshooting info about specific crashes, as well as general tips and advice on how to minimize crashes by keeping plugins up to date, etc.
A good opportunity to do that is just after Firefox resumes from a crash. The Session Restore dialog should check if Firefox has crashed more than x (e.g. 3) times in the last 24 hours. If so, it should at the very least display general tips/advice for avoiding crashes, but it should also query Socorro/SUMO to see if there is specific support available for the crash and show that as well.
The flowchart to the right illustrates the desired logic.
On the SUMO side, there would be specific articles for known crash signatures (this is already the case for many crashes today), as well as a generic checklist guide for things a user should do to avoid crashes.
We want to make about:crashes more useful. Ideally, for each crash we would display:
- the crash id
- the crash signature (source: Socorro)
- associated bugzilla ids (source: Socorro) and status of these bugs (source: Bugzilla or Socorro).
- If a bug is resolved fixed, show the version it was fixed in.
- if a crash is associated with a plugin, link to plugincheck (source: Socorro)
- If a canonical SUMO article exists, a link to that article, otherwise a link to SUMO search for that signature (as is currently done in Socorro)
The client should obtain the extra information from Socorro and SUMO via XHR. This data should be stored locally once final. Final data includes:
- crash signature
- bugzilla ids for RESOLVED bugs
- plugin association
- canonical SUMO links
Data that should be polled each time about:crashes is loaded includes:
- Status of bugzilla bugs that were unresolved last time about:crashes was loaded
- Search for a canonical SUMO article where one previously didn't exist
In order to minimize load on Socorro and SUMO, we will by default only show an expanded view for the most recent crash. Users may individually expand other crashes (something like "check crash status" on each previous crash).
- Should we show both hangs and crashes? Users may load the page and see nothing but hangs. Does it make more sense to (perhaps by default) just show crashes?
Changes to Socorro:
- Add a webservice call. Given crash id, return signature, associated plugin, associated bugzilla id and bug status.
Early idea on a revamped about:crashes page
- The latest crash automatically queries SUMO and Socorro for status info.
- Older crashes might not query the servers automatically to reduce server load.
- To reduce information overload, the crash ID isn't shown, but clicking on the signature takes you to the full report on Socorro.
Some additional thoughts/ideas:
- Would be even better if the page could query SUMO for the full article title and show that instead of "View solution" (the SUMO service should also support l10n to make sure that a localized article title appears if it exists).
- The latest crash could be more prominently highlighted -- perhaps even have a separate section above the "Recent Crash Reports".
- The generic support link at the bottom could be expanded into its own section. The target link could take you to a start page specializing on crash/hang problems, with prominent links for how to upgrade plugins, etc.