{% macro protected_warning() -%} protected Protected data: Protected data policy. {%- endmacro %} {% macro source_link(link, file, line) -%} {% if link %} {{ file }}{% if line is not none %}:{{ line }}{% endif %} {% elif file %} {{ file }}{% if line is not none %}:{{line }}{% endif %} {% endif %} {%- endmacro %} {% extends "crashstats_base.html" %} {% block summary_page_tags %} {% endblock %} {% block site_css %} {{ super() }} {% endblock %} {% block site_js %} {{ super() }} {% endblock %} {% block page_title %}[@ {{ report.signature }}] - {{ report.product }} {{ report.version }} Crash Report - Report ID: {{ report.uuid }}{% endblock %} {% block content %}

{{ report.product }} {{ report.version }} Crash Report [@ {{ report.signature }} ]

{% if request.user.has_perm('crashstats.view_pii') %} protected You are seeing public and protected data. {% else %} You are seeing public data only. See protected data access documentation for more information. {% endif %}
{# Header #}
Crash ID: {{ report.uuid }}
Signature: [@ {{ report.signature }} ]
{% if report.signature != report.current_signature %}
Signature generation has changed since this was processed. New signature would be: [@ {{ report.current_signature }} ]
{% endif %}
{# Report-index #}
{# Crash Annotations #} {# Times #} {% if report.last_crash %} {% endif %} {% if report.install_age %} {% endif %} {# Product #} {% if report.product == "Fenix" %} {% endif %} {# OS #} {% if raw.Android_Version %} {% endif %} {% if report.windows_error_reporting in ("1", True) %} {% endif %} {# Hardware #} {% if raw.Android_Manufacturer %} {% endif %} {% if raw.Android_Model %} {% endif %} {% if raw.Android_CPU_ABI%} {% endif %} {# Crash circumstances #} {% if raw.StartupCrash %} {% endif %} {% if report.has_guard_page_access %} {% endif %} {% if report.possible_bit_flips_max_confidence %} {% endif %} {% if report.crash_inconsistencies %} {% endif %} {% if request.user.has_perm('crashstats.view_pii') %} {% if report.moz_crash_reason_raw %} {% endif %} {% elif report.moz_crash_reason %} {% endif %} {% if crashing_thread is not none and parsed_dump.threads[crashing_thread].last_error_value %} {% endif %} {% if report.mac_crash_info %} {% endif %} {% if request.user.has_perm('crashstats.view_pii') %} {% if report.java_stack_trace_raw %} {% endif %} {% else %} {% if report.java_stack_trace %} {% endif %} {% endif %} {# Personal user info #} {% if request.user.has_perm('crashstats.view_pii') %} {% endif %} {# Memory usage #} {% if raw.TotalVirtualMemory %} {% endif %} {% if raw.AvailableVirtualMemory %} {% endif %} {% if raw.AvailablePageFile %} {% endif %} {% if raw.AvailablePhysicalMemory %} {% endif %} {% if raw.SystemMemoryUsePercentage %} {% endif %} {% if raw.OOMAllocationSize %} {% endif %} {% if 'phc_kind' in report and request.user.has_perm('crashstats.view_pii') %} {% endif %} {% if 'memory_measures' in report %} {% if 'explicit' in report.memory_measures %} {% endif %} {% if 'gfx_textures' in report.memory_measures %} {% endif %} {% if 'ghost_windows' in report.memory_measures %} {% endif %} {% if 'heap_allocated' in report.memory_measures %} {% endif %} {% if 'heap_overhead' in report.memory_measures %} {% endif %} {% if 'heap_unclassified' in report.memory_measures %} {% endif %} {% if 'host_object_urls' in report.memory_measures %} {% endif %} {% if 'images' in report.memory_measures %} {% endif %} {% if 'js_main_runtime' in report.memory_measures %} {% endif %} {% if 'private' in report.memory_measures %} {% endif %} {% if 'resident' in report.memory_measures %} {% endif %} {% if 'resident_unique' in report.memory_measures %} {% endif %} {% if 'system_heap_allocated' in report.memory_measures %} {% endif %} {% if 'top_none_detached' in report.memory_measures %} {% endif %} {% if 'vsize' in report.memory_measures %} {% endif %} {% if 'vsize_max_contiguous' in report.memory_measures %} {% endif %} {% endif %} {# Miscellaneous #} {% if raw.Accessibility %} {% endif %} {% if request.user.has_perm('crashstats.view_pii') and report.soft_errors %} {% endif %} {# Notes #} {% if report.app_notes %} {% endif %}
Signature {{ report.signature }} More Reports Search
UUID {{ report.uuid }}
Date Processed {% if report.date_processed %} {{ report.date_processed | human_readable_iso_date }} UTC {% endif %}
Uptime {{ show_duration(report.get('uptime')) }}
Last Crash {{ show_duration(report.get('last_crash'), 'seconds before submission') }}
Install Age {{ show_duration(report.get('install_age'), 'seconds since version was first installed') }}
Install Time {% if raw.InstallTime %} {{ raw.InstallTime | timestamp_to_date }} {% endif %}
Product {{ report.product }}
Release Channel {{ report.release_channel }}
Version {{ report.version }}
Build ID {% if report.build %} {{ report.build }} ({{ report.build | buildid_to_date }}) {% if product_details.in_buildhub %} Buildhub data {% endif %} {% endif %}
Application Build ID {{ report.application_build_id }}
Android PackageName {{ report.android_packagename }}
OS {{ report.os_pretty_version or report.os_name }}
OS Version {{ report.os_version }}
Android Version
{{ raw.Android_Version }}
Windows Error Reporting
{{ report.windows_error_reporting }}
Build Architecture {{ report.cpu_arch }}
CPU Info {% if report.cpu_info %} {% if is_dangerous_cpu(report.cpu_arch, report.cpu_info) %} warning {% endif %} {{ report.cpu_info }} {% endif %}
CPU Count {{ report.cpu_count }}
Android Manufacturer
{{ raw.Android_Manufacturer }}
Android Model
{{ raw.Android_Model }}
Android CPU ABI
{{ raw.Android_CPU_ABI}}
Adapter Vendor ID {% if raw.AdapterVendorName %}
{{ raw.AdapterVendorName }} ({{ raw.AdapterVendorID }})
{% else %}
{{ raw.AdapterVendorID }}
{% endif %}
Adapter Device ID {% if raw.AdapterDeviceName %}
{{ raw.AdapterDeviceName }} ({{ raw.AdapterDeviceID }})
{% else %}
{{ raw.AdapterDeviceID }}
{% endif %}
Startup Crash
{{ booleanish_to_boolean(raw.StartupCrash) }}
Has guard page access
{{ report.has_guard_page_access }}
Possible bit flips max confidence
{{ report.possible_bit_flips_max_confidence }}%
Crash Inconsistencies
{{ report.crash_inconsistencies }}
Process Type {{ report.process_type or "parent" }} {% if report.process_type == "content" and request.user.has_perm("crashstats.view_pii") -%} ({{ raw.RemoteType or 'web' }}) - {{ protected_warning() }} {%- endif %} {% if report.process_type == "plugin" -%} ({{ report.PluginName or "No name" }}, ver: {{ report.PluginVersion or "Unknown" }}, filename: {{ report.PluginFilename or "" }}) {%- endif %}
MOZ_CRASH Reason (Raw) {{ report.moz_crash_reason_raw }} - {{ protected_warning() }}
MOZ_CRASH Reason (Sanitized)
{{ report.moz_crash_reason }}
Crash Reason {{ report.reason }}
Crash Address {{ report.address }}
Last Error Value {{ parsed_dump.threads[crashing_thread].last_error_value }}
Mac Crash info
{{ report.mac_crash_info }}
Java Stack Trace (Raw)
{{ report.java_stack_trace_raw }}
{{ protected_warning() }}
Java Stack Trace (Redacted)
{{ report.java_stack_trace }}
URL {% if raw.URL %} {{ raw.URL }} {% endif %} - {{ protected_warning() }}
User Comments {% if report.user_comments %} {{ report.user_comments | linebreaks }} {% endif %} - {{ protected_warning() }}
Total Virtual Memory {{ show_filesize(raw.get('TotalVirtualMemory')) }}
Available Virtual Memory {{ show_filesize(raw.get('AvailableVirtualMemory')) }}
Available Page File {{ show_filesize(raw.get('AvailablePageFile')) }}
Available Physical Memory {{ show_filesize(raw.get('AvailablePhysicalMemory')) }}
System Memory Use Percentage {{ raw.SystemMemoryUsePercentage }}
OOM Allocation Size {{ show_filesize(raw.get('OOMAllocationSize')) }}
PHC Kind {{ report.phc_kind }} - {{ protected_warning() }}
PHC Usable Size {{ report.phc_usable_size }} - {{ protected_warning() }}
PHC Base Address {{ report.phc_base_address }} - {{ protected_warning() }}
PHC Alloc Stack {{ report.phc_alloc_stack }} - {{ protected_warning() }}
PHC Free Stack {{ report.phc_free_stack }} - {{ protected_warning() }}
MR: explicit {{ show_filesize(report.memory_measures.explicit) }}
MR: gfx-textures {{ show_filesize(report.memory_measures.gfx_textures) }}
MR: ghost-windows
{{ report.memory_measures.ghost_windows }}
MR: heap-allocated {{ show_filesize(report.memory_measures.heap_allocated) }}
MR: heap-overhead {{ show_filesize(report.memory_measures.heap_overhead) }}
MR: heap-unclassified {{ show_filesize(report.memory_measures.heap_unclassified) }}
MR: host-object-urls
{{ report.memory_measures.host_object_urls }}
MR: images {{ show_filesize(report.memory_measures.images) }}
MR: js-main-runtime {{ show_filesize(report.memory_measures.js_main_runtime) }}
MR: private {{ show_filesize(report.memory_measures.private) }}
MR: resident {{ show_filesize(report.memory_measures.resident) }}
MR: resident-unique {{ show_filesize(report.memory_measures.resident_unique) }}
MR: system-heap-allocated {{ show_filesize(report.memory_measures.system_heap_allocated) }}
MR: top(none)/detached {{ show_filesize(report.memory_measures.top_none_detached) }}
MR: vsize {{ show_filesize(report.memory_measures.vsize) }}
MR: vsize-max-contiguous {{ show_filesize(report.memory_measures.vsize_max_contiguous) }}
Accessibility
{{ raw.Accessibility }}
EMCheckCompatibility
{% if report.addons_checked %}True{% else %}False{% endif %}
Soft Errors {{ report.soft_errors }} - {{ protected_warning() }}
App Notes
{{ report.app_notes }}
{% if java_exception_stacks %}
{% for stacktrace in java_exception_stacks %} {% set stacktrace = stacktrace.stacktrace %}

Exception: {{ stacktrace.module }}.{{ stacktrace.type }}

Message: {% if stacktrace.value %}{{ stacktrace.value }}{% else %}--{% endif %}

protected Note: Java exception messages are protected data. Protected data policy.

{% for frame in stacktrace.frames %} {% endfor %}
Frame Module Function Source In app?
{{ loop.index0 }} {{ frame.module }} {{ frame.function }} {{ frame.filename }}:{{ frame.lineno }} {{ frame.in_app }}
{% endfor %}
{% endif %} {% if parsed_dump.threads %}
{% if crashing_thread is not none %}

Crashing Thread ({{ crashing_thread }}){% if parsed_dump.threads[crashing_thread].thread_name %}, Name: {{ parsed_dump.threads[crashing_thread].thread_name }}{% endif %}

{% for frame in parsed_dump.threads[crashing_thread].frames %} {% if "truncated" in frame %} {% else %} {% if frame.inlines %} {% for inline in frame.inlines %} {% endfor %} {% endif %} {% endif %} {% endfor %}
Frame Module Signature Source Trust
{{ frame.truncated.msg }}
{% if frame.missing_symbols %} Ø {% endif %} {{ frame.frame }} {{ frame.module }} {{ inline.function }} {{ source_link(inline.source_link, inline.file, inline.line) }} inlined
{% if frame.missing_symbols %} Ø {% endif %} {{ frame.frame }} {{ frame.module }} {{ frame.signature }} {{ source_link(frame.source_link, frame.file, frame.line) }} {{ frame.trust }}

Show other threads

{% endif %}
{% for thread in parsed_dump.threads %} {% if thread.thread != crashing_thread %}

Thread {{ thread.thread }}{% if thread.thread_name %}, Name: {{ thread.thread_name }}{% endif %}

{% for frame in thread.frames %} {% if frame.truncated %} {% else %} {% if frame.inlines %} {% for inline in frame.inlines %} {% endfor %} {% endif %} {% endif %} {% endfor %}
Frame Module Signature Source Trust
truncated {{ frame.truncated|digitgroupseparator }} frames...
{% if frame.missing_symbols %} Ø {% endif %} {{ frame.frame }} {{ frame.module }} {{ inline.function }} {{ source_link(inline.source_link, inline.file, inline.line) }} inlined
{% if frame.missing_symbols %} Ø {% endif %} {{ frame.frame }} {{ frame.module }} {{ frame.signature }} {{ source_link(frame.source_link, frame.file, frame.line) }} {{ frame.trust }}
{% endif %} {% endfor %}
{% endif %} {% if request.user.has_perm('crashstats.view_pii') and report.breadcrumbs %} {% endif %}
These are the crash annotations from the submitted crash report. You can see the annotations and descriptions at https://hg.mozilla.org/mozilla-central/file/tip/toolkit/crashreporter/CrashAnnotations.yaml.

Public data

These are the crash annotations from the submitted crash report that do not contain protected data.
{% for key in public_annotations %} {% if key not in fields_from_collector %} {% endif %} {% endfor %}
{% if key %} {{ key }} {% else %} empty key {% endif %}
{{ raw[key] }}

Protected data

These are the crash annotations from the submitted crash report that contain protected data.
{% if request.user.has_perm('crashstats.view_pii') %}
{{ protected_warning() }}
{% for key in protected_annotations %} {% if key not in fields_from_collector %} {% endif %} {% endfor %}
{% if key %} {{ key }} {% else %} empty key {% endif %}
{{ raw[key] }}
{% else %}
You do not have access to protected data for this crash report. See protected data access documentation for more information.
{% endif %}

Create a bug: {% for text, template in product_details.bug_links %} {{ text }} {% if not loop.last %}|{% endif %} {% endfor %}

Related Bugs

    {% for bug in bug_associations %}
  • {{ show_bug_link(bug.bug_id) }}
  • {% endfor %}

Modules

{% if parsed_dump.modules %} {% if parsed_dump.modules_contains_cert_info %}{% endif %} {% for module in parsed_dump.modules %} {% if parsed_dump.modules_contains_cert_info %}{% endif %} {% endfor %}
Filename Version Debug Identifier Debug FilenameSigned By
{% if module.missing_symbols %} Ø {% endif %} {% if module.symbol_url %} {{ module.filename }} {% else %} {{ module.filename }} {% endif %} {{ module.version or "" }} {{ module.debug_id }} {{ module.debug_file }}{% if module.cert_subject %}{{ module.cert_subject }}{% endif %}
{% else %} No modules. {% endif %}

Unloaded modules

{% if parsed_dump.unloaded_modules %} {% for module in parsed_dump.unloaded_modules %} {% endfor %}
Filename Code id Signed By
{{ module.filename }} {{ module.code_id}} {% if module.cert_subject %}{{ module.cert_subject }}{% endif %}
{% else %} No unloaded modules. {% endif %}

Download crash annotations, processed crash, minidump, and memory report data

{% if request.user.has_perm('crashstats.view_pii') or request.user.has_perm('crashstats.view_rawdump') %}

{{ protected_warning() }} Crash annotations and processed crash report contain protected data. Please don't share minidumps with third-parties. See Protected data policy for details.

{% if request.user.has_perm('crashstats.view_pii') %}
    {% for name, url in raw_data_urls %}
  • {{ name }}
  • {% endfor %}
{% endif %} {% if request.user.has_perm('crashstats.view_rawdump') %} {% if raw_dump_urls %}

Dumps:

    {% for name, url in raw_dump_urls %}
  • {{ name }}
  • {% endfor %}
{% else %}

No dumps available.

{% endif %} {% endif %} {% if request.user.has_perm('crashstats.view_rawdump') and not raw_dump_urls %}

There are no dumps or memory report to download.

{% endif %} {% elif request.user and request.user.is_active %}

You do not have access to protected data. You need to be logged in and have access to protected data to see links to crash report data. See protected data access documentation for more information.

{% else %}

You are not logged in. You need to be logged in and have access to protected data to see links to crash report data. See protected data access documentation for more information.

{% endif %}

minidump-stackwalk output

{% if request.user.has_perm('crashstats.view_rawdump') %} {{ protected_warning() }} minidump-stackwalk output contains sensitive and exploitability information. {% else %} You do not have access to protected data so the minidump-stackwalk output is redacted. See protected data access documentation for more information. {% endif %}
{% if raw_stackwalker_output %}
{% else %}

No dump available.

{% endif %}
{% if report.addons %} {% for addon in report.addons %} {% endfor %}
Extension Id Name Version System? Signed state
{{ addon.id or "" }} {{ addon.name or "" }} {{ addon.version or "" }} {{ addon.is_system or "" }} {{ addon.get_signed_state_name() }}
{% else %}

No extensions were installed.

{% endif %}
{% if raw_telemetry_environment %} {# raw_telemetry_environment is a json-encoded string. jQuery will automatically convert it to a map upon accessing it. Safe to include here because Jinja will escape anything in it. #}
{% else %}

No telemetry environment data available.

{% endif %}


          

Debug

Information about ingestion and processing this crash report.

{% if request.user.has_perm('crashstats.view_pii') and request.user.has_perm('crashstats.view_rawdump') %} {{ protected_warning() }}

Timeline

Collected {{ raw.submitted_timestamp | human_readable_iso_date }} UTC
Start processing {{ report.started_datetime | human_readable_iso_date }} UTC
End processing {{ report.completed_datetime | human_readable_iso_date }} UTC

Collector

{% for key, val in report.collector_metadata | dictsort %} {% endfor %}
uuid {{ raw.uuid }}
submitted_timestamp {{ raw.submitted_timestamp | human_readable_iso_date }} UTC
version {{ raw.version }}
Throttleable {{ raw.Throttleable|default("--") }}
SubmittedFrom {{ raw.SubmittedFrom|default("--") }}
SubmittedFromInfobar {{ raw.SubmittedFromInfobar|default("--") }}
{{ key }} {% if key == "collector_notes" %}
{{ val | join("\n") }}
{% elif key == "dump_checksums" %} {% for name, sha in val | dictsort %} {% endfor %}
{{ name }}: {{ sha }} {% if sha == "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" %} (empty minidump) {% endif %}
{% else %} {{ val }} {% endif %}

Processor

Processing pipeline timestamps
(most recent)
start: {{ report.started_datetime | human_readable_iso_date }} UTC → end: {{ report.completed_datetime | human_readable_iso_date }} UTC {% if report.started_datetime and report.completed_datetime %} ({{ show_delta_duration(report.started_datetime, report.completed_datetime) }}) {% endif %}
# of times processed {{ report.processor_history|length + 1 }}
Stackwalker
version: {% if report and report.stackwalk_version %} {{ report.stackwalk_version }} {% endif %}
return code: {{ report.mdsw_return_code }}
status string: {{ report.mdsw_status_string }}
stderr:
{{ report.mdsw_stderr }}
Signature
signature: {{ report.signature }}
debug: {% if report.signature_debug %}
{{ report.signature_debug }}
{% else %} No signature_debug available {% endif %}
Processor notes
{{ report.processor_notes }}
Processor history {% if report.processor_history %} {% for item in report.processor_history %}
{{ item }}
{% endfor %} {% endif %}
{% else %}

You do not have access to protected data. You need to be logged in and have access to protected data to see debug information for crash ingestion. See protected data access documentation for more information.

{% endif %}
{% if request.user.has_perm('crashstats.reprocess_crashes') %}

Reprocessing will submit the this raw crash back into the processors and the new processed crash will replace the existing one. The raw crash will never change.

{% endif %}
{% endblock %}