At one point or another, every technology user has experienced an
application crash.
In many cases trying to determine the exact cause of the crash can be as
frustrating as the crash itself. Identifying the causality for crashes is a
critical aspect of fixing the crash condition and making sure it doesn’t
re-occur.
That’s where Google’s open source Airbag project comes in. According to
Google, Airbag is a set of client and server components that implements a crash-reporting system.
Airbag is made up of client-side libraries, a
server-side processor library and build tools. In a discussion-list posting,
Google Software Engineer Mark Mentovai explained that the client-side
libraries generate dumps and assist in sending them to a crash server.
The server-side process library in turn reads the crash dumps and transforms them into information that is useful for debugging. The build
tools are able to make sense of native debugging information, turning the
data into a format that is understandable by the processor.
Currently the airbag project has no formal milestone releases on its Google Code page. That’s not to
say it doesn’t have any users, or downloadable components for that matter.
Developers can pull airbag components from the project’s
Subversion (SVN) source control code repository.
Metovai told internetnews.com that the plan is to release a tarball
files, once the project has reached the point that Google deems it stable
enough for public consumption.
“Because our project is
so developer-centric, we don’t feel compelled to provide a tarball too soon
— the portion of our target audience that’s comfortable with using
in-development software is most likely also comfortable with source control
systems like Subversion,” Mentovai said.
Though the project doesn’t yet have a downloadable tarball, there are
expectations and an informal plan for what may constitute a future 1.0
release of airbag. Chief among is multi-platform capability.
“For 1.0, we imagine that we’ll be stable on all of our target platforms –
Mac ppc, Mac x86, Windows x86, and Linux x86,” Mentovai noted. “We think
we’re just about there on Windows, we’re there minus a couple of things to
clean up on the Mac, and we’re now turning our attention to Linux.”
“We don’t have a formal roadmap, but we do have an informal mission
statement,” Mentovai added. “Which is to provide a set of crash reporting
libraries that can be integrated into a large project, namely, Firefox.”
To date, Mozilla has been using the closed-source Talkback crash reporter
for Firefox. In a recent blog posting Mozilla developer Benjamin Smedbergs
reported that Mozilla was working with Google in order to incorporate Airbag
into a new Mozilla crash reporting mechanism.
“Firefox and other Mozilla-based applications can combine symbol information
from multiple sources, including the XULRunner runtime, application
binaries, extensions, plugins, and perhaps even some system libraries,”
Smedbergs wrote. “It will hopefully allow us to collect stack information
from some kinds of runtime assertions, not just crashes.”
It’s still early days for Google’s Airbag project, and the company hasn’t done much outreach to date.
“There’s a good deal of community interest, but not so much in the way of
community participation yet, Mentovai said. “Up until now, though, we
haven’t reached out beyond Mozilla, so people haven’t really had much of a
chance to hear about us other than by word of mouth — or by well-crafted
Google searches.”