Bug 168587
Summary: | ASSERTION failure: !masqueradesAsUndefinedWatchpointIsStillValid() || !isKnownCell(operand.node()) | ||
---|---|---|---|
Product: | WebKit | Reporter: | Mark Lam <mark.lam> |
Component: | JavaScriptCore | Assignee: | Mark Lam <mark.lam> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | fpizlo, ggaren, jfbastien, keith_miller, msaboff, ryanhaddad, saam, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Local Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | 172673 | ||
Bug Blocks: |
Mark Lam
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&)
stress/test-finally.js.ftl-eager: 10 0x108091e49 JSC::DFG::Plan::compileInThread(JSC::DFG::LongLivedState&, 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<WTF::LockBase> const&)::$_0::operator()() const
stress/test-finally.js.ftl-eager: 13 0x108afa01d void std::__1::__invoke_void_return_wrapper<void>::__call<WTF::AutomaticThread::start(WTF::Locker<WTF::LockBase> const&)::$_0&>(WTF::AutomaticThread::start(WTF::Locker<WTF::LockBase> const&)::$_0&&&)
stress/test-finally.js.ftl-eager: 14 0x108af9db9 std::__1::__function::__func<WTF::AutomaticThread::start(WTF::Locker<WTF::LockBase> const&)::$_0, std::__1::allocator<WTF::AutomaticThread::start(WTF::Locker<WTF::LockBase> const&)::$_0>, void ()>::operator()()
stress/test-finally.js.ftl-eager: 15 0x1080d9e5a std::__1::function<void ()>::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 ( "$@" ../../.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
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Ryan Haddad
This flaky assertion still appears on the Debug JSC bot:
https://build.webkit.org/builders/Apple%20El%20Capitan%20Debug%20JSC%20%28Tests%29/builds/333
Radar WebKit Bug Importer
<rdar://problem/32201671>
Ryan Haddad
Skipped test in http://trac.webkit.org/projects/webkit/changeset/217621
Filip Pizlo
(In reply to Ryan Haddad from comment #3)
> Skipped test in http://trac.webkit.org/projects/webkit/changeset/217621
Thanks!
Mark Lam
Looks like this issue is solved by https://bugs.webkit.org/show_bug.cgi?id=172673. Will un-skip the test once the fix lands.
Mark Lam
Since the fix has landed in r217896: <http://trac.webkit.org/changeset/217896>, I've unskipped the test in r217900: <http://trac.webkit.org/r217900>.
Mark Lam
*** This bug has been marked as a duplicate of bug 172673 ***