The Socorro crash ingestion pipeline handles incoming crash reports for Mozilla products. Crash reports are collected, processed, and available for search and analysis using the Crash Stats web site.
Socorro supports specific products. If the product isn’t supported, then the Socorro collector will reject those crash reports.
You need to set up a crash reporting client and handler and hook it into your code.
There’s documentation on how this works in Firefox here:
There’s documentation on how this works for Android products like Fenix here:
Crash annotations are listed and described here:
To request a new product be added, please file file a bug report.
In the bug report, please specify the following things:
The name of the product as you want it to show up in the Crash Stats web interface.
ProductNamevalue in the crash reports.
Make sure crash reports for your product follow our guidelines. Otherwise Crash Stats and crash analysis may not work.
If you have any questions, please ask in #crashreporting matrix channel.
Incoming crash reports have a
ProductName which specifies which product the
crash report came from.
Incoming crash reports for Firefox desktop have a
ProductName value of
Firefox. The Firefox crash reporter sets this using the value
Incoming crash reports for GeckoView-based products have
ProductName set to
the app name argument when setting up
MozillaSocorroService. See the
documentation for MozillaSocorroService
Version annotation specifies the version of the application that crashed.
Socorro supports two version formats:
Firefox versioning. Examples: 90.0, 90.0.1, 90.0a1, 90.0rc2, 90.0b2
Semantic versioning. Examples: 90.0.0, 90.0.0-alpha.1,
Please use one of those formats. If you use something different, then Crash Stats will likely have difficulties calculating featured versions.
The version is used to populate the version menu and determine featured versions in the Crash Stats site.
Firefox, Thunderbird, and SeaMonkey use the Firefox versioning scheme.
The Socorro processor fixes the version for incoming crash reports for Firefox
beta release channel by adding a
b and then a beta number like
For example, 90.0b1.
The Socorro processor fixes the version for incoming crash reports for ESR
releases by adding
esr to the version.
Fenix version numbers use semantic versioning except the nightly channel.
The Socorro processor changes the version of older Fenix nightly crash reports
Nightly YYMMDD HH:MM to
Current Fenix nightly crash reports use the same version as GeckView that the
build ships with. The version for that uses the Firefox versioning scheme. For
For other annotations, refer to https://hg.mozilla.org/mozilla-central/file/tip/toolkit/crashreporter/CrashAnnotations.yaml.
For adding new annotations see Crash Annotations.
Crash report data falls under category 4 of our data collection categories because it contains information about the state of the application when it crashed including memory dumps.
Collection of this data should default to off and requires user notice for consent, share what will be sent, and allow a user to decline sending.
Socorro supports product details files in the mozilla-services/socorro repository.
You can use this to manually set featured versions. This is helpful if Socorro isn’t calculating them right because of bad data or extenuating circumstances.
For more details, see the product details README.
There are two ways to do this:
product_detailsfile AND delete all the crash report data in AWS S3 and Elasticsearch for that product, OR
product_detailsfile description to reflect that support has ended, wait for the data to expire, and then delete the
If you remove the
product_details file without deleting the data, then
people will get HTTP 500 errors when trying to visit crash reports that are
still in the system for the unsupported product. Links will continue to be in
signature reports and elsewhere.