Breakpad: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (Airbag moved to Breakpad: Google renamed it, so we will too)
(lots of cleanup)
Line 1: Line 1:
= What's Airbag? =
= What's Breakpad? =
Airbag is a crash reporting tool.  This page talks about its implementation for Mozilla.
Breakpad is a crash reporting tool.  This page talks about its implementation for Mozilla.


[http://groups.google.com/group/google-breakpad-discuss/browse_thread/thread/4f40867980fe7452 Airbag is now Breakpad].  This is going to require some cleanup here and elsewhere.
[http://groups.google.com/group/google-breakpad-discuss/browse_thread/thread/4f40867980fe7452 Breakpad used to be Airbag].  I'm cleaning up this page, so hopefully it will suck less!


Our implementation has two parts:
Our implementation has two parts:
* Client integration to handle crash reporting so a central server can aggregate crash data to help improve our products.
* Client integration to handle crash reporting so a central server can aggregate crash data to help improve our products.
* A web interface for viewing and parsing Airbag reports.  We don't have a name yet for this project -- stay tuned (no, Airbag Server System is not an option).
* A web interface for viewing and parsing Airbag reports--We call it [http://code.google.com/p/socorro/ Socorro].


More information about Airbag itself can be found at:
More information about Breakpad itself can be found at:
* [http://code.google.com/p/airbag/ Airbag Project Site]
* [http://code.google.com/p/google-breakpad/ Breakpad Project Site]
* [http://code.google.com/p/airbag/ Airbag Source]
* [http://google-breakpad.googlecode.com/svn/ Breakpad Source]
* [http://groups.google.com/group/airbag-discuss Airbag Discussion Newsgroup]
* [http://groups.google.com/group/google-breakpad-discuss Breakpad Discussion Newsgroup]
* [http://groups.google.com/group/airbag-dev Airbag Dev Newsgroup]
* [http://groups.google.com/group/google-breakpad-dev Breakpad Dev Newsgroup]


= Pages =
= Pages =
* [[Breakpad:Current_Implementation|Current Implementation]] -- The status of what has been implemented so far.
* [[Breakpad:Current_Implementation|Current Implementation]] -- The status of what has been implemented so far.
* [[Airbag:Feature_List|Feature List]] -- What do we want our Airbag web interface to do?
* [[Breakpad:Feature_List|Feature List]] -- What do we want our Breakpad web interface to do?
* [[Airbag:Server_Requirements|Server Requirements]] -- How to set up the web app.
* [[Breakpad:Server_Requirements|Server Requirements]] -- How to set up the web app.
** [[Airbag:Development Planning & Design | Development Planning & Design]]
** [[Breakpad:Development Planning & Design | Development Planning & Design]]
* [[Breakpad/Symbol_Server|Breakpad Symbol Server]]
* [http://zenit.senecac.on.ca/wiki/index.php/Airbag_development_and_server_operation Seneca College Airbag Page] -- Read about Seneca's awesome work with Airbag.
* [http://zenit.senecac.on.ca/wiki/index.php/Airbag_development_and_server_operation Seneca College Airbag Page] -- Read about Seneca's awesome work with Airbag.
* [[Airbag:Name_Ideas|Name Ideas]] -- Suggest a name for Airbag's web interface.
* [[Airbag/Symbol_Server|Airbag Symbol Server]]
= What's Going On =
Just a braindump on what we'll need to replace Talkback with [http://code.google.com/p/airbag/ Airbag].  There's a tracking bug on this now, [https://bugzilla.mozilla.org/show_bug.cgi?id=360327 bug 360327].
# Client-side exception handler - win32 work done ([https://bugzilla.mozilla.org/show_bug.cgi?id=354980 bug 354980]).
# Client-side minidump sender - win32 work done ([https://bugzilla.mozilla.org/show_bug.cgi?id=354980 bug 354980]).
# Server-side minidump collector, CGI to accept POSTed minidump data.  Current plans are just to call the minidump processor directly from this CGI. [http://mavra.perilith.com/~luser/airbag-collector/index.txt My simplistic collector].  [https://bugzilla.mozilla.org/show_bug.cgi?id=358302 bug 358302] covers setting up an official server.
# Server-side minidump processor - Mostly implemented by [http://airbag.googlecode.com/svn/trunk/src/processor/ airbag processor], in the minidump_stackwalk example program, we will probably want to modify that a bit to make the output more machine readable, so we can store it in a DB.
# Build-time symbol extractor - Provided by [http://airbag.googlecode.com/svn/trunk/src/tools/windows/dump_syms/ airbag tools] - win32 work and tinderbox integration done ([https://bugzilla.mozilla.org/show_bug.cgi?id=359151 bug 359151]), and([https://bugzilla.mozilla.org/show_bug.cgi?id=362970 bug 362970]
# [[Airbag/Symbol Server|Server-side symbol store]] - For matching up stackdumps with symbols.
# Server-side webapp to show details of crash reports, like talkback-public currently, will need a database backend
[http://groups.google.com/group/airbag-discuss/browse_thread/thread/2a082e9c8636031c Mento's post] outlines the Airbag project's proposed scope.


Win32 trunk nightlies currently include the airbag code, but it's disabled at runtime by default.  To test it, you will need to set the environment variable <code>MOZ_AIRBAG=1</code>.  Crash reports are currently collected at:
Win32 trunk nightlies currently include the airbag code, but it's disabled at runtime by default.  To test it, you will need to set the environment variable <code>MOZ_AIRBAG=1</code>.  Crash reports are currently collected at:
http://mavra.perilith.com/~luser/airbag-collector/list.pl
http://mavra.perilith.com/~luser/airbag-collector/list.py
 
Some of the Seneca students are [http://zenit.senecac.on.ca/wiki/index.php/Airbag_development_and_server_operation looking into this].


http://benjamin.smedbergs.us/blog/2006-09-12/deploying-the-airbag/
http://benjamin.smedbergs.us/blog/2006-09-12/deploying-the-airbag/

Revision as of 05:35, 8 March 2007

What's Breakpad?

Breakpad is a crash reporting tool. This page talks about its implementation for Mozilla.

Breakpad used to be Airbag. I'm cleaning up this page, so hopefully it will suck less!

Our implementation has two parts:

  • Client integration to handle crash reporting so a central server can aggregate crash data to help improve our products.
  • A web interface for viewing and parsing Airbag reports--We call it Socorro.

More information about Breakpad itself can be found at:

Pages

Win32 trunk nightlies currently include the airbag code, but it's disabled at runtime by default. To test it, you will need to set the environment variable MOZ_AIRBAG=1. Crash reports are currently collected at: http://mavra.perilith.com/~luser/airbag-collector/list.py

http://benjamin.smedbergs.us/blog/2006-09-12/deploying-the-airbag/