Android module list writing fails sometimes

RESOLVED FIXED

Status

()

defect
RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: ted, Assigned: ted)

Tracking

Trunk
ARM
Android
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(fennec2.0b3+)

Details

Attachments

(2 attachments)

Stuart noticed that most of our Android crash reports had no signature, just bare addresses. I took a look and noticed that they were all missing a module list. After downloading a minidump and poking at it;
https://crash-stats.mozilla.com/report/index/0939a341-a273-4427-892e-e308e2101105

I found that it had a module list in the dump, but that the Breakpad minidump reader failed to read it, because it had two modules with conflicting address ranges listed. Turns out that our module mappings can have shmem mappings that cover portions of the address range, and since those are named mappings (/dev/AShmem), they'll wind up in the module list, which breaks things. The solution is to ignore any mappings from /proc/self/maps that are wholly contained within any of the mappings that we've already provided via API.
tracking-fennec: --- → ?
I don't know how to test if this fixes the actual problem on a device, since I couldn't reproduce the problem there in the first place, but I wrote a unit test that displayed the same behavior, and my patch makes that test pass, so I think this should do the trick.
Attachment #489465 - Flags: review?(mwu)
tracking-fennec: ? → 2.0b3+

Comment 2

9 years ago
Comment on attachment 489465 [details] [diff] [review]
fix Linux minidump writer to ignore mappings that are wholly contained within mappings provided by the API

Looks fine. I can't review the unittest part too thoroughly but it seems reasonable.
Attachment #489465 - Flags: review?(mwu) → review+

Comment 3

9 years ago
Optimistically checking this in.

http://hg.mozilla.org/mozilla-central/rev/e7dc2d0fed3a
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED

Updated

9 years ago
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Updated

9 years ago
Attachment #489995 - Flags: review?(ted.mielczarek)
Comment on attachment 489995 [details] [diff] [review]
Round length up to the nearest page

This should do the trick.
Attachment #489995 - Flags: review?(ted.mielczarek) → review+

Comment 6

9 years ago
http://hg.mozilla.org/mozilla-central/rev/ff41dc90458e

Leaving this open until someone finally gets a proper stack.
FYI, you can verify the dump contents by running minidump_stackwalk on it. There are prebuilt copies in the build/tools repo if you don't feel like pulling and building Breakpad:
http://hg.mozilla.org/build/tools/file/1a015ad2c8b0/breakpad

Just run minidump_stackwalk /path/to/dump.dmp, and if you get a list of modules at the end, then it did the right thing.
I got a useful crash report with today's nightly:
http://crash-stats.mozilla.com/report/index/b5beb6c0-9034-444b-a8e9-d86522101112

and I poked around crash-stats and found one from someone else:
http://crash-stats.mozilla.com/report/index/8354fac6-d700-498d-aa5c-3113b2101112
Status: REOPENED → RESOLVED
Last Resolved: 9 years ago9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.