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

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.1.tar.gz (35.6 kB view hashes)

Uploaded source

Built Distribution

fx_crash_sig-1.0.1-py3-none-any.whl (35.5 kB view hashes)

Uploaded py3

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