Ubuntu – How to track a bug that caused a crash and was reported via apport / whoopsie

apportbug-reportingwhoopsie

It used to be that when a program crashed, especially when a user was using a pre-release of Ubuntu, apport could be used to open a bug report. The user could then track the bug, see if it affected others, help fix it, etc.

As of Precise 12.04, this behavior and workflow changed. As I discovered in Bug #993450 “Apport fails to submit bug report”, by default apport no longer opens a bug report (and it is awkward but not impossible to get it to do so). At the same time people are noticing a new "whoopsie" process, as described at What is the 'whoopsie' process and what does it do?.

After some more googling, I dug this blueprint up, which describes the whole process:
ErrorTracker – Ubuntu Wiki. (It didn't mention whoopsie or daisy, so I added them – please correct me if I got it wrong).

Wow – this sounds like great work to streamline and improve the crash reporting process.

I'm left with this question: how does a user learn what the status of the problem is?
The blueprint now has this requirement

The user should have some way to check back on the status of their crash report; e.g. have some report ID they can look at to see statistics and/or any associated bug #. E.g. provide a serial number at time of filing that they can load via a web page later on.

which seems unimplemented. Is there anything available in the meantime?

And how does a developer get into the game? Going to https://daisy.ubuntu.com just provides an "Incorrect Content-Type" error message.

Finally, I suggest documenting the apport behavior changes in the Release Notes. It should be of interest to anyone who has been trying to help out Ubuntu.

Best Answer

Thanks for your interest in the Ubuntu error tracker project.

As of Precise 12.04, this behavior and workflow changed. As I discovered in Bug #993450 “Apport fails to submit bug report”, by default apport no longer opens a bug report (and it is awkward but not impossible to get it to do so).

Apport never created bug reports post-release. When a release is still in development you can use apport to file Launchpad bugs (and error reports).

In a final released version of Ubuntu we now show error dialogs. This is a great improvement from a program "going away" without any feedback and the user being left wondering what just happened.

The statistics from the data collected when people choose to send these reports show up on http://errors.ubuntu.com.

I'm left with this question: how does a user learn what the status of the problem is? The blueprint now has this requirement

The user should have some way to check back on the status of their crash report; e.g. have some report ID they can look at to see statistics and/or any associated bug #. E.g. provide a serial number at time of filing that they can load via a web page later on.

I'm going to remove that. That was never the intent. The user interface is careful not to make promises about getting any feedback on the report.

These are not bug reports.

Our intent is to reduce the amount of time it takes for developers to find the most pressing issues, collect the needed information to fix them, and get the fixes to users.

We've solved the problem of finding the most pressing issues. That's the front page of http://errors.ubuntu.com.

Collecting the needed information quickly, and without involving a long feedback loop with users who are experiencing the problem is addressed in foundations-q-bucketing-improvements. The plan is to allow developers to hook into the information collection process server-side. If I need /var/log/syslog but it's not already provided, I just change a setting on http://errors.ubuntu.com and the next person who experiences the error automatically adds it to the data they're sending.

Getting fixes to users quickly is addressed in foundations-q-updates-from-crash-reports. When users submit an error report and that error has already been fixed and released, a dialog will come up asking if they would like to upgrade to the version of the software which fixes the problem they just experienced.

And how does a developer get into the game? Going to https://daisy.ubuntu.com just provides an "Incorrect Content-Type" error message.

http://daisy.ubuntu.com is not intended to be used by humans. It's there for the error reporting daemon (whoopsie) to send reports to.

It would be absolutely wonderful for other people to get involved. I'm currently the only one hacking on this full-time.

There are four parts to the system.

  • Apport, which provides the desktop user interface.
  • Whoopsie, which takes reports (and core dumps) created by Apport and shovels them into the error tracker server, Daisy.
  • Daisy, which collects reports from Whoopsie and processes them. This is the heart of the service. It's what turns the core files into retraced reports and generates the statistics you see on http://errors.ubuntu.com.
  • Errors, which is a Django-based website providing both a human readable view of the data and a RESTful API for working with it.

There is a slightly out-of-date set of scripts under the setup/ directory in lp:daisy that should give you some idea of how the pieces fit together. I've been working on juju charms to replace this. The goal is a single command to deploy the entire infrastructure in the cloud for testing and development.

You can find my email address on Launchpad if you have further development questions.

More info: