forked from mirrors/gecko-dev
This passes the profile directory as a crash annotation (which is not sent in the crash report). The profile directory is already indirectly passed to the crash reporter through `MOZ_CRASHREPORTER_EVENTS_DIRECTORY`, however I don't think that's something to rely upon. The pref parsing and langpack extension search are done on a best-effort basis; there may be some odd configurations for which it does not account. However, it should cover the vast majority of cases. While we don't want to underserve niche populations that may have an odd configuration, we do always have fallback behaviors that are likely still reasonable for most (like using the installation locale). We also first try the `useragent_locale` annotation before getting locales from the prefs. This only looks in the profile and the installation for langpack extensions. There are a few other system-wide locations that Firefox looks in. However, the assumptions are: 1) overwhelmingly users install langpacks using the UI rather than manually downloading the file, and 2) if installed with a package manager (mostly applicable to linux), langpacks are put in the installation. This is the case for the few major linux distros I checked. If we think this is not enough, I can also add the system-wide directories. Original Revision: https://phabricator.services.mozilla.com/D222356 Differential Revision: https://phabricator.services.mozilla.com/D234210
1046 lines
29 KiB
YAML
1046 lines
29 KiB
YAML
# This lists all the available crash annotations.
|
|
#
|
|
# Mandatory fields for each entry are:
|
|
# - description: A string describing the annotation
|
|
# - type: the annotation type, currently `string`, `boolean`, `u32`, `u64` or
|
|
# `usize`. Note that `boolean` values are stringified to `1` for
|
|
# true and `0` for false.
|
|
#
|
|
# Additionally a field can have the following optional fields:
|
|
# - altname: A string that will be used when writing out the annotation to the
|
|
# .extra file instead of the annotation name
|
|
# - ping: A boolean that indicates whether the annotation is allowed for
|
|
# inclusion in the crash ping, if not specified this defaults to false
|
|
# - skip_if: A string that will cause the annotation not to be included in the
|
|
# crash report if the contents match it.
|
|
|
|
AbortMessage:
|
|
description: >
|
|
Message passed to NS_DebugBreak().
|
|
type: string
|
|
|
|
Accessibility:
|
|
description: >
|
|
Set to "Active" by the accessibility service when it is active.
|
|
type: string
|
|
|
|
AccessibilityClient:
|
|
description: >
|
|
Accessibility client ID.
|
|
type: string
|
|
|
|
AccessibilityInProcClient:
|
|
description: >
|
|
Hexadecimal mask of in-process accessibility consumers, see
|
|
accessible/windows/msaa/Compatibility.h for the mappings.
|
|
type: string
|
|
|
|
AdapterDeviceID:
|
|
description: >
|
|
Graphics adapter name.
|
|
type: string
|
|
|
|
AdapterDriverVendor:
|
|
description: >
|
|
Graphics adapter driver vendor.
|
|
type: string
|
|
|
|
AdapterDriverVersion:
|
|
description: >
|
|
Graphics adapter driver version.
|
|
type: string
|
|
|
|
AdapterSubsysID:
|
|
description: >
|
|
Graphics adapter subsystem ID.
|
|
type: string
|
|
|
|
AdapterVendorID:
|
|
description: >
|
|
Graphics adapter vendor name.
|
|
type: string
|
|
|
|
additional_minidumps:
|
|
description: >
|
|
Comma separated list of additional minidumps for this crash, each element
|
|
in the list represent the suffix used in the dump filename. E.g. the
|
|
"browser" entry for crash fa909194-737b-4b93-b8da-da110ac785e0 implies the
|
|
existence of the fa909194-737b-4b93-b8da-da110ac785e0-browser.dmp file.
|
|
type: string
|
|
|
|
Addons:
|
|
description: >
|
|
List of currently enabled add-ons.
|
|
type: string
|
|
altname: Add-ons
|
|
|
|
Android_Board:
|
|
description: >
|
|
The name of the underlying board used by the Android device. e.g. "k68v1_64"
|
|
type: string
|
|
|
|
Android_Brand:
|
|
description: >
|
|
The consumer-visible brand associated with this Android device. e.g. "vivo"
|
|
type: string
|
|
|
|
Android_CPU_ABI:
|
|
description: >
|
|
The Android primary CPU ABI being used. e.g. "arm64-v8a"
|
|
type: string
|
|
|
|
Android_CPU_ABI2:
|
|
description: >
|
|
The Android secondary CPU ABI being used. e.g. "armeabi-v7a"
|
|
type: string
|
|
|
|
Android_Device:
|
|
description: >
|
|
Android device name. e.g. "1907"
|
|
type: string
|
|
|
|
Android_Display:
|
|
description: >
|
|
End-user visible display name of the build id for the Android build.
|
|
e.g. "SP1A.210812.003 release-keys"
|
|
type: string
|
|
|
|
Android_Fingerprint:
|
|
description: >
|
|
A string that uniquely identifies the Android build. e.g.
|
|
"vivo/1907/1907:12/SP1A.210812.003/compiler03091510:user/release-keys"
|
|
type: string
|
|
|
|
Android_Hardware:
|
|
description: >
|
|
The name of the Android hardware from "/proc". e.g. "mt6768"
|
|
type: string
|
|
|
|
Android_Manufacturer:
|
|
description: >
|
|
Android device manufacturer. e.g. "vivo"
|
|
type: string
|
|
|
|
Android_Model:
|
|
description: >
|
|
End-user visible Android device model name. e.g. "vivo 1907"
|
|
type: string
|
|
|
|
Android_PackageName:
|
|
description: >
|
|
The package name of an Android application that uniquely identifies the
|
|
application on the device, Google Play Store, and third-party Android
|
|
stores. e.g. "com.example.referencebrowser"
|
|
type: string
|
|
|
|
Android_Version:
|
|
description: >
|
|
The developer preview revision of a prerelease SDK plus The current
|
|
development codename, or the string "REL" if this is a release build.
|
|
e.g. "31 (REL)"
|
|
type: string
|
|
|
|
AppInitDLLs:
|
|
description: >
|
|
List of DLLs loaded when launching any application on Windows, this
|
|
reflects the contents of the AppInit_DLLs registry key.
|
|
type: string
|
|
|
|
ApplicationBuildID:
|
|
description: >
|
|
Product application's build ID.
|
|
type: string
|
|
|
|
AsyncShutdownTimeout:
|
|
description: >
|
|
This annotation is present if a shutdown blocker was not released in time
|
|
and the browser was crashed instead of waiting for shutdown to finish. The
|
|
condition that caused the hang is contained in the annotation.
|
|
type: string
|
|
ping: true
|
|
|
|
AvailablePageFile:
|
|
description: >
|
|
Available commit-space in bytes.
|
|
- Under Windows, computed from the PERFORMANCE_INFORMATION structure by substracting
|
|
the CommitTotal field from the CommitLimit field.
|
|
- Under Linux, computed from /proc/meminfo's CommitLimit - Committed_AS. Note that
|
|
the kernel is not guaranteed to enforce that CommittedLimit >= Committed_AS. If
|
|
Committed_AS > CommittedLimit, this value is set to 0.
|
|
- Not available on other platforms.
|
|
type: usize
|
|
ping: true
|
|
|
|
AvailablePhysicalMemory:
|
|
description: >
|
|
Amount of free physical memory in bytes.
|
|
- Under Windows, populated with the contents of the MEMORYSTATUSEX's structure
|
|
ullAvailPhys field.
|
|
- Under macOS, populated with vm_statistics64_data_t::free_count.
|
|
- Under Linux, populated with /proc/meminfo's MemFree.
|
|
- Not available on other platforms.
|
|
type: usize
|
|
ping: true
|
|
|
|
AvailableSwapMemory:
|
|
description: >
|
|
Amount of free swap space in bytes.
|
|
- Under macOS, populated with the contents of
|
|
sysctl "vm.swapusage" :: xsu_avail.
|
|
- Under Linux, populated with /proc/meminfo's SwapFree.
|
|
- Not available on other platforms.
|
|
type: usize
|
|
ping: true
|
|
|
|
AvailableVirtualMemory:
|
|
description: >
|
|
Amount of free virtual memory in bytes
|
|
- Under Windows, populated with the contents of the MEMORYSTATUSEX's structure ullAvailVirtual field.
|
|
- Under Linux, populated with /proc/meminfo's MemAvailable.
|
|
- Not available on other platforms.
|
|
- For macOS, see AvailableSwapMemory, AvailablePhysicalMemory and PurgeablePhysicalMemory.
|
|
type: usize
|
|
ping: true
|
|
|
|
BackgroundTaskMode:
|
|
description: >
|
|
True if the app was invoked in background task mode via `--backgroundtask ...`, false otherwise.
|
|
type: boolean
|
|
|
|
BackgroundTaskName:
|
|
description: >
|
|
If the app was invoked in background task mode via `--backgroundtask <task name>`, the string "task name".
|
|
type: string
|
|
ping: true
|
|
|
|
BlockedDllList:
|
|
description: >
|
|
Comma-separated list of blocked DLLS, Windows-only
|
|
type: string
|
|
ping: true
|
|
|
|
BlocklistInitFailed:
|
|
description: >
|
|
Set to 1 if the DLL blocklist could not be initialized.
|
|
type: boolean
|
|
ping: true
|
|
skip_if: "0"
|
|
|
|
Breadcrumbs:
|
|
description: >
|
|
Trail of events that occurred before a report. this will consist of multiple breadcrumbs with
|
|
timestamp, message, category, level, type and data in JSON format.
|
|
type: string
|
|
|
|
BuildID:
|
|
description: >
|
|
Application build ID, the format is YYYYMMDDHHMMSS.
|
|
type: string
|
|
ping: true
|
|
|
|
ContentSandboxCapabilities:
|
|
description: >
|
|
List of capabilities of the content process sandbox.
|
|
type: u32
|
|
|
|
ContentSandboxEnabled:
|
|
description: >
|
|
Set to 1 when content process sandboxing is enabled.
|
|
type: boolean
|
|
|
|
ContentSandboxCapable:
|
|
description: >
|
|
Set to 1 if the client is capable of content sandboxing.
|
|
type: boolean
|
|
|
|
ContentSandboxLevel:
|
|
description: >
|
|
Content sandbox level.
|
|
type: u32
|
|
|
|
ContentSandboxWin32kState:
|
|
description: >
|
|
Content sandbox Win32k state
|
|
type: string
|
|
|
|
GpuSandboxLevel:
|
|
description: >
|
|
GPU sandbox level.
|
|
type: u32
|
|
|
|
CPUMicrocodeVersion:
|
|
description: >
|
|
Version of the CPU microcode.
|
|
type: string
|
|
|
|
CrashTime:
|
|
description: >
|
|
Crash time in seconds since the Epoch.
|
|
type: string
|
|
ping: true
|
|
|
|
CycleCollector:
|
|
description: >
|
|
Reason why the cycle collector crashed.
|
|
type: string
|
|
|
|
DesktopEnvironment:
|
|
description: >
|
|
Desktop environment used on Linux, e.g. GNOME, KDE, XFCE, etc.
|
|
type: string
|
|
|
|
DeviceResetReason:
|
|
description: >
|
|
Reason why a DirectX device has been reset, Windows only.
|
|
type: u32
|
|
|
|
DOMFissionEnabled:
|
|
description: >
|
|
Set to 1 when DOM fission is enabled, and subframes are potentially loaded
|
|
in a separate process.
|
|
type: boolean
|
|
ping: true
|
|
|
|
DOMIPCEnabled:
|
|
description: >
|
|
Set to 1 when a tab is running in a content process
|
|
type: boolean
|
|
|
|
DumperError:
|
|
description: >
|
|
Error message of the minidump writer, in case there was an error during dumping.
|
|
type: string
|
|
|
|
EMCheckCompatibility:
|
|
description: >
|
|
Set to true if add-on compatibility checking is enabled. Technically this
|
|
annotation should be a boolean, but historically it's been set by JavaScript
|
|
code as a string, so keep it as such for the time being.
|
|
type: string
|
|
|
|
EventLoopNestingLevel:
|
|
description: >
|
|
Present only if higher than 0, indicates that we're running in a nested
|
|
event loop and indicates the nesting level.
|
|
type: u32
|
|
ping: true
|
|
skip_if: "0"
|
|
|
|
ExperimentalFeatures:
|
|
description: >
|
|
Comma-separated list of enabled experimental features from about:preferences#experimental.
|
|
type: string
|
|
ping: true
|
|
|
|
FontName:
|
|
description: >
|
|
Set before attempting to load a font to help diagnose crashes during loading.
|
|
type: string
|
|
ping: true
|
|
|
|
GMPLibraryPath:
|
|
description: >
|
|
Holds the path to the GMP plugin library.
|
|
type: string
|
|
|
|
GMPPlugin:
|
|
description: >
|
|
Set to 1 if the GMP plugin is enabled.
|
|
type: boolean
|
|
|
|
GPUProcessLaunchCount:
|
|
description: >
|
|
Number of times the GPU process was launched.
|
|
type: u32
|
|
ping: true
|
|
|
|
GPUProcessStatus:
|
|
description: >
|
|
Status of the GPU process, can be set to "Running" or "Destroyed"
|
|
type: string
|
|
|
|
GraphicsCompileShader:
|
|
description: >
|
|
Name of the shader we are in the process of compiling, if applicable. See
|
|
file names in gfx/wr/webrender/res/* for the possible values.
|
|
type: string
|
|
|
|
GraphicsCriticalError:
|
|
description: >
|
|
Information of a critical error that occurred within the graphics code.
|
|
type: string
|
|
|
|
GraphicsDrawShader:
|
|
description: >
|
|
Name of the shader that is currently bound for a draw call, if applicable.
|
|
See file names in gfx/wr/webrender/res/* for the possible values.
|
|
type: string
|
|
|
|
GraphicsNumActiveRenderers:
|
|
description: >
|
|
Number of webrender renderer instances that are not in a paused state.
|
|
type: usize
|
|
|
|
GraphicsNumRenderers:
|
|
description: >
|
|
Total number of webrender renderer instances.
|
|
type: usize
|
|
|
|
GraphicsStartupTest:
|
|
description: >
|
|
Set to 1 by the graphics driver crash guard when it's activated.
|
|
type: boolean
|
|
|
|
HeadlessMode:
|
|
description: >
|
|
True if the app was invoked in headless mode via `--headless ...` or `--backgroundtask ...`, false otherwise.
|
|
type: boolean
|
|
ping: true
|
|
|
|
PHCKind:
|
|
description: >
|
|
The allocation kind, if the crash involved a bad access of a special PHC
|
|
allocation.
|
|
type: string
|
|
|
|
PHCBaseAddress:
|
|
description: >
|
|
The allocation's base address, if the crash involved a bad access of a
|
|
special PHC allocation. Encoded as a decimal address.
|
|
type: string
|
|
|
|
PHCUsableSize:
|
|
description: >
|
|
The allocation's usable size, if the crash involved a bad access of a
|
|
special PHC allocation.
|
|
# A 32-bit integer is enough because the maximum usable size of a special PHC
|
|
# allocation is far less than 2 GiB.
|
|
type: u32
|
|
|
|
PHCAllocStack:
|
|
description: >
|
|
The allocation's allocation stack trace, if the crash involved a bad access
|
|
of a special PHC allocation. Encoded as a comma-separated list of decimal
|
|
addresses.
|
|
type: string
|
|
|
|
PHCFreeStack:
|
|
description: >
|
|
The allocation's free stack trace, if the crash involved a bad access
|
|
of a special PHC allocation. Encoded as a comma-separated list of decimal
|
|
addresses.
|
|
type: string
|
|
|
|
HasDeviceTouchScreen:
|
|
description: >
|
|
Set to 1 if the device had a touch-screen, this only applies to Firefox
|
|
desktop as on mobile devices we assume a touch-screen is always present.
|
|
type: boolean
|
|
|
|
InstallTime:
|
|
description: >
|
|
The time when Firefox was installed expressed as seconds since the Epoch
|
|
type: string # This should be u64 but we currently handle it as a string
|
|
|
|
ipc_channel_error:
|
|
description: >
|
|
Set before a content process crashes because of an IPC channel error, holds
|
|
a description of the error.
|
|
type: string
|
|
ping: true
|
|
|
|
IpcCreatePipeCloExecErrno:
|
|
description: >
|
|
errno value retrieved after failing to set the O_CLOEXEC flag on a pipe
|
|
used for IPC.
|
|
type: u32
|
|
|
|
IpcCreatePipeFcntlErrno:
|
|
description: >
|
|
errno value retrieved after a call to fcntl() on a pipe used for IPC failed.
|
|
type: u32
|
|
|
|
IpcCreatePipeSocketPairErrno:
|
|
description: >
|
|
errno value retrieved after a socketpair() call failed while creating an IPC
|
|
transport object.
|
|
type: u32
|
|
|
|
IPCFatalErrorMsg:
|
|
description: >
|
|
Describes a fatal error that occurred during IPC operation.
|
|
type: string
|
|
|
|
IPCFatalErrorProtocol:
|
|
description: >
|
|
Name of the protocol used by IPC when a fatal error occurred.
|
|
type: string
|
|
|
|
IPCMessageLargeBufferShmemFailureSize:
|
|
description: >
|
|
Size of failed shmem allocations which led to data being sent inline in the
|
|
IPC message that caused a crash because it was too large.
|
|
type: u32
|
|
|
|
IPCMessageName:
|
|
description: >
|
|
Name of the IPC message that caused a crash because it was too large.
|
|
type: string
|
|
|
|
IPCMessageSize:
|
|
description: >
|
|
Size of the IPC message that caused a crash because it was too large.
|
|
type: u32
|
|
|
|
IPCReadErrorReason:
|
|
description: >
|
|
Reason why reading an object via IPC failed.
|
|
type: string
|
|
|
|
IPCShutdownState:
|
|
description: >
|
|
IPC shutdown state, can be set to either "RecvShutdown" or
|
|
"SendFinishShutdown" by a content process while it's shutting down.
|
|
type: string
|
|
|
|
IPCSystemError:
|
|
description: >
|
|
Description of the last system error that occurred during IPC operation.
|
|
type: u32
|
|
|
|
Hang:
|
|
description: >
|
|
Set if the crash was the result of a hang, with a value which describes the
|
|
type of hang (e.g. "ui" or "shutdown").
|
|
type: string
|
|
ping: true
|
|
|
|
IsGarbageCollecting:
|
|
description: >
|
|
If true then the JavaScript garbage collector was running when the crash
|
|
occurred.
|
|
type: boolean
|
|
ping: true
|
|
skip_if: "0"
|
|
|
|
IsWayland:
|
|
description: >
|
|
If true then the Wayland windowing system was in use.
|
|
type: boolean
|
|
|
|
IsWebRenderResourcePathOverridden:
|
|
description: >
|
|
If true then the WebRender resources (i.e. shaders) are loaded from a user specified path.
|
|
type: boolean
|
|
|
|
JavaException:
|
|
description: >
|
|
JSON structured Java stack trace, only present on Firefox for Android if we encounter an
|
|
uncaught Java exception.
|
|
type: string
|
|
|
|
JavaStackTrace:
|
|
description: >
|
|
Java stack trace, only present on Firefox for Android if we encounter an
|
|
uncaught Java exception.
|
|
type: string
|
|
|
|
JSActorMessage:
|
|
description: >
|
|
If an actor is currently treating a message, this is the name of the message.
|
|
Otherwise, empty.
|
|
type: string
|
|
|
|
JSActorName:
|
|
description: >
|
|
If an actor is currently treating a message, this is the name of the actor.
|
|
Otherwise, empty.
|
|
type: string
|
|
|
|
JSLargeAllocationFailure:
|
|
description: >
|
|
A large allocation couldn't be satisfied, check the JSOutOfMemory
|
|
description for the possible values of this annotation.
|
|
type: string
|
|
|
|
JSModuleLoadError:
|
|
description: >
|
|
The error raised when attempting to import a critical JS module from C++
|
|
type: string
|
|
|
|
JSOutOfMemory:
|
|
description: >
|
|
A small allocation couldn't be satisfied, the annotation may contain the
|
|
"Reporting", "Reported" or "Recovered" value. The first one means that
|
|
we crashed while responding to the OOM condition (possibly while running a
|
|
memory-pressure observers), the second that we crashed after having tried to
|
|
free some memory, and the last that the GC had managed to free enough memory
|
|
to satisfy the allocation.
|
|
type: string
|
|
|
|
|
|
LastInteractionDuration:
|
|
description: >
|
|
How long the user had been inactive in seconds if the user was inactive
|
|
at crash. The value is not set if the user state was active.
|
|
type: u64
|
|
ping: true
|
|
|
|
LastStartupWasCrash:
|
|
description: >
|
|
True if the last startup was detected to have been a crash.
|
|
type: boolean
|
|
|
|
MacMemoryPressure:
|
|
description: >
|
|
The current memory pressure state as provided by the macOS memory pressure
|
|
dispatch source. The annotation value is one of "Normal" for no memory
|
|
pressure, "Unset" indicating a memory pressure event has not been received,
|
|
"Warning" or "Critical" mapping to the system memory pressure levels,
|
|
or "Unexpected" for an unexpected level. This is a Mac-specific annotation.
|
|
type: string
|
|
|
|
MacMemoryPressureNormalTime:
|
|
description: >
|
|
The time when the memory pressure state last transitioned to 'Normal'
|
|
expressed as seconds since the Epoch.
|
|
type: string
|
|
|
|
MacMemoryPressureWarningTime:
|
|
description: >
|
|
The time when the memory pressure state last transitioned to 'Warning'
|
|
expressed as seconds since the Epoch.
|
|
type: string
|
|
|
|
MacMemoryPressureCriticalTime:
|
|
description: >
|
|
The time when the memory pressure state last transitioned to 'Critical'
|
|
expressed as seconds since the Epoch.
|
|
type: string
|
|
|
|
MacMemoryPressureSysctl:
|
|
description: >
|
|
The value of the memory pressure sysctl
|
|
'kern.memorystatus_vm_pressure_level'. Indicates which memory
|
|
pressure level the system is in at the time of the crash. The expected
|
|
values are one of 4 (Critical), 2 (Warning), or 1 (Normal).
|
|
type: u32
|
|
|
|
MacAvailableMemorySysctl:
|
|
description: >
|
|
The value of the available memory sysctl 'kern.memorystatus_level'.
|
|
Expected to be a percentage integer value.
|
|
type: u32
|
|
|
|
LinuxUnderMemoryPressure:
|
|
description: >
|
|
Set to true if the memory pressure watcher was under memory pressure when
|
|
the crash occurred.
|
|
type: boolean
|
|
|
|
LauncherProcessState:
|
|
description: >
|
|
Launcher process enabled state. The integer value of this annotation must
|
|
match with one of the values in the
|
|
mozilla::LauncherRegistryInfo::EnableState enum
|
|
type: u32
|
|
|
|
LowPhysicalMemoryEvents:
|
|
description: >
|
|
Number of times the available memory tracker has detected that free
|
|
physical memory is running low. This is a Windows-specific annotation.
|
|
type: u32
|
|
ping: true
|
|
skip_if: "0"
|
|
|
|
MainThreadRunnableName:
|
|
description: >
|
|
Name of the currently executing nsIRunnable on the main thread.
|
|
type: string
|
|
ping: true
|
|
|
|
MozCrashReason:
|
|
description: >
|
|
Plaintext description of why Firefox crashed, this is usually set by
|
|
assertions and the like.
|
|
type: string
|
|
ping: true
|
|
|
|
Notes:
|
|
description: >
|
|
Miscellaneous notes that can be appended to a crash.
|
|
type: string
|
|
|
|
OOMAllocationSize:
|
|
description: >
|
|
Size of the allocation that caused an out-of-memory condition.
|
|
type: usize
|
|
ping: true
|
|
skip_if: "0"
|
|
|
|
PluginFilename:
|
|
description: >
|
|
Plugin filename, only the process holding the plugin has this annotation.
|
|
type: string
|
|
|
|
PluginName:
|
|
description: >
|
|
Display name of a plugin, only the process holding the plugin has this
|
|
annotation.
|
|
type: string
|
|
|
|
PluginVersion:
|
|
description: >
|
|
Version of a plugin, only the process holding the plugin has this
|
|
annotation.
|
|
type: string
|
|
|
|
ProcessType:
|
|
description: >
|
|
Type of the process that crashed, the possible values are defined in
|
|
GeckoProcessTypes.h.
|
|
type: string
|
|
|
|
ProductName:
|
|
description: >
|
|
Application name (e.g. Firefox).
|
|
type: string
|
|
ping: true
|
|
|
|
ProductID:
|
|
description: >
|
|
Application UUID (e.g. ec8030f7-c20a-464f-9b0e-13a3a9e97384).
|
|
type: string
|
|
ping: true
|
|
|
|
ProfileDirectory:
|
|
description: >
|
|
The directory of the active profile, if any.
|
|
type: string
|
|
|
|
ProfilerChildShutdownPhase:
|
|
description: >
|
|
When a child process shuts down, this describes if the profiler is running,
|
|
and the point the profiler shutdown sequence has reached.
|
|
type: string
|
|
ping: true
|
|
|
|
PurgeablePhysicalMemory:
|
|
description: >
|
|
macOS only. Amount of physical memory currently allocated but which may
|
|
be deallocated by the system in case of memory pressure. Populated from
|
|
vm_statistics64_data_t::purgeable_count * vm_page_size.
|
|
type: usize
|
|
ping: true
|
|
|
|
QuotaManagerShutdownTimeout:
|
|
description: >
|
|
This annotation is present if the quota manager shutdown (resp. the shutdown
|
|
of the quota manager clients) was not finished in time and the browser was
|
|
crashed instead of waiting for the shutdown to finish. The status of objects
|
|
which were blocking completion of the shutdown when reaching the timeout
|
|
is contained in the annotation.
|
|
|
|
In the case of IndexedDB, objects are divided into three groups:
|
|
FactoryOperations, LiveDatabases and DatabaseMaintenances.
|
|
|
|
In the case of LocalStorage, objects are divided into three groups:
|
|
PrepareDatastoreOperations, Datastores and LiveDatabases.
|
|
|
|
In the case of Cache API, objects are in one group only:
|
|
Managers.
|
|
|
|
Each group is reported separately and contains the number of objects in the
|
|
group and the status of individual objects in the group (duplicate entries
|
|
are removed):
|
|
"GroupName: N (objectStatus1, objectStatus2, ...)" where N is the number of
|
|
objects in the group.
|
|
|
|
The status of individual objects is constructed by taking selected object
|
|
properties. Properties which contain origin strings are anonymized.
|
|
|
|
In addition, intermediate steps are recorded for change events after shutdown
|
|
started. These include the time difference and the type of object.
|
|
type: string
|
|
ping: true
|
|
|
|
QuotaManagerStorageIsNetworkResource:
|
|
description: >
|
|
On Windows, this indicates if QM's base dir lives on a network resource.
|
|
It is the direct result of the Win32 API function PathIsNetworkPath.
|
|
type: boolean
|
|
|
|
RDDProcessStatus:
|
|
description: >
|
|
Status of the RDD process, can be set to "Running" or "Destroyed"
|
|
type: string
|
|
|
|
ReleaseChannel:
|
|
description: >
|
|
Application release channel (e.g. default, beta, ...)
|
|
type: string
|
|
ping: true
|
|
|
|
RemoteType:
|
|
description: >
|
|
Type of the content process, can be set to "web", "file" or "extension".
|
|
type: string
|
|
ping: true
|
|
|
|
SafeMode:
|
|
description: >
|
|
Set to 1 if the browser was started in safe mode.
|
|
type: boolean
|
|
|
|
SecondsSinceLastCrash:
|
|
description: >
|
|
Time in seconds since the last crash occurred.
|
|
type: u64
|
|
ping: true
|
|
|
|
ServerURL:
|
|
description: >
|
|
URL used to post the crash report.
|
|
type: string
|
|
|
|
ShutdownProgress:
|
|
description: >
|
|
Shutdown step at which the browser crashed, can be set to "quit-application",
|
|
"profile-change-teardown", "profile-before-change", "xpcom-will-shutdown" or
|
|
"xpcom-shutdown".
|
|
type: string
|
|
ping: true
|
|
|
|
ShutdownReason:
|
|
description: >
|
|
One out of "Unknown", "AppClose", "AppRestart", "OSForceClose",
|
|
"OSSessionEnd", "OSShutdown" or "WinUnexpectedMozQuit".
|
|
type: string
|
|
ping: true
|
|
|
|
StartupCacheValid:
|
|
description: >
|
|
True if the startup cache was deemed valid and usable. Will be false if the
|
|
last session used a different browser version or had a startup cache.
|
|
type: boolean
|
|
|
|
StartupCrash:
|
|
description: >
|
|
If set to 1 then this crash occurred during startup.
|
|
type: boolean
|
|
ping: true
|
|
|
|
StartupTime:
|
|
description: >
|
|
The time when Firefox was launched expressed in seconds since the Epoch.
|
|
type: u64
|
|
|
|
StorageConnectionNotClosed:
|
|
description: >
|
|
This annotation is added when a mozStorage connection has not been properly
|
|
closed during shutdown. The annotation holds the filename of the database
|
|
associated with the connection.
|
|
type: string
|
|
|
|
SubmittedFrom:
|
|
description: >
|
|
This annotation can hold one of the following five values depending on how
|
|
this crash was submitted by the user:
|
|
* Auto: the user had opted-in to auto-submission
|
|
* Infobar: the user clicked on the infobar to submit the crash
|
|
* AboutCrashes: the user sent the crash from the about:crashes page
|
|
* CrashedTab: the user sent the crash from a crashed tab page
|
|
* Client: the user sent the crash using the crash reporter client
|
|
type: string
|
|
|
|
SystemMemoryUsePercentage:
|
|
description: >
|
|
Windows-only, percentage of physical memory in use. This annotation is
|
|
populated with the contents of the MEMORYSTATUSEX's structure dwMemoryLoad
|
|
field.
|
|
type: u32
|
|
ping: true
|
|
|
|
TelemetryClientId:
|
|
description: >
|
|
Telemetry client ID.
|
|
type: string
|
|
|
|
TelemetryEnvironment:
|
|
description: >
|
|
The telemetry environment in JSON format.
|
|
type: string
|
|
|
|
TelemetryServerURL:
|
|
description: >
|
|
Telemetry server URL. Used to send main process crash pings directly from
|
|
the crashreporter client.
|
|
type: string
|
|
|
|
TelemetrySessionId:
|
|
description: >
|
|
Telemetry session ID.
|
|
type: string
|
|
|
|
TestKey:
|
|
description: >
|
|
Annotation used in tests.
|
|
type: string
|
|
|
|
TestUnicode:
|
|
description: >
|
|
Annotation used in tests.
|
|
type: string
|
|
|
|
TextureUsage:
|
|
description: >
|
|
Amount of memory in bytes consumed by textures.
|
|
type: usize
|
|
ping: true
|
|
skip_if: "0"
|
|
|
|
Throttleable:
|
|
description: >
|
|
Whether Socorro can selectively discard this crash report or not. If set
|
|
to "0" the crash report will always be processed by Socorro. Do not set
|
|
this annotation within Gecko code, it's only supposed to be used by the
|
|
crash reporting machinery.
|
|
type: boolean
|
|
|
|
TotalPageFile:
|
|
description: >
|
|
Maximum amount of memory that can be committed without extending the swap/page file.
|
|
- Under Windows, populated with the contents of the PERFORMANCE_INFORMATION's
|
|
structure CommitLimit field.
|
|
- Under Linux, populated with /proc/meminfo MemTotal + SwapTotal. The swap file
|
|
typically cannot be extended, so that's a hard limit.
|
|
- Not available on other systems.
|
|
type: usize
|
|
ping: true
|
|
|
|
TotalPhysicalMemory:
|
|
description: >
|
|
Amount of physical memory in bytes.
|
|
- Under Windows, populated with the contents of the MEMORYSTATUSEX's structure
|
|
ullTotalPhys field.
|
|
- Under macOS, populated with sysctl "hw.memsize".
|
|
- Under Linux, populated with /proc/meminfo's "MemTotal".
|
|
- Not available on other systems.
|
|
type: usize
|
|
ping: true
|
|
|
|
TotalVirtualMemory:
|
|
description: >
|
|
Size of the virtual address space.
|
|
- Under Windows, populated with the contents of the MEMORYSTATUSEX's structure
|
|
ullTotalVirtual field.
|
|
- Not available on other platforms.
|
|
type: usize
|
|
ping: true
|
|
|
|
UnknownNetAddrSocketFamily:
|
|
description: >
|
|
An unknown network address family was requested to Necko. The value is the
|
|
requested family number.
|
|
type: u32
|
|
|
|
UptimeTS:
|
|
description: >
|
|
Uptime in seconds. This annotation uses a string instead of an integer
|
|
because it has a fractional component.
|
|
type: string # This is a floating-point number but we treat it as a string
|
|
ping: true
|
|
|
|
URL:
|
|
description: >
|
|
URL being loaded.
|
|
type: string
|
|
|
|
URLSegments:
|
|
description: >
|
|
The offsets of the nsStandardURL segments that fail a sanity check
|
|
type: string
|
|
|
|
User32BeforeBlocklist:
|
|
description: >
|
|
Set to 1 if user32.dll was loaded before we could install the DLL blocklist.
|
|
type: boolean
|
|
ping: true
|
|
skip_if: "0"
|
|
|
|
useragent_locale:
|
|
description: >
|
|
User-agent locale.
|
|
type: string
|
|
|
|
UtilityProcessStatus:
|
|
description: >
|
|
Status of the Utility process, can be set to "Running" or "Destroyed"
|
|
type: string
|
|
|
|
UtilityActorsName:
|
|
description: >
|
|
Comma-separated list of IPC actors name running on this Utility process instance
|
|
type: string
|
|
ping: true
|
|
|
|
Vendor:
|
|
description: >
|
|
Application vendor (e.g. Mozilla).
|
|
type: string
|
|
|
|
Version:
|
|
description: >
|
|
Product version.
|
|
type: string
|
|
ping: true
|
|
|
|
VRProcessStatus:
|
|
description: >
|
|
Status of the VR process, can be set to "Running" or "Destroyed"
|
|
type: string
|
|
|
|
WasmLibrarySandboxMallocFailed:
|
|
description: >
|
|
Set to 1 if a rlbox wasm library sandbox ran out of memory, causing a
|
|
malloc inside the sandbox to fail.
|
|
type: boolean
|
|
|
|
WindowsFileDialogErrorCode:
|
|
description: >
|
|
The HRESULT returned from a Win32 system call leading to termination of the
|
|
file-dialog utility process. MozCrashReason is expected to provide context
|
|
for the value.
|
|
type: u32 # This is an HRESULT which is defined as signed, but we don't want to print it as a signed integer
|
|
ping: true
|
|
|
|
WindowsPackageFamilyName:
|
|
description: >
|
|
If running in a Windows package context, the package family name, per
|
|
https://docs.microsoft.com/en-us/windows/win32/api/appmodel/nf-appmodel-getcurrentpackagefamilyname.
|
|
|
|
The package family name is only included when it is likely to have been produced by Mozilla: it
|
|
starts "Mozilla." or "MozillaCorporation.".
|
|
type: string
|
|
ping: true
|
|
|
|
WindowsErrorReporting:
|
|
description: >
|
|
Set to 1 if this crash was intercepted via the Windows Error Reporting
|
|
runtime exception module.
|
|
type: boolean
|
|
ping: true
|
|
|
|
Winsock_LSP:
|
|
description: >
|
|
Information on winsock LSPs injected in our networking stack.
|
|
type: string
|
|
|
|
XPCOMSpinEventLoopStack:
|
|
description: >
|
|
If we crash while some code is spinning manually the event loop on the
|
|
main thread, we will see the stack of nested annotations here.
|
|
If the crashing process was killed (e.g. due to an IPC error), this
|
|
annotation may refer to the parent process that killed it, look out for
|
|
the prefix ("default" means parent) and see bug 1741131 for details.
|
|
type: string
|