Closed Bug 1736968 Opened 4 years ago Closed 4 years ago

Add "mozalloc_abort" crash reason to distinguish mozalloc_abort() and bare MOZ_CRASH() crashes

Categories

(Core :: MFBT, task, P3)

task

Tracking

()

RESOLVED FIXED
95 Branch
Tracking Status
firefox-esr78 --- wontfix
firefox-esr91 --- wontfix
firefox93 --- wontfix
firefox94 --- wontfix
firefox95 --- fixed

People

(Reporter: cpeterson, Assigned: cpeterson)

References

Details

Attachments

(2 files)

About 45% of MOZ_CRASH() crash pings on Beta (and 5-10% on Nightly and Release) have no crash reason, so the source can't be identified. Many of these are probably OOMs calling mozalloc_abort(), but we don't really know.

Bug 1278613 suggested passing mozalloc_abort()'s message parameter to MOZ_CRASH() or MOZ_CRASH_UNSAFE(), but there were concerns about the message containing PII or formatting the message after an OOM might crash.

Until someone addresses those concerns, we can at least add a static "mozalloc_abort" crash reason to distinguish mozalloc_abort() and bare MOZ_CRASH() crashes.

This extra MOZ_CRASH() is not needed on non-ARM builds where mozalloc_abort() is a MOZ_NORETURN function.

Depends on D129114

Attachment #9247006 - Attachment description: Bug 1736968 - Add "mozalloc_abort" crash reason to distinguish mozalloc_abort() and bare MOZ_CRASH() crashes. r?glandium → Bug 1736968 - Pass mozalloc_abort() crash reason to MOZ_CRASH() to distinguish mozalloc_abort() and bare MOZ_CRASH() crashes. r?glandium
Attachment #9247007 - Attachment description: Bug 1736968 - Add a MOZ_CRASH() reason and #ifdef for abort()'s __arm__ noreturn case. r?glandium → Bug 1736968 - Change MOZ_CRASH() to MOZ_ASSUME_UNREACHABLE_MARKER() for abort()'s ARM noreturn case. r?glandium
Pushed by cpeterson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/dee2e7821994 Pass mozalloc_abort() crash reason to MOZ_CRASH() to distinguish mozalloc_abort() and bare MOZ_CRASH() crashes. r=glandium https://hg.mozilla.org/integration/autoland/rev/2f3b5d0ef911 Change MOZ_CRASH() to MOZ_ASSUME_UNREACHABLE_MARKER() for abort()'s ARM noreturn case. r=glandium
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: