SUMMARY: * Nondeterministic crashes when stepping through Web Inspector code in Web Inspector^2 STEPS TO REPRODUCE: (N.B. it may reproduce on other simpler breakpoints, this is just where I hit it > once) * Open Web Inspector * Open Web Inspector^2 * [^2] Set a breakpoint in DebuggerSidebarPanel.showDefaultContentView * Close and reopen Web Inspector^1 * Should hit breakpoint * Wait 1 minute * Start single-stepping EXPECTED: * No crashes ACTUAL: * Occasional crashes in the debuggee process. Call stack: CallFrameProxy#ECFZ1O:[0x11a53ae00->0x10c918e00, BaselineFunctionConstruct, 424 (FTLFail)]: we have result = CompilationSuccessful but we are our own replacement. 1 0x107796126 JSC::JITToDFGDeferredCompilationCallback::compilationDidComplete(JSC::CodeBlock*, JSC::CodeBlock*, JSC::CompilationResult) 2 0x107610ca4 JSC::DFG::Worklist::completeAllReadyPlansForVM(JSC::VM&, JSC::DFG::CompilationKey) 3 0x107610ede JSC::DFG::Worklist::completeAllPlansForVM(JSC::VM&) 4 0x1076123d8 JSC::DFG::completeAllPlansForVM(JSC::VM&) 5 0x107426a5d JSC::Debugger::setPauseOnNextStatement(bool) 6 0x10770534c non-virtual thunk to Inspector::InspectorDebuggerAgent::pause(WTF::String&) 7 0x1076e5a5d Inspector::DebuggerBackendDispatcher::pause(long, WTF::RefPtr<Inspector::InspectorObject>&&) 8 0x1076e414c Inspector::DebuggerBackendDispatcher::dispatch(long, WTF::String const&, WTF::Ref<Inspector::InspectorObject>&&) 9 0x1076d2aa3 Inspector::BackendDispatcher::dispatch(WTF::String const&) 10 0x106689084 void IPC::handleMessage<Messages::WebInspector::SendMessageToBackend, WebKit::WebInspector, void (WebKit::WebInspector::*)(WTF::String const&)>(IPC::MessageDecoder&, WebKit::WebInspector*, void (WebKit::WebInspector::*)(WTF::String const&)) 11 0x106512957 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >) 12 0x1065152b0 IPC::Connection::dispatchOneMessage() 13 0x107a78e75 WTF::RunLoop::performWork() 14 0x107a79222 WTF::RunLoop::performWork(void*) 15 0x7fff8eb295c1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 16 0x7fff8eb1b41c __CFRunLoopDoSources0 17 0x7fff8eb1a93f __CFRunLoopRun 18 0x7fff8eb1a338 CFRunLoopRunSpecific 19 0x7fff99c6d935 RunCurrentEventLoopInMode 20 0x7fff99c6d76f ReceiveNextEventCommon 21 0x7fff99c6d5af _BlockUntilNextEventMatchingListInModeWithFilter 22 0x7fffa0ee11c6 _DPSNextEvent 23 0x7fffa12ada9f -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] 24 0x1082cb9fa WebCore::EventLoop::cycle() 25 0x108a72568 WebCore::PageScriptDebugServer::runEventLoopWhilePaused() 26 0x1079d2941 Inspector::ScriptDebugServer::handlePause(JSC::JSGlobalObject*, JSC::Debugger::ReasonForPause) 27 0x107426c8d JSC::Debugger::pauseIfNeeded(JSC::ExecState*) 28 0x107427012 JSC::Debugger::atStatement(JSC::ExecState*) 29 0x1078b74d5 llint_slow_path_debug 30 0x1078c0e9b llint_entry 31 0x483cefc3380c
<rdar://problem/23506164>