Programs crashing? Airbag helps you practice "safe hex"
Post by Brian Ryner and Mark
Mentovai, Google Software EngineersEvery program, open
source or not, has to cope with crashes - it's just an unfortunate fact of life. Software
developers hate crashes and dream about eradicating them, but sometimes they're difficult to
reproduce. If developers could get reliable and automatic reports when their programs crash,
they'd be able to figure out which ones happen most frequently, and more importantly, be able
to fix them. Writing a system to handle crash reports is a lot of work though, and writing a
crash reporter that works across a variety of hardware configurations and operating systems is
even harder. Wouldn't it be great if someone wrote a crash reporter and made it easy to
integrate into other projects? Wouldn't it be even better if they made an open-source project
out of it?
That's exactly what we're doing here at Google. We like
making developers' lives easier, and like you, we hate crashes.
Airbag is our codename for an open source
project that handles all of the dirty work when it comes to crash reports. Best of all, it
works across several platforms - we've got Windows and Mac working now, and Linux support is
coming soon.
Not everyone needs to know how the stack works on Intel
Macs or how function calls work behind the scenes in Windows, which is why Airbag provides a
simple API to catch crashes in your application and upload crash reports to a server. On the
server side, we've implemented a library that can process the crash reports by matching them
up with debugging symbols, so that users of a program don't need any of these symbols on their
computers, and download sizes stay small. The server library is intended to be integrated into
any kind of server infrastructure - for example, you could use
Apache to collect reports and store them in
MySQL. We were excited to hear that the folks at
Mozilla are
integrating
Airbag into Firefox, and hope it can help them and other open source communities
continually improve the quality of their products.
Check it out!