Crash! Bang! Boom!

If you were one of the lucky users who tried to do a nightly update on Windows between 5am and 11am PDT Tuesday morning, you were probably treated to this dialog when you launched your new Firefox:

Crash! Bang! Boom!

Because the new crash-reporting UI had just been landed, people on the forums assumed that the new crash reporter UI was malfunctioning, but actually it was doing its job perfectly. It turns out that there was actually a startup crash on many Windows systems. What’s even more exciting is that this kind of crash is not caught by the Talkback crash reporting system because of the sequence of how we load XPCOM components.

The Breakpad/Socorro crash reporting project has really come together in the past few weeks. After a lot of pain and frustration, Morgamic and I concocted a database schema that is scalable and efficient. We have been building the basic pieces of a reporting app that will allow QA and developers to analyze crash data. Sayrer has spent untold hours getting Socorro ready for initial deployment, and then dealing with a set of problems1 that are still being diagnosed and fixed. Aravind has been patiently dealing with a new deployment of a complicated three-part application which is rough around the edges. Luser and dcamp rushed to get the client UI in usable shape from beltzner’s mockup, which we got landed 5 minutes before this morning’s nightly builds.

This is a major milestone, and I am really proud of the team that has come together to make this all happen.

Status Update

What’s Next?

There’s still a lot to be done. There are lots of reports we need on the server, and many more features that would be nice. Sancus, ispiked, and jay are on board to help develop the server, but we could use more help!

If you are interested in helping, or just have questions, feel free to stop by the #breakpad channel on irc.mozilla.org, or post to mozilla.dev.quality.

Socorro server pieces and interactions.

Notes

  1. Deploying a web app is really hard. Production environments are hard to replicate on local testing servers: NFS mounts, tightly controlled versions, heavy loads, secured databases, and real-world data are hard to come by. #

Atom Feed for Comments 6 Responses to “Crash! Bang! Boom!”

  1. James Napolitano Says:

    Because the new crash-reporting UI had just been landed, people on the forums assumed that the new crash reporter UI was malfunctioning, but actually it was doing its job perfectly. It turns out that there was actually a startup crash on many Windows systems. What’s even more exciting is that this kind of crash is not caught by the Talkback crash reporting system because of the sequence of how we load XPCOM components.

    Sounds like a case of “The patient died, but the operation was a success”!

    We need a statistician. I am especially looking for someone who is skilled at identifying statistical anomalies over time in a fairly large set of data, for reports such as “Help me reproduce this crash” and “Find new crash regressions”.

    I’m not a statistician, but I did dual major in math and physics in college. I’m also experienced in numerical computing and creating efficient numerical algorithms. I’d have to review my textbook from my probability and statistics course a lot, but I might be able to help.

    What type of statistics/anomalies would be you be needing/looking for? What language should the code be written in?

  2. Tommy Says:

    It still gives that error here, even after updating to the latest trunk version. Is there any way to disable breakpad and enable talkback and see what’s going on? Installing the very same version on a ‘clean’ machine just works fine, so probably some file left somewhere or a registry thing…

  3. Benjamin Smedberg Says:

    Tommy, that particular startup crash cannot be caught by Talkback, because talkback registers itself during XPCOM startup after that crash would take place.

    It’s almost certainly a problem with some particular font on the machine.

  4. Home of KaiRo: Break SeaMonkey at a pad near you! Says:

    […] named this tool Breakpad (it’s something like a pad to land safely on when the app breaks). After Firefox has been using/testing the new framework for a while, SeaMonkey now has switched over Nightly builds from Talkback to […]

  5. Break SeaMonkey at a pad near you! · Get Latest Mozilla Firefox Browsers Says:

    […] Firefox has been using/testing the new framework for a while, SeaMonkey now has switched over Nightly builds from Talkback to […]

  6. Mark Finkle’s Weblog » Crash Reporting Comes to Firefox Mobile Says:

    […] by the same Breakpad system as desktop Firefox. While desktop Firefox has been using Breakpad since Firefox 3.0, it was only recently ported to the ARM architecture of the Nokia […]

Leave a Reply