<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Thanks for your reply. I changed to a debug version of JSC build, and the stack looks a little different. It seems that&nbsp;source.provider()-&gt;source() became empty for some reason. The weird thing is that the crash did not happen when launched with “Malloc Scribble” or “Malloc Guard Edges” in Xcode.</div><div class=""><br class=""></div><div class="">My project is complicated, so it’s hard to say how to reproduce this. But I will try to reproduce the crash with a simplified project, and report the steps later.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class="">#0<span class="Apple-tab-span" style="white-space:pre">        </span>0x00000001017515e0 in ::WTFCrash() at /Users/hoolai/WebKit-GIT/Source/WTF/wtf/Assertions.cpp:379</div><div class="">#1<span class="Apple-tab-span" style="white-space:pre">        </span>0x000000010162887c in std::__1::unique_ptr&lt;JSC::FunctionNode, std::__1::default_delete&lt;JSC::FunctionNode&gt; &gt; JSC::parse&lt;JSC::FunctionNode&gt;(JSC::VM*, JSC::SourceCode const&amp;, JSC::Identifier const&amp;, JSC::JSParserBuiltinMode, JSC::JSParserStrictMode, JSC::JSParserScriptMode, JSC::SourceParseMode, JSC::SuperBinding, JSC::ParserError&amp;, JSC::JSTextPosition*, JSC::ConstructorKind, JSC::DerivedContextType, JSC::EvalContextType, JSC::DebuggerParseData*) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/parser/Parser.h:1877</div><div class="">#2<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000101627db8 in JSC::generateUnlinkedFunctionCodeBlock(JSC::VM&amp;, JSC::UnlinkedFunctionExecutable*, JSC::SourceCode const&amp;, JSC::CodeSpecializationKind, JSC::DebuggerMode, JSC::UnlinkedFunctionKind, JSC::ParserError&amp;, JSC::SourceParseMode) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp:56</div><div class="">#3<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000101627b80 in JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor(JSC::VM&amp;, JSC::SourceCode const&amp;, JSC::CodeSpecializationKind, JSC::DebuggerMode, JSC::ParserError&amp;, JSC::SourceParseMode) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp:210</div><div class="">#4<span class="Apple-tab-span" style="white-space:pre">        </span>0x000000010157e2f0 in JSC::ScriptExecutable::newCodeBlockFor(JSC::CodeSpecializationKind, JSC::JSFunction*, JSC::JSScope*, JSC::JSObject*&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/runtime/ScriptExecutable.cpp:217</div><div class="">#5<span class="Apple-tab-span" style="white-space:pre">        </span>0x000000010157f3cc in JSC::ScriptExecutable::prepareForExecutionImpl(JSC::VM&amp;, JSC::JSFunction*, JSC::JSScope*, JSC::CodeSpecializationKind, JSC::CodeBlock*&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/runtime/ScriptExecutable.cpp:310</div><div class="">#6<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000101130340 in JSC::JSObject* JSC::ScriptExecutable::prepareForExecution&lt;JSC::FunctionExecutable&gt;(JSC::VM&amp;, JSC::JSFunction*, JSC::JSScope*, JSC::CodeSpecializationKind, JSC::CodeBlock*&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/bytecode/CodeBlock.h:1095</div><div class="">#7<span class="Apple-tab-span" style="white-space:pre">        </span>0x00000001013711a0 in JSC::LLInt::setUpCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind, JSC::JSValue, JSC::LLIntCallLinkInfo*) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1304</div><div class="">#8<span class="Apple-tab-span" style="white-space:pre">        </span>0x00000001013703d4 in JSC::LLInt::genericCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1354</div><div class="">#9<span class="Apple-tab-span" style="white-space:pre">        </span>0x00000001013702cc in ::llint_slow_path_call(JSC::ExecState *, JSC::Instruction *) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1361</div><div class="">#10<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000101381ba0 in llint_entry ()</div><div class="">#11<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000101381bb0 in llint_entry ()</div><div class="">#12<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000101381bb0 in llint_entry ()</div><div class="">#13<span class="Apple-tab-span" style="white-space:pre">        </span>0x000000010137b258 in llintPCRangeStart ()</div><div class="">#14<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000101178864 in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/jit/JITCode.cpp:81</div><div class="">#15<span class="Apple-tab-span" style="white-space:pre">        </span>0x00000001011301d4 in JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/interpreter/Interpreter.cpp:927</div><div class="">#16<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100afa078 in JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/runtime/CallData.cpp:39</div><div class="">#17<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100afa16c in JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/runtime/CallData.cpp:59</div><div class="">#18<span class="Apple-tab-span" style="white-space:pre">        </span>0x000000010128003c in ::JSObjectCallAsFunction(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef *, JSValueRef *) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/API/JSObjectRef.cpp:563</div></div><div class=""><br class=""></div><br class=""><div><blockquote type="cite" class=""><div class="">On 6 Feb 2017, at 1:36 AM, Geoffrey Garen &lt;<a href="mailto:ggaren@apple.com" class="">ggaren@apple.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Shuan.<div class=""><br class=""></div><div class="">The backtrace you included does not remind me of&nbsp;Bug 160337, but it does remind me of another crash that we’d like to diagnose and fix.</div><div class=""><br class=""></div><div class="">Do you think you could provide Saam instructions on how to reproduce this crash?</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Geoff</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Feb 5, 2017, at 1:32 AM, shuan zhao &lt;<a href="mailto:hszhsh@icloud.com" class="">hszhsh@icloud.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I’m running apps embedding my own build of JavaScriptCore on iOS (using C APIs only). It runs well on iOS 10 but crashes on iOS 9 or iOS 8. I guess it will also crash on iOS 7 or earlier systems which I have not tested on.<div class=""><br class=""><div class="">I found the bug (<a href="https://bugs.webkit.org/show_bug.cgi?id=160337" style="color: rgb(102, 51, 102); font-family: Verdana, Arial, Helvetica; font-size: 15px; font-weight: bold; background-color: rgb(208, 208, 208);" class=""><b class="">Bug&nbsp;160337</b></a><span style="font-family: Verdana, Arial, Helvetica; font-size: 15px; font-weight: bold; background-color: rgb(208, 208, 208);" class="">&nbsp;-</span><span id="summary_alias_container" style="font-family: Verdana, Arial, Helvetica; font-size: 15px; font-weight: bold; background-color: rgb(208, 208, 208);" class="">&nbsp;<span id="short_desc_nonedit_display" class="">Crash in JavaScriptCore GC when using JSC on dispatch queues (thread_get_state returns NULL stack pointer)</span></span>). But my case is totally different because I have never got null stack pointer from thread_get_state. And I found that when launched with the option “Malloc Scribble” or “Malloc Guard Edges” checked in Xcode, my app won’t crash any more.</div><div class=""><br class=""></div><div class="">I have no idea what causes this crash. It would be very nice of you if you would give me some hints on the issue.</div><div class=""><br class=""></div><div class="">Mostly the crash stack was as follows, but sometimes it was different. And sometimes it reported errors that should not exist and crashed later.</div><div class=""><br class=""></div><div class=""><div class="">#0<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100d66ca4 in JSC::Lexer&lt;unsigned short&gt;::setCode(JSC::SourceCode const&amp;, JSC::ParserArena*) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/parser/Lexer.cpp:571</div><div class="">#1<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100e037f8 in JSC::Parser&lt;JSC::Lexer&lt;unsigned short&gt; &gt;::Parser(JSC::VM*, JSC::SourceCode const&amp;, JSC::JSParserBuiltinMode, JSC::JSParserStrictMode, JSC::JSParserScriptMode, JSC::SourceParseMode, JSC::SuperBinding, JSC::ConstructorKind, JSC::DerivedContextType, bool, JSC::EvalContextType, JSC::DebuggerParseData*) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/parser/Parser.cpp:125</div><div class="">#2<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100e03c28 in JSC::Parser&lt;JSC::Lexer&lt;unsigned short&gt; &gt;::Parser(JSC::VM*, JSC::SourceCode const&amp;, JSC::JSParserBuiltinMode, JSC::JSParserStrictMode, JSC::JSParserScriptMode, JSC::SourceParseMode, JSC::SuperBinding, JSC::ConstructorKind, JSC::DerivedContextType, bool, JSC::EvalContextType, JSC::DebuggerParseData*) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/parser/Parser.cpp:123</div><div class="">#3<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100f3311c in std::__1::unique_ptr&lt;JSC::FunctionNode, std::__1::default_delete&lt;JSC::FunctionNode&gt; &gt; JSC::parse&lt;JSC::FunctionNode&gt;(JSC::VM*, JSC::SourceCode const&amp;, JSC::Identifier const&amp;, JSC::JSParserBuiltinMode, JSC::JSParserStrictMode, JSC::JSParserScriptMode, JSC::SourceParseMode, JSC::SuperBinding, JSC::ParserError&amp;, JSC::JSTextPosition*, JSC::ConstructorKind, JSC::DerivedContextType, JSC::EvalContextType, JSC::DebuggerParseData*) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/parser/Parser.h:1890</div><div class="">#4<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100f32b8c in JSC::generateUnlinkedFunctionCodeBlock(JSC::VM&amp;, JSC::UnlinkedFunctionExecutable*, JSC::SourceCode const&amp;, JSC::CodeSpecializationKind, JSC::DebuggerMode, JSC::UnlinkedFunctionKind, JSC::ParserError&amp;, JSC::SourceParseMode) [inlined] at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp:56</div><div class="">#5<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100f32b4c in JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor(JSC::VM&amp;, JSC::SourceCode const&amp;, JSC::CodeSpecializationKind, JSC::DebuggerMode, JSC::ParserError&amp;, JSC::SourceParseMode) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp:210</div><div class="">#6<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100ee8518 in JSC::ScriptExecutable::newCodeBlockFor(JSC::CodeSpecializationKind, JSC::JSFunction*, JSC::JSScope*, JSC::JSObject*&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/runtime/ScriptExecutable.cpp:217</div><div class="">#7<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100ee8bc8 in JSC::ScriptExecutable::prepareForExecutionImpl(JSC::VM&amp;, JSC::JSFunction*, JSC::JSScope*, JSC::CodeSpecializationKind, JSC::CodeBlock*&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/runtime/ScriptExecutable.cpp:310</div><div class="">#8<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100da0cd4 in JSC::JSObject* JSC::ScriptExecutable::prepareForExecution&lt;JSC::FunctionExecutable&gt;(JSC::VM&amp;, JSC::JSFunction*, JSC::JSScope*, JSC::CodeSpecializationKind, JSC::CodeBlock*&amp;) [inlined] at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/bytecode/CodeBlock.h:1095</div><div class="">#9<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100da0cbc in JSC::LLInt::setUpCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind, JSC::JSValue, JSC::LLIntCallLinkInfo*) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1304</div><div class="">#10<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100daa270 in llint_entry ()</div><div class="">#11<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100da9e84 in llint_entry ()</div><div class="">#12<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100da9ee8 in llint_entry ()</div><div class="">#13<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100da35f8 in vmEntryToJavaScript ()</div><div class="">#14<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100c4defc in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/jit/JITCode.cpp:81</div><div class="">#15<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100c20fc0 in JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/interpreter/Interpreter.cpp:927</div><div class="">#16<span class="Apple-tab-span" style="white-space:pre">        </span>0x00000001008d8000 in JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) [inlined] at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/runtime/CallData.cpp:39</div><div class="">#17<span class="Apple-tab-span" style="white-space:pre">        </span>0x00000001008d7fd0 in JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/runtime/CallData.cpp:59</div><div class="">#18<span class="Apple-tab-span" style="white-space:pre">        </span>0x0000000100cecb38 in ::JSObjectCallAsFunction(JSContextRef, JSObjectRef, JSObjectRef, size_t, const JSValueRef *, JSValueRef *) at /Users/hoolai/WebKit-GIT/Source/JavaScriptCore/API/JSObjectRef.cpp:563</div></div><div class=""><br class=""></div></div></div>_______________________________________________<br class="">jsc-dev mailing list<br class=""><a href="mailto:jsc-dev@lists.webkit.org" class="">jsc-dev@lists.webkit.org</a><br class=""><a href="https://lists.webkit.org/mailman/listinfo/jsc-dev" class="">https://lists.webkit.org/mailman/listinfo/jsc-dev</a><br class=""></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></body></html>