"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 though. 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. Structure: .. code-block:: js { type: "crash", ... common ping data clientId: , environment: { ... }, payload: { crashDate: "YYYY-MM-DD", crashTime: , // per-hour resolution version: 1, sessionId: , // may be missing for crashes that happen early // in startup. Added in Firefox 48 with the // intention of uplifting to Firefox 46 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 nsExceptionHandler.cpp 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 AvailablePhysicalMemory: , // Windows-only, available physical memory AvailableVirtualMemory: , // Windows-only, available virtual memory BlockedDllList: , // Windows-only, see WindowsDllBlocklist.cpp for details BlocklistInitFailed: 1, // Windows-only, present only if the DLL blocklist initialization failed CrashTime: