Breakpad: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(update this insanely old page)
 
(39 intermediate revisions by 15 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.


In particular we are working on a web interface for viewing and parsing Airbag reportsWe don't have a name yet for this project -- stay tuned (no, Airbag Server System is not an option).
Breakpad is a set of libraries for client-side crash reportingThis 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.


More informationabout 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.


= 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/

Latest revision as of 17:43, 17 April 2020

Breakpad Integration into Mozilla

Breakpad is a set of libraries for client-side crash reporting. This page talks about integrating breakpad with Mozilla products. Breakpad was formerly called airbag. The libraries are being developed as a narrowly scoped Google code project. The breakpad libraries do not provide any crash-reporting UI, nor do they provide a server.

Our implementation has multiple parts:

  • crash reporter: Client integration to handle crash reporting so a central server can aggregate crash data to help improve our products.
  • crash ingestion pipeline:
    • collector (Antenna) that collects incoming crash reports
    • 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

More information, source code, and mailing lists for breakpad library development can be found at the Breakpad Project Site.

See Socorro for more information on Crash Stats, the crash ingestion pipeline, and Socorro.


Integration Team

Contact the team on #breakpad channel on Matrix.