Breakpad: Difference between revisions

2,051 bytes removed ,  17 April 2020
update this insanely old page
(update this insanely old page)
 
(33 intermediate revisions by 14 users not shown)
Line 1: Line 1:
= What's Airbag? =
= Breakpad Integration into Mozilla =
Airbag is a crash reporting tool.  This page talks about its implementation for Mozilla.


Our implementation has two parts:
Breakpad is a set of libraries for client-side crash reporting.  This page talks about integrating breakpad with Mozilla products. [http://groups.google.com/group/google-breakpad-discuss/browse_thread/thread/4f40867980fe7452 Breakpad was formerly called airbag]. The libraries are being developed as a [http://groups.google.com/group/google-breakpad-discuss/browse_thread/thread/2a082e9c8636031c narrowly scoped] Google code project. The breakpad libraries do not provide any crash-reporting UI, nor do they provide a server.
* 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).


More information about Airbag itself can be found at:
Our implementation has multiple parts:
* [http://code.google.com/p/airbag/ Airbag Project Site]
* crash reporter: Client integration to handle crash reporting so a central server can aggregate crash data to help improve our products.
* [http://code.google.com/p/airbag/ Airbag Source]
* crash ingestion pipeline:
* [http://groups.google.com/group/airbag-discuss Airbag Discussion Newsgroup]
** collector (Antenna) that collects incoming crash reports
* [http://groups.google.com/group/airbag-dev Airbag Dev Newsgroup]
** processor (Socorro) that processes crash reports including walking the stack in the minidump and symbolicating it
* crash analysis tools
** Crash Stats webapp (Socorro) for searching, viewing, and investigating crash reports
** myriad of other tools based that use the Crash Stats API and Telemetry tools


= Pages =
More information, source code, and mailing lists for breakpad library development can be found at the
* [[Airbag:Feature_List|Feature List]] -- What do we want our Airbag web interface to do?
[http://code.google.com/p/google-breakpad/ Breakpad Project Site].
* [[Airbag:Server_Requirements|Server Requirements]] -- How to set up the web app.
** [[Airbag:Development Planning & Design | Development Planning & Design]]
* [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 =
See [[Socorro]] for more information on Crash Stats, the crash ingestion pipeline, and Socorro.


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]).
= Integration Team =
# 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.
Contact the team on #breakpad channel on Matrix.
 
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
 
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/
Confirmed users
537

edits