<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>147031</bug_id>
          
          <creation_ts>2015-07-16 21:34:53 -0700</creation_ts>
          <short_desc>Failed jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js when we don&apos;t use YarrJIT</short_desc>
          <delta_ts>2015-07-16 21:35:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1110084</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-07-16 21:34:53 -0700</bug_when>
    <thetext>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&apos;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&apos;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 &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
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(&apos;abc&apos;) is [&apos;ab&apos;,&apos;a&apos;,&apos;b&apos;]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp2.exec(&apos;abacadabe&apos;) is [&apos;abe&apos;,&apos;ab&apos;,&apos;b&apos;,&apos;b&apos;]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp3.exec(&apos;abacadabe&apos;) is [&apos;abe&apos;,&apos;ab&apos;,&apos;b&apos;,undefined] 
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp4.exec(&apos;abacadabe&apos;) is [&apos;abe&apos;,&apos;ab&apos;,&apos;b&apos;,undefined]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp5.exec(&apos;abacadabe&apos;) is [&apos;abe&apos;,&apos;ab&apos;,&apos;b&apos;,&apos;b&apos;,undefined,undefined]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: PASS regexp6.exec(&apos;abcde&apos;) is [&apos;ab&apos;,&apos;ab&apos;,&apos;b&apos;,&apos;b&apos;,undefined,undefined]
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: ASSERTION FAILED: (&amp;term - term.atom.parenthesesWidth)-&gt;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&lt;unsigned char&gt;::backtrackParenthesesOnceEnd(JSC::Yarr::ByteTerm &amp;, 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&lt;unsigned char&gt;::backtrackParenthesesOnceEnd(JSC::Yarr::ByteTerm&amp;, JSC::Yarr::Interpreter&lt;unsigned char&gt;::DisjunctionContext*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 3   0x10c6075d2 JSC::Yarr::Interpreter&lt;unsigned char&gt;::matchDisjunction(JSC::Yarr::ByteDisjunction*, JSC::Yarr::Interpreter&lt;unsigned char&gt;::DisjunctionContext*, bool)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 4   0x10c5fc951 JSC::Yarr::Interpreter&lt;unsigned char&gt;::interpret()
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 5   0x10c5fc4fd JSC::Yarr::interpret(JSC::Yarr::BytecodePattern*, WTF::String const&amp;, unsigned int, unsigned int*)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 6   0x10c52d362 JSC::RegExp::match(JSC::VM&amp;, WTF::String const&amp;, unsigned int)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 7   0x10c536270 JSC::RegExpConstructor::performMatch(JSC::VM&amp;, JSC::RegExp*, JSC::JSString*, WTF::String const&amp;, 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&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout: 24  0x10bb45194 runWithScripts(GlobalObject*, WTF::Vector&lt;Script, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, 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  &quot;$@&quot; ../../../../../.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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110086</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-16 21:35:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/21869357&gt;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>