Fix MOZ_Assert and MOZ_Crash for Android

RESOLVED FIXED in mozilla14

Status

()

Core
MFBT
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: cpeterson, Assigned: cpeterson)

Tracking

Trunk
mozilla14
ARM
Android
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

Comment hidden (empty)
(Assignee)

Comment 1

5 years ago
Created attachment 612953 [details] [diff] [review]
bug-743306-part-1-MOZ_Assert-logcat.patch

Android's stdio and stderr are directed to /dev/null. On Android, log MOZ_Assert message to adb logcat instead of fprintf(stderr).
Attachment #612953 - Flags: review?(mh+mozilla)
(Assignee)

Comment 2

5 years ago
Created attachment 612955 [details] [diff] [review]
bug-743306-part-2-MOZ_Crash-segfault.patch

On Android, segfault in MOZ_Crash because raise(SIGABRT) is handled asynchronously.

When MOZ_Crash raises SIGABRT, the process does not die immediately. MOZ_Crash returns and the thread continues running. When all threads in the process receives a SIBABRT, the current thread's call stack will not point to MOZ_Crash. 

If we segfault in MOZ_Crash, we crash immediately and capture the current call stack pointing to MOZ_Crash. Android's dalvikvm and abort() segfault for the same reasons.
Attachment #612955 - Flags: review?(mh+mozilla)
Attachment #612953 - Flags: review?(mh+mozilla) → review+
Attachment #612955 - Flags: review?(mh+mozilla) → review+

Updated

5 years ago
Assignee: nobody → cpeterson
(Assignee)

Comment 3

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/8a7965116a33
https://hg.mozilla.org/integration/mozilla-inbound/rev/42870fe1a4a3
(Assignee)

Updated

5 years ago
Status: NEW → ASSIGNED
https://hg.mozilla.org/mozilla-central/rev/8a7965116a33
https://hg.mozilla.org/mozilla-central/rev/42870fe1a4a3
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla14
You need to log in before you can comment on or make changes to this bug.