[Android 5.1 / API 22 with ARM v7] Crash in [@ FileID::ElfClassBuildIDNoteIdentifier]
Categories
(Core :: Gecko Profiler, defect, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr128 | --- | unaffected |
| firefox-esr140 | --- | unaffected |
| firefox141 | --- | unaffected |
| firefox142 | --- | unaffected |
| firefox143 | --- | fixed |
People
(Reporter: aryx, Assigned: canova)
References
(Regression)
Details
(Keywords: crash, regression)
Crash Data
Attachments
(1 external file)
6 crash reports for Firefox for Android 143.0a1 with ARM v6, oldest build ID is 20250725093757
The crash stacks are corrupted.
Crash report: https://crash-stats.mozilla.org/report/index/d7bb6a9b-33d6-4394-b30b-b94a30250807
Reason:
SIGSEGV / SEGV_MAPERR
Top 8 frames:
0 libmozglue.so FileID::ElfClassBuildIDNoteIdentifier(void const*, unsigned int, std::__ndk1:... mozglue/baseprofiler/core/shared-libraries-linux.cc:369
0 libmozglue.so dl_iterate_callback(dl_phdr_info*, unsigned int, void*) mozglue/baseprofiler/core/shared-libraries-linux.cc:761
1 linker linker@0x1385
2 libsentry.so libsentry.so@0x32
3 libmozglue.so SharedLibraryInfo::GetInfoForSelf() mozglue/baseprofiler/core/shared-libraries-linux.cc:866
4 libmozglue.so <.plt ELF section in libmozglue.so>
5 libmozglue.so <.plt ELF section in libmozglue.so>
6 eglsubAndroid.so eglsubAndroid.so@0x800e
Comment 1•1 year ago
|
||
Timing and stack look maybe related to bug 1867280?
Comment 2•1 year ago
|
||
I guess we are dropping support for API 22 later this year, so eventually this won't be an issue. Maybe Nazim does have some quick ideas here though
| Assignee | ||
Comment 3•1 year ago
|
||
Huh, that's weird. This is definitely a regression from bug 1773313. I think it's better to move this to the gecko profiler component.
I don't really have a quick fix to the crash, it normally should happen. It seems like some parts of the note section are not mapped correctly?
OTOH, you're right about API 22. Hopefully that will not be an issue soon.
Comment 4•1 year ago
|
||
The product::component has been changed since the backlog priority was decided, so we're resetting it.
For more information, please visit BugBot documentation.
Comment 5•1 year ago
|
||
Set release status flags based on info from the regressing bug 1773313
| Assignee | ||
Updated•1 year ago
|
Comment 6•1 year ago
|
||
I think this is caused by the custom linker passing null as the base address. For example we return null from SystemElf::GetBase
| Assignee | ||
Comment 7•1 year ago
|
||
Yeah, it seems like you're right, thanks. I'm still unsure when we use SystemElf::GetBase though and if we should fix it too? But at least I have enough information to fix this issue.
| Assignee | ||
Comment 8•1 year ago
•
|
||
Oh, it looks like we have a __wrap_dl_iterate_phdr here that we only use when the Android version is below 23. Apparently we are not using the custom linker when it's version 23 and above (bug 1291377). That explains why we are seeing this in version 22.
| Assignee | ||
Comment 9•1 year ago
|
||
Skip entries with null base addresses in dl_iterate_callback to prevent
segmentation faults when SystemElf::GetBase() returns nullptr. This
prevents crashes on Android API 22 ARM where the custom linker can
pass null as the base address.
Updated•1 year ago
|
Comment 10•1 year ago
|
||
Comment 11•1 year ago
|
||
| bugherder | ||
Updated•1 year ago
|
Description
•