<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 - ASSERION failure: !masqueradesAsUndefinedWatchpointIsStillValid() || !isKnownCell(operand.node())"
   href="https://bugs.webkit.org/show_bug.cgi?id=168587">168587</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>ASSERION failure: !masqueradesAsUndefinedWatchpointIsStillValid() || !isKnownCell(operand.node())
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Local 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&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mark.lam&#64;apple.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>When running the JSC tests with a debug build (WebKit trunk r212625 in my case), we sometimes get this failure:

stress/test-finally.js.ftl-eager: ASSERTION FAILED: The Compare should have been eliminated, it is known to be always false.
stress/test-finally.js.ftl-eager: !masqueradesAsUndefinedWatchpointIsStillValid() || !isKnownCell(operand.node())
stress/test-finally.js.ftl-eager: /Volumes/Data/ws3/OpenSource/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp(222) : void JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined(JSC::DFG::Edge)
stress/test-finally.js.ftl-eager: 1   0x108aec19d WTFCrash
stress/test-finally.js.ftl-eager: 2   0x108161af9 JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined(JSC::DFG::Edge)
stress/test-finally.js.ftl-eager: 3   0x1080fdbdb JSC::DFG::SpeculativeJIT::compare(JSC::DFG::Node*, JSC::MacroAssemblerX86Common::RelationalCondition, JSC::MacroAssemblerX86Common::DoubleCondition, unsigned long (*)(JSC::ExecState*, long long, long long))
stress/test-finally.js.ftl-eager: 4   0x108171617 JSC::DFG::SpeculativeJIT::compile(JSC::DFG::Node*)
stress/test-finally.js.ftl-eager: 5   0x1080e30af JSC::DFG::SpeculativeJIT::compileCurrentBlock()
stress/test-finally.js.ftl-eager: 6   0x1080e3c43 JSC::DFG::SpeculativeJIT::compile()
stress/test-finally.js.ftl-eager: 7   0x107fa27e7 JSC::DFG::JITCompiler::compileBody()
stress/test-finally.js.ftl-eager: 8   0x107fa78a3 JSC::DFG::JITCompiler::compileFunction()
stress/test-finally.js.ftl-eager: 9   0x108094b4e JSC::DFG::Plan::compileInThreadImpl(JSC::DFG::LongLivedState&amp;)
stress/test-finally.js.ftl-eager: 10  0x108091e49 JSC::DFG::Plan::compileInThread(JSC::DFG::LongLivedState&amp;, JSC::DFG::ThreadData*)
stress/test-finally.js.ftl-eager: 11  0x108207325 JSC::DFG::Worklist::ThreadBody::work()
stress/test-finally.js.ftl-eager: 12  0x108afa25d WTF::AutomaticThread::start(WTF::Locker&lt;WTF::LockBase&gt; const&amp;)::$_0::operator()() const
stress/test-finally.js.ftl-eager: 13  0x108afa01d void std::__1::__invoke_void_return_wrapper&lt;void&gt;::__call&lt;WTF::AutomaticThread::start(WTF::Locker&lt;WTF::LockBase&gt; const&amp;)::$_0&amp;&gt;(WTF::AutomaticThread::start(WTF::Locker&lt;WTF::LockBase&gt; const&amp;)::$_0&amp;&amp;&amp;)
stress/test-finally.js.ftl-eager: 14  0x108af9db9 std::__1::__function::__func&lt;WTF::AutomaticThread::start(WTF::Locker&lt;WTF::LockBase&gt; const&amp;)::$_0, std::__1::allocator&lt;WTF::AutomaticThread::start(WTF::Locker&lt;WTF::LockBase&gt; const&amp;)::$_0&gt;, void ()&gt;::operator()()
stress/test-finally.js.ftl-eager: 15  0x1080d9e5a std::__1::function&lt;void ()&gt;::operator()() const
stress/test-finally.js.ftl-eager: 16  0x108b5c4a7 WTF::threadEntryPoint(void*)
stress/test-finally.js.ftl-eager: 17  0x108b5e081 WTF::wtfThreadEntryPoint(void*)
stress/test-finally.js.ftl-eager: 18  0x7fffd076eaab _pthread_body
stress/test-finally.js.ftl-eager: 19  0x7fffd076e9f7 _pthread_body
stress/test-finally.js.ftl-eager: 20  0x7fffd076e1fd thread_start
stress/test-finally.js.ftl-eager: test_script_16641: line 2: 42646 Segmentation fault: 11  ( &quot;$&#64;&quot; ../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --useFunctionDotArguments\=true --maxPerThreadStackUsage\=1572864 --useFTLJIT\=true --thresholdForJITAfterWarmUp\=10 --thresholdForJITSoon\=10 --thresholdForOptimizeAfterWarmUp\=20 --thresholdForOptimizeAfterLongWarmUp\=20 --thresholdForOptimizeSoon\=20 --thresholdForFTLOptimizeAfterWarmUp\=20 --thresholdForFTLOptimizeSoon\=20 --maximumEvalCacheableSourceLength\=150000 --useEagerCodeBlockJettisonTiming\=true test-finally.js )
stress/test-finally.js.ftl-eager: 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>