Bug 168587

Summary: ASSERTION failure: !masqueradesAsUndefinedWatchpointIsStillValid() || !isKnownCell(operand.node())
Product: WebKit Reporter: Mark Lam <mark.lam>
Component: JavaScriptCoreAssignee: 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
Reported 2017-02-20 00:00:17 PST
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
Ryan Haddad
Comment 1 2017-05-03 11:24:26 PDT
Radar WebKit Bug Importer
Comment 2 2017-05-15 11:08:24 PDT
Ryan Haddad
Comment 3 2017-05-31 13:13:47 PDT
Filip Pizlo
Comment 4 2017-05-31 13:20:07 PDT
(In reply to Ryan Haddad from comment #3) > Skipped test in http://trac.webkit.org/projects/webkit/changeset/217621 Thanks!
Mark Lam
Comment 5 2017-06-07 09:51:08 PDT
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
Comment 6 2017-06-07 13:01:16 PDT
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
Comment 7 2017-06-07 13:01:35 PDT
*** This bug has been marked as a duplicate of bug 172673 ***
Note You need to log in before you can comment on or make changes to this bug.