Storing the memory around the instruction IP is broken in 32-bit Linux builds
Categories
(Toolkit :: Crash Reporting, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox111 | --- | wontfix |
firefox112 | --- | wontfix |
firefox113 | --- | fixed |
People
(Reporter: gsvelto, Assigned: afranchuk)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
As per title, toolkit/crashreporter/test/unit/test_crashreporter_crash.js
fails on Linux 32-bit builds on this check. Disabling the oxidized writer and re-enabling the Breakpad writer solves the problem so chances are that the regressing bug was 1620993 but I need to test it.
Reporter | ||
Comment 1•8 months ago
|
||
Turns out this used to work, it broke with bug 1793784.
Comment 2•8 months ago
|
||
Set release status flags based on info from the regressing bug 1793784
Updated•8 months ago
|
Comment 3•8 months ago
|
||
:gsvelto can you set the severity on this ticket? even though it was regressed in 110, trying to assess tracking for 112.
Reporter | ||
Comment 4•8 months ago
|
||
I'm giving it S3 because it affects a subset of our crash reports and even for those affected we don't rely on this information just yet (but we want to).
Updated•8 months ago
|
Assignee | ||
Comment 5•8 months ago
|
||
This is due to the process context information having the incorrect type (i64
) for general registers. As a result, all registers and the signal mask in 32bit crash reports have been incorrect.
I've submitted a PR to fix the issue here.
Assignee | ||
Comment 6•8 months ago
|
||
Using the newer version of the crash-context crate corrects the 32-bit Linux context structure,
which was the cause of the IP memory not being stored (among possibly other 32-bit Linux issues).
Reporter | ||
Updated•8 months ago
|
Reporter | ||
Comment 7•8 months ago
|
||
Jake Shadle just cut a new release of minidump-writer. Let's pull it, audit it and this bug will be fixed as it'll pull in the new version of crash-context
with your fix. Additionally we'll get a couple more small fixes on Linux which doesn't hurt.
Assignee | ||
Comment 8•8 months ago
|
||
Sounds great, will do so now.
Assignee | ||
Comment 9•8 months ago
•
|
||
This is slightly complicated by bitflags 2
being newly used in minidump-writer
, where bitflags 1
is used in the rest of m-c. I doubt minidump-writer
actually needs version 2, but that's what's in the latest release. And version 1 is used by a lot of crates in the graph.
Updated•8 months ago
|
Comment 10•8 months ago
|
||
Pushed by afranchuk@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c4f82df5d5ac Storing the memory around the instruction IP is broken in 32-bit Linux builds r=gsvelto,glandium,supply-chain-reviewers
Comment 11•8 months ago
|
||
bugherder |
Comment 12•8 months ago
|
||
The patch landed in nightly and beta is affected.
:afranchuk, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set
status-firefox112
towontfix
.
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 13•8 months ago
|
||
Using the newer version of the crash-context crate corrects the 32-bit Linux context structure,
which was the cause of the IP memory not being stored (among possibly other 32-bit Linux issues).
Original Revision: https://phabricator.services.mozilla.com/D174314
Comment 14•8 months ago
|
||
Uplift Approval Request
- Fix verified in Nightly: yes
- Explanation of risk level: The change fixes a bug on x86 Linux and does not affect other platforms.
- Steps to reproduce for manual QE testing: None
- Code covered by automated testing: yes
- String changes made/needed: No
- Needs manual QE test: no
- User impact if declined: Minimal. Users on x86 Linux may, however unlikely, encounter a crash in the minidump writer due to invalid memory access.
- Risk associated with taking this patch: Low
- Is Android affected?: no
Assignee | ||
Updated•8 months ago
|
Assignee | ||
Updated•8 months ago
|
Comment 15•8 months ago
|
||
Comment on attachment 9327520 [details]
Bug 1823692 - Storing the memory around the instruction IP is broken in 32-bit Linux builds r=gsvelto,#firefox-build-system-reviewers
Changing nomination to release
Comment 16•8 months ago
|
||
Comment on attachment 9327520 [details]
Bug 1823692 - Storing the memory around the instruction IP is broken in 32-bit Linux builds r=gsvelto,#firefox-build-system-reviewers
This is an S3 110 regression and doesn't graft cleanly to release. I think it might be best for this to ride the 113 trains and go out on May 9th. If you feel strongly otherwise, please feel free to NI me.
Updated•7 months ago
|
Updated•7 months ago
|
Description
•