Closed
Bug 1505719
Opened 7 years ago
Closed 7 years ago
Cannot resolve symbol table on Android since breakpad id is mismatched
Categories
(Core :: Gecko Profiler, defect)
Tracking
()
RESOLVED
FIXED
mozilla65
| Tracking | Status | |
|---|---|---|
| firefox65 | --- | fixed |
People
(Reporter: m_kato, Assigned: mstange)
References
Details
Attachments
(1 file)
After landing bug 1457481, profiler can read symbol table and returns it to perf-html.io. But as long as I test this, my devices (xperia Z3 compact and pixel 2) cannot resolve local libraries such as libc.so.
When debugging this, get_compact_symbol_table in rust-helper/src/elf.rs always returns None since breakpad id is invalid. Because Uuid::from_bytes doesn't consider endian. So use Uuid::from_fields or consider endian to calculate buildpad id of local symbol.
| Reporter | ||
Comment 1•7 years ago
|
||
or fix ElfFile.build_id. But I don't know whether it is better yet.
| Reporter | ||
Comment 2•7 years ago
|
||
See Also: → https://github.com/uuid-rs/uuid/issues/277
| Assignee | ||
Comment 3•7 years ago
|
||
I'm going to reinstate the previous code (maybe in a slightly simplified form) from https://d3kxowhw4s8amj.cloudfront.net/file/data/ajkadqiw5fidwcmfaxzy/PHID-FILE-bhbbx4sspaittejrx55v/D7021.id19147.diff
With libxul.so, I'm running into the endianness problem you mentioned.
With libESXGLESv2_adreno.so, I'm running into the problem that this binary does not even have a PT_NOTE for a NT_GNU_BUILD_ID; ElfFile::build_id() returns None. This only started happening after an OS update; with the previous OS version, libESXGLESv2_adreno.so *did have* a NT_GNU_BUILD_ID.
Assignee: nobody → mstange
Status: NEW → ASSIGNED
| Assignee | ||
Comment 4•7 years ago
|
||
| Assignee | ||
Comment 5•7 years ago
|
||
Ted, I haven't forgotten your comment about using scroll for the endianness-swapping (you mentioned it at https://phabricator.services.mozilla.com/D7021?id=19147#inline-27653 ), but I looked at your code and didn't find it all that much clearer, so I stuck with the manual calls to reverse().
Pushed by mstange@themasta.com:
https://hg.mozilla.org/integration/autoland/rev/1f38344436a9
Try harder when computing breakpad IDs for Android system libraries. r=ted
Comment 7•7 years ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox65:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
You need to log in
before you can comment on or make changes to this bug.
Description
•