Assertion failure: !empty(), at dist/include/mozilla/Vector.h:597
Categories
(Core :: JavaScript: GC, defect, P3)
Tracking
()
People
(Reporter: gkw, Assigned: jonco)
References
(Blocks 1 open bug, Regression)
Details
(6 keywords, Whiteboard: [adv-main143+][adv-esr140.3+])
Attachments
(13 files)
|
3.46 KB,
text/plain
|
Details | |
|
7.67 MB,
application/octet-stream
|
Details | |
|
7.67 MB,
application/octet-stream
|
Details | |
|
9.29 MB,
application/octet-stream
|
Details | |
|
9.29 MB,
application/octet-stream
|
Details | |
|
9.29 MB,
application/octet-stream
|
Details | |
|
9.29 MB,
application/octet-stream
|
Details | |
|
9.29 MB,
application/octet-stream
|
Details | |
|
9.29 MB,
application/octet-stream
|
Details | |
|
9.29 MB,
application/octet-stream
|
Details | |
|
9.29 MB,
application/octet-stream
|
Details | |
|
9.29 MB,
application/octet-stream
|
Details | |
|
48 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-esr140+
|
Details | Review |
for (let i = 0; i < 200; i++) {
var x = /x/;
oomTest(function () {
gcslice(99999);
enableGeckoProfiling();
disableGeckoProfiling();
});
}
(gdb) bt
#0 0x0000555557deec44 in MOZ_CrashSequence (aAddress=0x0, aLine=597) at /home/msf1/shell-cache/js-dbg-64-linux-x86_64-37783a3d0d3f/objdir-js/dist/include/mozilla/Assertions.h:248
#1 mozilla::Vector<js::gcstats::Statistics::SliceData, 8ul, js::SystemAllocPolicy>::back (this=0x7ffff5e329c0)
at /home/msf1/shell-cache/js-dbg-64-linux-x86_64-37783a3d0d3f/objdir-js/dist/include/mozilla/Vector.h:597
#2 js::gcstats::Statistics::recordParallelPhase (this=0x7ffff5e32960, phaseKind=js::gcstats::PhaseKind::SWEEP, duration=...)
at /home/msf1/trees/mozilla-central/js/src/gc/Statistics.cpp:1569
#3 0x0000555557d2ed27 in js::GCParallelTask::join (this=0x7ffff5e349b0, deadline=...) at /home/msf1/trees/mozilla-central/js/src/gc/GCParallelTask.cpp:95
#4 0x0000555557df1820 in js::gc::GCRuntime::waitBackgroundSweepEnd (this=0x7ffff5e32888) at /home/msf1/trees/mozilla-central/js/src/gc/Sweeping.cpp:547
#5 0x000055555740ed49 in js::gc::ZoneAllCellIter<js::gc::TenuredCell>::initForTenuredIteration (this=0x7fffffffb210, zone=0x7ffff4cc9000, kind=<optimized out>)
at /home/msf1/trees/mozilla-central/js/src/gc/GC-inl.h:159
/snip
This seems to have occurred since prior to m-c rev 1db2ef126a6a, gh rev 48de8371eacd8be6e794cba9b8849d085edaecf1 (late-Apr 2024, Firefox 127-approx).
Run with --fuzzing-safe --ion-offthread-compile=off --ion-eager, compile with AR=ar sh ../configure --enable-debug --enable-debug-symbols --with-ccache --enable-nspr-build --enable-ctypes --enable-gczeal --enable-rust-simd --disable-tests, tested on m-c rev 37783a3d0d3f.
This seems to be really reproducible on a machine for me, yet unreliable/non-reproducible on another, I'm not sure why.
Jon/Steve, any ideas?
| Reporter | ||
Comment 1•1 year ago
|
||
Combine using:
cat x00 x01 > out.tar.xz
The SHA-256 checksum of the tarball should be 6da9f9b8f4bade01899579150e9957cade3868fa2dc408d07a204f40eca4472e, and this will contain the coredump.
| Reporter | ||
Comment 2•1 year ago
|
||
| Reporter | ||
Comment 3•1 year ago
|
||
Combine using:
cat xa* > binary.tar.xz
The SHA-256 checksum of the tarball should be 0276315941f33d76f4acae594ebf8d8cc58bb3c2c7cad7707b48a92d474515f7, and this will contain the shell.
Run these with gdb using gdb SHELL COREDUMP. I split this up due to Bugzilla attachment upload size limitations.
| Reporter | ||
Comment 4•1 year ago
|
||
| Reporter | ||
Comment 5•1 year ago
|
||
| Reporter | ||
Comment 6•1 year ago
|
||
| Reporter | ||
Comment 7•1 year ago
|
||
| Reporter | ||
Comment 8•1 year ago
|
||
| Reporter | ||
Comment 9•1 year ago
|
||
| Reporter | ||
Comment 10•1 year ago
|
||
| Reporter | ||
Comment 11•1 year ago
|
||
| Reporter | ||
Comment 12•1 year ago
|
||
Use the set substitute-path command in gdb to change paths to the local m-c source directory.
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 13•1 year ago
|
||
I can't reproduce this but I can see what the problem is.
| Assignee | ||
Comment 14•1 year ago
|
||
|aborted| is reset to false at the end of a slice but
GCRuntime::waitBackgroundSweepEnd can be called outside of a slice.
| Assignee | ||
Comment 15•1 year ago
|
||
This is a buffer overrun but it depends on OOM happening at a particular point and is also depends on a later operation happening at the right time. So this is hard to trigger.
| Assignee | ||
Comment 16•1 year ago
|
||
I'll mark this sec-moderate as it requires OOM and difficult timing to trigger.
Comment 17•1 year ago
|
||
Comment 18•1 year ago
|
||
Set release status flags based on info from the regressing bug 1634429
Comment 19•1 year ago
|
||
Comment 20•1 year ago
|
||
The patch landed in nightly and beta is affected.
:jonco, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- See https://wiki.mozilla.org/Release_Management/Requesting_an_Uplift for documentation on how to request an uplift.
- If no, please set
status-firefox142towontfix.
For more information, please visit BugBot documentation.
Comment 21•1 year ago
|
||
We'll want an ESR140 uplift request, but that'll be all at this point.
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 22•11 months ago
|
||
Comment on attachment 9506407 [details]
(secure)
ESR Uplift Approval Request
- If this is not a sec:{high,crit} bug, please state case for ESR consideration: This is still a possible security vulnerability it's just harder to exploit because it requires OOM.
- User impact if declined: Possible crash / security vulnerability.
- Fix Landed on Version: 143
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): This is a very simple change and has been present in nightly for two weeks without incident.
Updated•11 months ago
|
Comment 23•11 months ago
|
||
Comment on attachment 9506407 [details]
(secure)
Approved for 140.3esr.
Updated•11 months ago
|
Comment 24•11 months ago
|
||
| uplift | ||
Updated•11 months ago
|
Updated•11 months ago
|
Updated•11 months ago
|
Updated•11 months ago
|
Updated•4 months ago
|
Description
•