Crash in [@ OOM | unknown | js::AutoEnterOOMUnsafeRegion::crash | js::MovableCellHasher<T>::hash]
Categories
(Core :: JavaScript: GC, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr78 | --- | unaffected |
| firefox87 | --- | unaffected |
| firefox88 | --- | wontfix |
| firefox89 | --- | wontfix |
| firefox90 | --- | fixed |
People
(Reporter: aryx, Assigned: jandem)
References
(Regression)
Details
(Keywords: crash, regression)
Crash Data
Attachments
(1 file)
Distribution is ~50% for each of Windows 7 & 10, 80% for 32-bit and 20% for 64-bit. THere are 30-60 crashes per 88 beta version.
Crash report: https://crash-stats.mozilla.org/report/index/d0ab2392-5ce1-4d7b-97ae-b72150210406
MOZ_CRASH Reason: [unhandlable oom] failed to allocate uid
Top 10 frames of crashing thread:
0 libxul.so js::AutoEnterOOMUnsafeRegion::crash js/src/vm/JSContext.cpp:1193
1 libxul.so js::MovableCellHasher<JSObject*>::hash js/src/gc/Barrier.cpp:231
2 libxul.so js::EmptyShape::getInitialShape js/src/vm/Shape.cpp:1979
3 libxul.so js::NewObjectWithGivenTaggedProto js/src/vm/JSObject.cpp:849
4 libxul.so js::CreateThisForFunction js/src/vm/PlainObject.cpp:46
5 libxul.so MaybeCreateThisForConstructor js/src/vm/Interpreter.cpp:324
6 libxul.so js::InternalCallOrConstruct js/src/vm/Interpreter.cpp:541
7 libxul.so InternalConstruct js/src/vm/Interpreter.cpp:627
8 libxul.so js::ConstructFromStack js/src/vm/Interpreter.cpp:670
9 libxul.so js::jit::DoCallFallback js/src/jit/BaselineIC.cpp:1821
| Assignee | ||
Comment 1•5 years ago
|
||
It's easy to fix this OOM by using hasHash and ensureHash in InitialShapeEntry, but I think that mechanism results in doing the unique-id lookup twice! This code path is pretty hot and I don't think that's worth the overhead.
Comment 2•5 years ago
|
||
This is still high enough volume that we should keep it on the radar to fix as soon as possible. That said, it looks unlikely to be for 88 at this point.
| Assignee | ||
Comment 3•5 years ago
|
||
I'm looking into this to see if there's a way to fix this OOM without it either affecting performance or becoming really complicated.
| Assignee | ||
Comment 4•5 years ago
|
||
This way we only do the duplicate lookup the first time an object is used as prototype.
Updated•5 years ago
|
Comment 6•5 years ago
|
||
| bugherder | ||
Comment 7•5 years ago
|
||
Jan, is that something we should uplift in RC?
Comment 8•5 years ago
|
||
The volume of crashes on nightly seems unchanged after the patch so it is not clear that the issue in beta/release would be fixed by an uplift. Wontfix for 89 as we build our Release Candidate today.
Updated•5 years ago
|
| Assignee | ||
Updated•4 years ago
|
Description
•