Assertion failure: whyMagic() == why, at dist/include/js/Value.h:863
Categories
(Core :: JavaScript Engine, task, P2)
Tracking
()
People
(Reporter: saelo, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
text/javascript
|
Details |
The attached sample triggers an assertion failure in Spidermonkey debug builds from current HEAD. Here is the backtrace from gdb:
#0 0x000055555752a638 in JS::Value::isMagic (this=0x7fffffff9e28, why=JS_ION_ERROR) at obj-debug/dist/include/js/Value.h:863
#1 0x000055555775a453 in js::WrappedPtrOperations<JS::Value, JS::Rooted<JS::Value>, void>::isMagic (this=0x7fffffff9e18, why=JS_ION_ERROR) at obj-debug/dist/include/js/Value.h:1332
#2 0x000055555852bfdf in EnterBaseline (cx=0x7ffff772f100, data=...) at js/src/jit/BaselineJIT.cpp:160
#3 0x000055555852b89a in js::jit::EnterBaselineInterpreterAtBranch (cx=0x7ffff772f100, fp=0x7ffff5675020, pc=0x7ffff5628d3b "\224\t") at js/src/jit/BaselineJIT.cpp:198
#4 0x00005555576c2fbb in Interpret (cx=0x7ffff772f100, state=...) at js/src/vm/Interpreter.cpp:2219
#5 0x00005555576c1f71 in js::RunScript (cx=0x7ffff772f100, state=...) at js/src/vm/Interpreter.cpp:431
#6 0x00005555576dae51 in js::ExecuteKernel (cx=0x7ffff772f100, script=..., envChainArg=..., evalInFrame=..., result=...) at js/src/vm/Interpreter.cpp:812
#7 0x00005555576db1c4 in js::Execute (cx=0x7ffff772f100, script=..., envChain=..., rval=...) at js/src/vm/Interpreter.cpp:844
#8 0x000055555787f03e in ExecuteScript (cx=0x7ffff772f100, envChain=..., script=..., rval=...) at js/src/vm/CompilationAndEvaluation.cpp:473
#9 0x000055555787f165 in JS_ExecuteScript (cx=0x7ffff772f100, scriptArg=...) at js/src/vm/CompilationAndEvaluation.cpp:497
#10 0x000055555751e42f in RunFile (cx=0x7ffff772f100, filename=0x7fffffffdc0b "crashes/program_20230122010834_1BFE7704-D67D-473E-B239-A23576660167_deterministic.js", file=0x7ffff7862020, compileMethod=CompileUtf8::DontInflate, compileOnly=false, fullParse=false) at js/src/shell/js.cpp:1059
#11 0x000055555751dd05 in Process (cx=0x7ffff772f100, filename=0x7fffffffdc0b "crashes/program_20230122010834_1BFE7704-D67D-473E-B239-A23576660167_deterministic.js", forceTTY=false, kind=FileScript) at js/src/shell/js.cpp:1657
#12 0x00005555574f831b in ProcessArgs (cx=0x7ffff772f100, op=0x7fffffffd5e8) at js/src/shell/js.cpp:10616
#13 0x00005555574ea54b in Shell (cx=0x7ffff772f100, op=0x7fffffffd5e8) at js/src/shell/js.cpp:11323
#14 0x00005555574e5153 in main (argc=3, argv=0x7fffffffd8a8) at js/src/shell/js.cpp:12452
The sample could unfortunately not be properly minimized by Fuzzilli as it crashed during "exploration": https://github.com/googleprojectzero/fuzzilli/blob/main/Sources/Fuzzilli/Mutators/ExplorationMutator.swift the "real" testcase is at the bottom of the file (starting at function f3(a4, a5) {
), the part above it is the exploration logic.
The crash may be related to the Debugger API which is (afaik) not exposed to web content. I'm still filing this as a security issue as a precaution.
Updated•2 years ago
|
Comment 1•2 years ago
|
||
Not sure about the security rating at the moment.
Iain, can you reduce the test case and figure out what is the issue here, and the severity of it?
Comment 2•2 years ago
|
||
This is a duplicate of bug 1812979. Looks like the fix landed a few hours after this bug was opened.
Description
•