Assertion failure: framePtr->hasCachedSavedFrame() || hasGoodExcuse, at vm/SavedStacks.cpp:1483
Categories
(Core :: JavaScript Engine, defect, P1)
Tracking
()
People
(Reporter: sm-bugs, Assigned: jandem)
References
(Blocks 2 open bugs)
Details
(Keywords: reporter-external, sec-low, Whiteboard: [adv-main128+])
Attachments
(4 files)
Steps to reproduce:
Checkout commit 97eeb1c55a5c73bd3938d4899685321a7967333b and invoke the JS shell as shown below. Please note that this seems to be a flaky crash that only triggers one-fifth of the executions.
js --fuzzing-safe --fast-warmup --ion-check-range-analysis --ion-extra-checks --disable-oom-functions --enable-new-set-methods --small-function-length=1024 --inlining-entry-threshold=8 --gc-zeal=21,210 --ion-scalar-replacement=on --ion-pruning=on --ion-range-analysis=on --ion-inlining=on --ion-gvn=on --ion-osr=on --ion-edgecase-analysis=on --spectre-mitigations=on --ion-limit-script-size=on --ion-offthread-compile=on --ion-optimize-gcbarriers=on --ion-iterator-indices=on --nursery-size=2 --nursery-strings=on --nursery-bigints=on --enable-ic-frame-pointers --disable-bailout-loop-check --ion-optimize-shapeguards=on --ion-licm=on --ion-instruction-reordering=on --cache-ir-stubs=on --no-sse42 --monomorphic-inlining=default --ion-load-keys=off --ion-sink=off <testcase>
``
Actual results:
Assertion failure: framePtr->hasCachedSavedFrame() || hasGoodExcuse, at vm/SavedStacks.cpp:1483
Updated•1 year ago
|
Assignee | ||
Comment 1•1 year ago
|
||
Good find. This is similar to bug 1900523 but when we do a direct call instead of through a JSJitToWasm
frame.
Assignee | ||
Comment 2•1 year ago
|
||
This is similar to bug 1900523, but the fix there was incomplete because the
JSJitToWasm
frame type is only used when we go through the Wasm JIT entry
trampoline. Ion can also call Wasm functions directly and in that case the type
will be FrameType::Exit
.
Updated•1 year ago
|
Assignee | ||
Comment 3•1 year ago
|
||
I'll mark this sec-low like bug 1900523. The bug and analysis is very similar.
![]() |
||
Comment 5•1 year ago
|
||
Assignee | ||
Comment 6•1 year ago
|
||
This is similar to bug 1900523, but the fix there was incomplete because the
JSJitToWasm
frame type is only used when we go through the Wasm JIT entry
trampoline. Ion can also call Wasm functions directly and in that case the type
will be FrameType::Exit
.
Original Revision: https://phabricator.services.mozilla.com/D214098
Updated•1 year ago
|
Comment 7•1 year ago
|
||
beta Uplift Approval Request
- User impact if declined: This is related to bug 1900523 and it would be nice to have both patches in ESR 128
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: -
- Risk associated with taking this patch: Low
- Explanation of risk level: Fix for an edge case
- String changes made/needed: No
- Is Android affected?: yes
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 9•1 year ago
|
||
I'm sorry, the bounty payment information was intended for your bug 1901411
Updated•1 year ago
|
Comment 10•1 year ago
|
||
Updated•1 year ago
|
Updated•10 months ago
|
Updated•6 months ago
|
Description
•