NEW 160283
[JSC Debug] ASSERTION FAILED: The Compare should have been eliminated, it is known to be always false.
https://bugs.webkit.org/show_bug.cgi?id=160283
Summary [JSC Debug] ASSERTION FAILED: The Compare should have been eliminated, it is ...
Ryan Haddad
Reported 2016-07-27 20:37:44 PDT
Created attachment 284753 [details] Crashlog Intermittent assertion failure seen on Yosemite JSC Debug with regress/script-tests/Float32Array-matrix-mult.js.dfg-eager https://build.webkit.org/builders/Apple%20Yosemite%20Debug%20JSC%20%28Tests%29/builds/6555 regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: ASSERTION FAILED: The Compare should have been eliminated, it is known to be always false. regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: !masqueradesAsUndefinedWatchpointIsStillValid() || !isKnownCell(operand.node()) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: /Volumes/Data/slave/yosemite-debug/build/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp(219) : void JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined(JSC::DFG::Edge) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 1 0x10e72ea50 WTFCrash regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 2 0x10ddf12a9 JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined(JSC::DFG::Edge) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 3 0x10dd9ff11 JSC::DFG::SpeculativeJIT::compare(JSC::DFG::Node*, JSC::MacroAssemblerX86Common::RelationalCondition, JSC::MacroAssemblerX86Common::DoubleCondition, unsigned long (*)(JSC::ExecState*, long long, long long)) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 4 0x10ddfe2c7 JSC::DFG::SpeculativeJIT::compile(JSC::DFG::Node*) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 5 0x10dd8e1bc JSC::DFG::SpeculativeJIT::compileCurrentBlock() regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 6 0x10dd8e996 JSC::DFG::SpeculativeJIT::compile() regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 7 0x10dc5cc17 JSC::DFG::JITCompiler::compileBody() regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 8 0x10dc60690 JSC::DFG::JITCompiler::compileFunction() regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 9 0x10dd4d2cb JSC::DFG::Plan::compileInThreadImpl(JSC::DFG::LongLivedState&) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 10 0x10dd4be42 JSC::DFG::Plan::compileInThread(JSC::DFG::LongLivedState&, JSC::DFG::ThreadData*) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 11 0x10de8f286 JSC::DFG::Worklist::runThread(JSC::DFG::ThreadData*) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 12 0x10de8cf94 JSC::DFG::Worklist::threadFunction(void*) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 13 0x10e7a1989 WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 14 0x10e7a195d void std::__1::__invoke_void_return_wrapper<void>::__call<WTF::createThread(void (*)(void*), void*, char const*)::$_0&>(WTF::createThread(void (*)(void*), void*, char const*)::$_0&&&) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 15 0x10e7a18fc std::__1::__function::__func<WTF::createThread(void (*)(void*), void*, char const*)::$_0, std::__1::allocator<WTF::createThread(void (*)(void*), void*, char const*)::$_0>, void ()>::operator()() regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 16 0x10ddb546a std::__1::function<void ()>::operator()() const regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 17 0x10e7a055e WTF::threadEntryPoint(void*) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 18 0x10e7a2001 WTF::wtfThreadEntryPoint(void*) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 19 0x7fff8103905a _pthread_body regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 20 0x7fff81038fd7 _pthread_body regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: 21 0x7fff810363ed thread_start regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: test_script_19003: line 2: 71759 Segmentation fault: 11 ( "$@" ../../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --useFunctionDotArguments\=true --maxPerThreadStackUsage\=1572864 --thresholdForJITAfterWarmUp\=10 --thresholdForJITSoon\=10 --thresholdForOptimizeAfterWarmUp\=20 --thresholdForOptimizeAfterLongWarmUp\=20 --thresholdForOptimizeSoon\=20 --thresholdForFTLOptimizeAfterWarmUp\=20 --thresholdForFTLOptimizeSoon\=20 --maximumEvalCacheableSourceLength\=150000 Float32Array-matrix-mult.js ) regress/script-tests/Float32Array-matrix-mult.js.dfg-eager: ERROR: Unexpected exit code: 139 FAIL: regress/script-tests/Float32Array-matrix-mult.js.dfg-eager
Attachments
Crashlog (38.80 KB, application/octet-stream)
2016-07-27 20:37 PDT, Ryan Haddad
no flags
Ryan Haddad
Comment 1 2016-07-27 20:44:52 PDT
Looking at the last 200 test runs, the first time this appeared was r203403, but that change itself seems unrelated. https://build.webkit.org/builders/Apple%20Yosemite%20Debug%20JSC%20%28Tests%29/builds/6473
Mark Lam
Comment 2 2016-07-27 20:57:23 PDT
(In reply to comment #1) > Looking at the last 200 test runs, the first time this appeared was r203403, > but that change itself seems unrelated. > > https://build.webkit.org/builders/ > Apple%20Yosemite%20Debug%20JSC%20%28Tests%29/builds/6473 I don't think it's due to that revision. If we look at the trend, we'll see that this failure is intermittent. I don't think we'll be able to point a finger at a specific revision easily.
Alexey Proskuryakov
Comment 3 2017-07-31 13:21:02 PDT
Ryan Haddad
Comment 4 2017-08-16 09:27:56 PDT
Saam Barati
Comment 5 2017-08-21 00:41:46 PDT
I think I saw this locally recently too.
Ryan Haddad
Comment 6 2017-08-23 09:04:07 PDT
This just happened on both Sierra and El Capitan Debug JSC bots with stress/test-finally.js. https://build.webkit.org/builders/Apple%20Sierra%20Debug%20JSC%20(Tests)/builds/886 https://build.webkit.org/builders/Apple%20El%20Capitan%20Debug%20JSC%20(Tests)/builds/1046 Since this is frequently making the bots red, I may just go ahead and skip stress/test-finally.js.
Radar WebKit Bug Importer
Comment 7 2017-08-24 08:42:30 PDT
Ryan Haddad
Comment 8 2017-08-24 08:45:53 PDT
This made the bots red again today. Skipped the test in https://trac.webkit.org/r221137
Saam Barati
Comment 9 2017-08-30 15:07:25 PDT
I’ll try to look into this.
Ryan Haddad
Comment 10 2017-09-14 17:35:29 PDT
This continues to be a source of flakiness: microbenchmarks/Float32Array-matrix-mult.js.ftl-eager https://build.webkit.org/builders/Apple%20Sierra%20Debug%20JSC%20(Tests)/builds/1003 stress/to-lower-case-intrinsic-on-empty-rope.js.ftl-eager https://build.webkit.org/builders/Apple%20Sierra%20Debug%20JSC%20%28Tests%29/builds/1001
Note You need to log in before you can comment on or make changes to this bug.