Get crash signature from Firefox crash ping
Project description
fx-crash-sig
Symbolicates crash pings and generates signatures.
Take crash ping stack traces and:
- Use Mozilla Symbolication Service symbolication to symbolicate crash ping stack traces
- Use socorro-siggen library to generate a crash signature
Project details:
- Code: https://github.com/mozilla/fx-crash-sig
- Issues: https://github.com/mozilla/fx-crash-sig/issues
- License: MPL v2
- Documentation: This README
Install (from PyPI)
pip install fx-crash-sig
Usage
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
Run this for more command line help:
fx-crash-sig --help
Minimal crash ping structure
The legacy crash ping (the pingsender one--not the glean one) is documented here:
https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/data/crash-ping.html
These are the parts of the legacy 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
API
fx_crash_sig.crash_processor
CrashProcessor
: symbolicates and generates signatures for legacy crash pings__init__
- arg:
max_frames
: int (40) - arg:
api_url
: str (https://symbolication.services.mozilla.com/symbolicate/v5
) - arg:
verbose
: bool
- arg:
get_signature
: Takes a crash ping structure, symbolicates it using Mozilla Symbolication Service, generates a signature, and returns the signature result.- signature
- arg:
crash_ping
: dict - returns:
siggen.generator.Result
- arg:
- signature
symbolicate
: Symbolicates the stack traces in a crash ping structure payload.- signature
- arg:
crash_ping
: dict - returns: symbolicated stack traces
- arg:
- signature
get_signature_from_symbolicated
: Takes the output ofsymbolicate
, generates a signature, and returns the signature result.- signature
- arg:
symbolicated
: dict - returns:
siggen.generator.Result
- arg:
- signature
fx_crash_sig.symbolicate
Symbolicator
: symbolicates stack traces__init__
- arg:
max_frames
: int (40) - arg:
api_url
: str (https://symbolication.services.mozilla.com/symbolicate/v5
) - arg:
verbose
: bool
- arg:
symbolicate
: Symbolicates a single stack trace.- arg:
stack_trace
: dict - returns: symbolicated stack trace
- arg:
symbolicate_multi
: Symbolicates a list of stack traces.- arg:
stack_traces
: list of dicts - returns: list of symbolicated traces
- arg:
Project details
Release history Release notifications | RSS feed
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.2.tar.gz
(36.3 kB
view hashes)
Built Distribution
Close
Hashes for fx_crash_sig-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1884804408964630c26cf6fcdae116dad96584b62ffcdf2714cc2d5116535a5 |
|
MD5 | ef7daad77d71e3997a8e829b9ebefad5 |
|
BLAKE2b-256 | 44a94ac66334e344e62a55b3b21c2ba4508bae0a8e2c342c2b97fcb9ead801ab |