Last active
June 6, 2016 15:56
-
-
Save adngdb/0f59e66aa9a057b1beeda6508e5bcaa5 to your computer and use it in GitHub Desktop.
Socorro's Processed Crash Schema
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"type": "object", | |
"description": "schema of a processed crash from Socorro", | |
"definitions": { | |
"frames": { | |
"type": "object", | |
"properties": { | |
"frame": { | |
"type": "integer", | |
"description": "Index of the frame. " | |
}, | |
"module": { | |
"type": "string", | |
"description": "If present, the basename of the code module containing the instruction in this frame. If missing, the instruction was not in any known module." | |
}, | |
"function": { | |
"type": "string", | |
"description": "If present, the name of the function containing the instruction in this frame. If missing, either the instruction was not in any known function, or symbols were not available for this module." | |
}, | |
"file": { | |
"type": "string", | |
"description": "If present, the source file containing `function` in this frame. If absent, source line information may not be available for the function. May be a filename or a string including VCS information in the form <vcs>:<repository>:<relative source path>:<changeset>." | |
}, | |
"line": { | |
"type": "integer", | |
"description": "If present, the line in `file` corresponding to the instruction in this frame." | |
}, | |
"offset": { | |
"type": "string", | |
"description": "The value of the instruction pointer in this frame." | |
}, | |
"module_offset": { | |
"type": "string", | |
"description": "If present, the offset of the instruction pointer in this frame relative to the module base." | |
}, | |
"function_offset": { | |
"type": "string", | |
"description": "If present, the offset of the instruction pointer in this frame relative to the function base." | |
} | |
} | |
} | |
}, | |
"properties": { | |
"PluginFilename": { | |
"type": "string", | |
"description": "When a plugin process crashes, this is the name of the file of the plugin loaded into that process." | |
}, | |
"PluginName": { | |
"type": "string", | |
"description": "When a plugin process crashes, this is the name of the plugin loaded into that process." | |
}, | |
"PluginVersion": { | |
"type": "string", | |
"description": "When a plugin process crashes, this is the version of the plugin loaded into that process." | |
}, | |
"Winsock_LSP": { | |
"type": "string", | |
"description": "On Windows, a string of data from the Windows OS about the list of installed LSPs (Layered Service Provider)." | |
}, | |
"additional_minidumps": { | |
"type": "string", | |
"description": "List the prefixes of the additionnal minidumps, when there are dumps from multiple processes." | |
}, | |
"addons": { | |
"type": "string", | |
"description": "A list of the addons currently enabled at the time of the crash. This takes the form of \"addonid:version,[addonid:version...]\". This value could be empty if the crash happens during startup before the addon manager is enabled, and on products/platforms which don't support addons." | |
}, | |
"addons_checked": { | |
"type": "string", | |
"description": "@@ TODO (bsmedberg: I don't know; what is the name of the raw metadata field this maps to?) @@" | |
}, | |
"address": { | |
"type": "string", | |
"description": "Hexadecimal address where the crash happened." | |
}, | |
"app_notes": { | |
"type": "string", | |
"description": "Notes from the application that crashed. Mostly contains graphics-related annotations." | |
}, | |
"build": { | |
"type": "integer", | |
"description": "Build identifier of the product." | |
}, | |
"classifications": { | |
"type": "object", | |
"properties": { | |
"jit": { | |
"type": "object", | |
"properties": { | |
"category": { | |
"type": "string", | |
"description": "JIT classification." | |
}, | |
"category_return_code": { | |
"type": "string", | |
"description": "JIT classification." | |
} | |
} | |
}, | |
"support": { | |
"type": "object", | |
"properties": { | |
"classification": { | |
"type": "string", | |
"description": "The support classification of this crash report, assigned by the processors." | |
}, | |
"classification_data": { | |
"type": "string", | |
"description": "Data of the classification." | |
}, | |
"classification_version": { | |
"type": "string", | |
"description": "Version of the classification." | |
} | |
} | |
}, | |
"skunk_works": { | |
"type": "object", | |
"properties": { | |
"classification": { | |
"type": "string", | |
"description": "The skunk classification of this crash report, assigned by the processors." | |
}, | |
"classification_data": { | |
"type": "string", | |
"description": "Data of the classification." | |
}, | |
"classification_version": { | |
"type": "string", | |
"description": "Version of the classification." | |
} | |
} | |
} | |
} | |
}, | |
"cpu_info": { | |
"type": "string", | |
"description": "Extended name of the CPU." | |
}, | |
"cpu_name": { | |
"type": "string", | |
"description": "Architecture of the processor. Deprecated, use cpu_arch instead." | |
}, | |
"crash_id": { | |
"type": "string", | |
"description": "Unique identifier of the crash report." | |
}, | |
"date_processed": { | |
"type": "string", | |
"description": "Date at which the crash report was received by Socorro." | |
}, | |
"flash_version": { | |
"type": "string", | |
"description": "Version of the Flash Player plugin." | |
}, | |
"hang_type": { | |
"type": "string", | |
"description": "Tells if a report was caused by a crash or a hang. In the database, the value is `0` if the problem was a crash of the software, and `1` or `-1` if the problem was a hang of the software. \n\nNote: for querying, you should use `crash` or `hang`, since those are automatically transformed into the correct underlying values." | |
}, | |
"install_age": { | |
"type": "integer", | |
"description": "Epoch time of the installation of the software. \n\nCommonly used as a unique identifier for software installations (since it is unlikely that two instances are installed at the very same second)." | |
}, | |
"java_stack_trace": { | |
"type": "string", | |
"description": "The stack when Firefox for Android catches a Java exception." | |
}, | |
"json_dump": { | |
"type": "object", | |
"description": "The dump as a JSON object.", | |
"properties": { | |
"crash_info": { | |
"type": "object", | |
"properties": { | |
"address": { | |
"type": "string", | |
"description": "Address of the crash." | |
}, | |
"crashing_thread": { | |
"type": "integer", | |
"description": "Number of the crashing thread?" | |
}, | |
"type": { | |
"type": "string", | |
"description": "Type of the crash." | |
} | |
} | |
}, | |
"crashing_thread": { | |
"type": "object", | |
"properties": { | |
"threads_index": { | |
"type": "string", | |
"description": "Index of this thread in the list of threads?" | |
}, | |
"total_frames": { | |
"type": "integer", | |
"description": "Total number of frames in the thread." | |
}, | |
"frames": { | |
"type": "array", | |
"description": "Top frames of the crashing thread. Max 10 frames.", | |
"items": { | |
"$ref": "#/definitions/frames" | |
} | |
} | |
} | |
}, | |
"largest_free_vm_block": { | |
"type": "string", | |
"description": "If present, the size of the largest free block of virtual memory in the crashing process as a hex string." | |
}, | |
"main_module": { | |
"type": "integer", | |
"description": "Index into modules." | |
}, | |
"main_module": { | |
"type": "array", | |
"description": "Index into modules." | |
}, | |
"status": { | |
"type": "string", | |
"description": "Status of the output of the stackwalker. Can be \"OK\", \"ERROR_*\" or \"SYMBOL_SUPPLIER_INTERRUPTED\"." | |
}, | |
"system_info": { | |
"type": "object", | |
"properties": { | |
"cpu_arch": { | |
"type": "string", | |
"description": "Architecture of the CPU." | |
}, | |
"cpu_count": { | |
"type": "string", | |
"description": "Number of CPU cores." | |
}, | |
"cpu_info": { | |
"type": "string", | |
"description": "Extended name of the CPU." | |
}, | |
"os": { | |
"type": "string", | |
"description": "Operating System." | |
}, | |
"os_ver": { | |
"type": "string", | |
"description": "Operating System Version." | |
} | |
} | |
}, | |
"tiny_block_size": { | |
"type": "integer", | |
"description": "If present, the total size of all memory regions in the crashing process that are smaller than 1 MB." | |
}, | |
"thread_count": { | |
"type": "integer", | |
"description": "Number of threads." | |
}, | |
"threads": { | |
"type": "array", | |
"description": "All the threads.", | |
"items": { | |
"type": "object", | |
"properties": { | |
"frame_count": { | |
"type": "integer", | |
"description": "Number of frames in the thread." | |
}, | |
"frames": { | |
"type": "array", | |
"description": "All frames of the thread.", | |
"items": { | |
"$ref": "#/definitions/frames" | |
} | |
} | |
} | |
} | |
}, | |
"write_combine_size": { | |
"type": "integer", | |
"description": "If present, the total size of all committed memory regions in the crashing process marked with PAGE_WRITECOMBINE." | |
} | |
} | |
}, | |
"last_crash": { | |
"type": "integer", | |
"description": "Number of seconds since the last crash of the software." | |
}, | |
"os_name": { | |
"type": "string", | |
"description": "Basic name of the operating system. Can be \"Windows NT\", \"Mac OS X\" or \"Linux\". Use `platform_pretty_version` for a more precise OS name including version." | |
}, | |
"os_pretty_version": { | |
"type": "string", | |
"description": "A better platform name, including version for Windows and Mac OS X." | |
}, | |
"os_version": { | |
"type": "string", | |
"description": "Version of the operating system." | |
}, | |
"process_type": { | |
"type": "string", | |
"description": "What type of process the crash happened in. When the main process crashes, this will not be present. But when a plugin or content process crashes, this will be \"plugin\" or \"content\"." | |
}, | |
"processor_notes": { | |
"type": "string", | |
"description": "Notes of the Socorro processor, contains information about what changes were made to the report during processing." | |
}, | |
"product": { | |
"type": "string", | |
"description": "Name of the software." | |
}, | |
"productid": { | |
"type": "string", | |
"description": "Identifier of the software." | |
}, | |
"proto_signature": { | |
"type": "string", | |
"description": "A concatenation of the signatures of all the frames of the crashing thread." | |
}, | |
"reason": { | |
"type": "string", | |
"description": "Reason of the crash." | |
}, | |
"release_channel": { | |
"type": "string", | |
"description": "The update channel that the user is on. Typically \"nightly\", \"aurora\", \"beta\", or \"release\", but this may also be other values like \"release-cck-partner\"." | |
}, | |
"signature": { | |
"type": "string", | |
"description": "Signature of the crash, based on the crashing thread and various rules applied during processing." | |
}, | |
"topmost_filenames": { | |
"type": "string", | |
"description": "Paths of the files at the top of the stack." | |
}, | |
"uptime": { | |
"type": "integer", | |
"description": "Number of seconds since the software was launched." | |
}, | |
"user_comments": { | |
"type": "string", | |
"description": "Comments entered by the user when they crashed." | |
}, | |
"uuid": { | |
"type": "string", | |
"description": "Unique identifier of the report." | |
}, | |
"version": { | |
"type": "string", | |
"description": "Version of the software." | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment