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•2 years ago
|
||
Turns out this used to work, it broke with bug 1793784.
Comment 2•2 years ago
|
||
Set release status flags based on info from the regressing bug 1793784
Updated•2 years ago
|
Comment 3•2 years 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•2 years 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•2 years ago
|
Assignee | ||
Comment 5•2 years 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•2 years 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•2 years ago
|
Reporter | ||
Comment 7•2 years 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•2 years ago
|
||
Sounds great, will do so now.
Assignee | ||
Comment 9•2 years 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•2 years ago
|
Comment 10•2 years ago
|
||
Comment 11•2 years ago
|
||
bugherder |
Comment 12•2 years 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•2 years 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•2 years 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•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Comment 15•2 years 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•2 years 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•1 year ago
|
Updated•1 year ago
|
Description
•