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.
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)
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+
Optimistically checking this in. http://hg.mozilla.org/mozilla-central/rev/e7dc2d0fed3a
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
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+
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 ago → 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.