Open-Source Wikis

/

Gecko

/

Apps

/

Crash reporter

mozilla/gecko-dev

Crash reporter

The Firefox crash reporter is a separate binary that runs out-of-process whenever Firefox crashes. It captures a minidump, lets the user submit it, and uploads to Mozilla's crash backend (Socorro / crash-stats). Source: toolkit/crashreporter/.

Components

Path Role
toolkit/crashreporter/breakpad-client/ Vendored Google Breakpad client used at crash time
toolkit/crashreporter/google-breakpad/ Vendored Breakpad symbol/minidump library
toolkit/crashreporter/client/app/ Modern Rust crash-reporter UI app
toolkit/crashreporter/crash_helper_server/ Rust helper process for crash collection
toolkit/crashreporter/crash_helper_client/ Rust client library used by Firefox
toolkit/crashreporter/minidump-analyzer/ Local symbolication and analysis
toolkit/crashreporter/mozwer-rust/ Windows Error Reporting integration
toolkit/crashreporter/nsExceptionHandler.{h,cpp} The C++ glue that integrates Breakpad with Gecko

How it works

  1. At startup, nsExceptionHandler installs a Breakpad signal handler.
  2. On crash, Breakpad writes a minidump to disk.
  3. The crash helper (out of process) coordinates collection and is spawned for each child-process crash to avoid re-crashing in the dying process.
  4. On next launch, Firefox shows the crash reporter UI (the Rust app under client/app/), letting the user review and submit.
  5. Submitted reports go to Mozilla's Socorro pipeline at crash-stats.mozilla.com.

Why Rust

The newer reporter components (client/app, crash_helper_server, crash_helper_client, mozwer-rust, minidump-analyzer/android/) are written in Rust because crash handling is one of the highest-stakes places in the codebase: a bug in crash code can prevent reports from arriving and hide regressions. Rust's safety properties reduce that risk.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Crash reporter – Gecko wiki | Factory