Crash ping ========== This ping is captured after the main Firefox process crashes or after a child process process crashes, whether or not the crash report is submitted to crash-stats.mozilla.org. It includes non-identifying metadata about the crash. This ping is sent either by the ``CrashManager`` or by the crash reporter client. The ``CrashManager`` is responsible for sending crash pings for the child processes crashes, which are sent right after the crash is detected, as well as for main process crashes, which are sent after Firefox restarts successfully. The crash reporter client sends crash pings only for main process crashes whether or not the user also reports the crash. The crash reporter client will not send the crash ping if telemetry has been disabled in Firefox. The environment block that is sent with this ping varies: if Firefox was running long enough to record the environment block before the crash, then the environment at the time of the crash will be recorded and ``hasCrashEnvironment`` will be true. If Firefox crashed before the environment was recorded, ``hasCrashEnvironment`` will be false and the recorded environment will be the environment at time of submission. The client ID is submitted with this ping. The metadata field holds a subset of the crash annotations, all field values are stored as strings but some may be interpreted either as numbers or boolean values. Numbers are integral unless stated otherwise in the description. Boolean values are set to "1" when true, "0" when false. If they're absent then they should be interpreted as false. Structure: .. code-block:: js { type: "crash", ... common ping data clientId: , environment: { ... }, payload: { crashDate: "YYYY-MM-DD", crashTime: , // per-hour resolution version: 1, sessionId: , // Telemetry ID of crashing session. May be missing for crashes that happen early in startup crashId: , // Optional, ID of the associated crash minidumpSha256Hash: , // SHA256 hash of the minidump file processType: , // Type of process that crashed, see below for a list of types stackTraces: { ... }, // Optional, see below metadata: { // Annotations saved while Firefox was running. See CrashAnnotations.yaml for more information ProductID: "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}", ProductName: "Firefox", ReleaseChannel: , Version: , BuildID: "YYYYMMDDHHMMSS", AsyncShutdownTimeout: , // Optional, present when a shutdown blocker failed to respond within a reasonable amount of time AvailablePageFile: , // Windows-only, available paging file in bytes AvailablePhysicalMemory: , // Windows-only, available physical memory in bytes AvailableSwapMemory: , // macOS- and Linux-only, available swap space AvailableVirtualMemory: , // Windows-only, available virtual memory in bytes BackgroundTaskName: "task_name", // Optional, if the app was invoked in background task mode via `--backgroundtask task_name` BlockedDllList: , // Windows-only, see WindowsDllBlocklist.cpp for details BlocklistInitFailed: "1", // Windows-only, present only if the DLL blocklist initialization failed CrashTime: