<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Failed jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js when we don't use YarrJIT"
href="https://bugs.webkit.org/show_bug.cgi?id=147031">147031</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Failed jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js when we don't use YarrJIT
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>Product</th>
<td>WebKit
</td>
</tr>
<tr>
<th>Version</th>
<td>528+ (Nightly build)
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Unspecified
</td>
</tr>
<tr>
<th>OS</th>
<td>Unspecified
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>Normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P2
</td>
</tr>
<tr>
<th>Component</th>
<td>JavaScriptCore
</td>
</tr>
<tr>
<th>Assignee</th>
<td>webkit-unassigned@lists.webkit.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>mark.lam@apple.com
</td>
</tr></table>
<p>
<div>
<pre>Steps to reproduce:
1. Modify Platform.h and #define ENABLE_YARR_JIT 0
2. Build with Tools/Scripts/build-jsc --debug --no-ftl-jit
3. Run Tools/Scripts/run-javascriptcore-tests --debug --no-build
You'll see the following failures:
** The following JSC stress test failures have been introduced:
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout-ftl
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout-no-cjit
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout-no-llint
Here's an example crash trace:
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout-no-llint: ERROR: Unexpected exit code: 139
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: This page tests handling of parentheses subexpressions.
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout:
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout:
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout:
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp1.exec('abc') is ['ab','a','b']
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp2.exec('abacadabe') is ['abe','ab','b','b']
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp3.exec('abacadabe') is ['abe','ab','b',undefined]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp4.exec('abacadabe') is ['abe','ab','b',undefined]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp5.exec('abacadabe') is ['abe','ab','b','b',undefined,undefined]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp6.exec('abcde') is ['ab','ab','b','b',undefined,undefined]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: ASSERTION FAILED: (&term - term.atom.parenthesesWidth)->inputPosition == term.inputPosition
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: /Volumes/Data/ws6/OpenSource/Source/JavaScriptCore/yarr/YarrInterpreter.cpp(740) : bool JSC::Yarr::Interpreter<unsigned char>::backtrackParenthesesOnceEnd(JSC::Yarr::ByteTerm &, JSC::Yarr::Interpreter::DisjunctionContext *) [CharType = unsigned char]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 1 0x10c641510 WTFCrash
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 2 0x10c60aa3d JSC::Yarr::Interpreter<unsigned char>::backtrackParenthesesOnceEnd(JSC::Yarr::ByteTerm&, JSC::Yarr::Interpreter<unsigned char>::DisjunctionContext*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 3 0x10c6075d2 JSC::Yarr::Interpreter<unsigned char>::matchDisjunction(JSC::Yarr::ByteDisjunction*, JSC::Yarr::Interpreter<unsigned char>::DisjunctionContext*, bool)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 4 0x10c5fc951 JSC::Yarr::Interpreter<unsigned char>::interpret()
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 5 0x10c5fc4fd JSC::Yarr::interpret(JSC::Yarr::BytecodePattern*, WTF::String const&, unsigned int, unsigned int*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 6 0x10c52d362 JSC::RegExp::match(JSC::VM&, WTF::String const&, unsigned int)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 7 0x10c536270 JSC::RegExpConstructor::performMatch(JSC::VM&, JSC::RegExp*, JSC::JSString*, WTF::String const&, int)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 8 0x10c535f03 JSC::RegExpObject::match(JSC::ExecState*, JSC::JSString*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 9 0x10c535de7 JSC::RegExpObject::exec(JSC::ExecState*, JSC::JSString*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 10 0x10c536a32 JSC::regExpProtoFuncExec(JSC::ExecState*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 11 0x206b23001028
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 12 0x10c3d3b01 llint_entry
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 13 0x10c3cd2c9 vmEntryToJavaScript
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 14 0x10c22913c JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 15 0x10c20a060 JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::ExecState*, JSC::JSValue, JSC::JSScope*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 16 0x10c20964b JSC::eval(JSC::ExecState*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 17 0x10c3c6e28 llint_slow_path_call_eval
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 18 0x10c3d3e1c llint_entry
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 19 0x10c3d3b01 llint_entry
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 20 0x10c3cd2c9 vmEntryToJavaScript
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 21 0x10c22913c JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 22 0x10c20cec3 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 23 0x10bceedc1 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 24 0x10bb45194 runWithScripts(GlobalObject*, WTF::Vector<Script, 0ul, WTF::CrashOnOverflow, 16ul> const&, bool)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 25 0x10bb4452f jscmain(int, char**)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 26 0x10bb4402b main
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 27 0x7fff95a505ad start
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 28 0x6
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: test_script_20907: line 2: 86725 Segmentation fault: 11 "$@" ../../../../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --enableFunctionDotArguments\=true resources/standalone-pre.js parentheses.js resources/standalone-post.js
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: ERROR: Unexpected exit code: 139</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>