Skip to main content

Get crash signature from Firefox crash ping

Project description

fx-crash-sig

Symbolicates crash pings and generates signatures.

Take crash ping stack traces and:

  1. Use Mozilla Symbolication Service symbolication to symbolicate crash ping stack traces
  2. Use socorro-siggen library to generate a crash signature

Project details:

Install (from PyPI)

pip install fx-crash-sig

Usage

Example script:

import json

from fx_crash_sig.crash_processor import CrashProcessor

with open("crashping.json") as fp:
    crash_ping = json.load(fp)

crash_processor = CrashProcessor()

signature_result = crash_processor.get_signature(crash_ping)
print(signature_result.signature)

Command line (using sample.json):

cat sample.json | fx-crash-sig

Minimal crash ping structure

The crash ping is documented here:

https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/data/crash-ping.html

These are the parts of the crash ping we use:

- normalized_os                (optional)
- payload:
  - metadata:
    - async_shutdown_timeout   (optional)
    - ipc_channel_error        (optional)
    - oom_allocation_size      (optional)
    - moz_crash_reason         (optional)
  - stack_traces:
    - crash_info:
      - crashing_thread
      - type
    - modules[]
      - debug_file
      - debug_id
      - filename
      - base_addr
    - threads[]
      - frames[]
         - ip
         - module_index
         - trust

For development

Build:

make build

Lint:

make lint
make reformat

Test:

make test

Release process

  1. Create a release_X_Y_Z branch
  2. Update version in setup.py and update HISTORY.md
  3. Run tests
  4. Push branch to GitHub, create a PR, review it, and merge it
  5. Create a signed tag, push to GitHub:
    git tag -s vX.Y.Z
    git push --tags REMOTE TAGNAME
    
  6. Build and release package files:
    make release
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fx-crash-sig-1.0.0.tar.gz (35.2 kB view hashes)

Uploaded Source

Built Distribution

fx_crash_sig-1.0.0-py2.py3-none-any.whl (35.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page