* STEPS TO REPRODUCE 1. Go to <https://www.apple.com/> 2. Open the inspector via context menu "Inspect Element" 3. Close the tab via Cmd-W * CRASH thread #1: tid = 0xc5ef59, 0x0000000100f7bf76 WebKit`WebKit::WebPageProxy::inspectorAttachmentView(this=0x0000000000000000) + 4 at WebPageProxyMac.mm:590, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x38) frame #0: 0x0000000100f7bf76 WebKit`WebKit::WebPageProxy::inspectorAttachmentView(this=0x0000000000000000) + 4 at WebPageProxyMac.mm:590 587 #if WK_API_ENABLED 588 NSView *WebPageProxy::inspectorAttachmentView() 589 { -> 590 return m_pageClient.inspectorAttachmentView(); 591 } 592 593 _WKRemoteObjectRegistry *WebPageProxy::remoteObjectRegistry() * BACKTRACE thread #1: tid = 0xc5ef59, 0x0000000100f7bf76 WebKit`WebKit::WebPageProxy::inspectorAttachmentView(this=0x0000000000000000) + 4 at WebPageProxyMac.mm:590, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x38) * frame #0: 0x0000000100f7bf76 WebKit`WebKit::WebPageProxy::inspectorAttachmentView(this=0x0000000000000000) + 4 at WebPageProxyMac.mm:590 frame #1: 0x0000000100f25e70 WebKit`WebKit::WebInspectorProxy::platformDetach(this=0x00000001054a66f8) + 30 at WebInspectorProxyMac.mm:752 frame #2: 0x0000000100f222d3 WebKit`WebKit::WebInspectorProxy::didClose(this=0x00000001054a66f8) + 109 at WebInspectorProxy.cpp:592 frame #3: 0x0000000100f22255 WebKit`WebKit::WebInspectorProxy::invalidate(this=0x00000001054a66f8) + 139 at WebInspectorProxy.cpp:120 frame #4: 0x0000000100f5dc3e WebKit`WebKit::WebPageProxy::resetState(this=0x00000001080a8c18, resetStateReason=PageInvalidated) + 132 at WebPageProxy.cpp:4934 frame #5: 0x0000000100f5c77d WebKit`WebKit::WebPageProxy::close(this=0x00000001080a8c18) + 129 at WebPageProxy.cpp:822 frame #6: 0x00007fff8e6301d5 Safari`Safari::SearchableWebContentViewController::close() + 205 frame #7: 0x00007fff8e34c9b5 Safari`Safari::BrowserContentViewController::close() + 1129 frame #8: 0x00007fff8e3e4ab6 Safari`-[BrowserWindowControllerMac _closeTabWithoutConfirming:allowUndo:] + 1389 frame #9: 0x00007fff8e3e4547 Safari`-[BrowserWindowControllerMac _closeTabWithoutConfirming:] + 34 frame #10: 0x00007fff8e3d555a Safari`-[BrowserWindowControllerMac closeTabOrWindowWithoutConfirming:] + 327 frame #11: 0x00007fff8e3aab2a Safari`Safari::BrowserTab::closeWithoutConfirming() + 56 frame #12: 0x00007fff8e589cf5 Safari`Safari::WK::closePage(OpaqueWKPage const*, void const*) + 39 frame #13: 0x0000000100f7e948 WebKit`WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&) [inlined] void IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(bool), std::__1::tuple<bool>, 0ul>(object=0x00000001080a8c18, function=0x0000000000000000)(bool), std::__1::tuple<bool>&&, std::index_sequence<0ul>) + 12 at HandleMessage.h:16 frame #14: 0x0000000100f7e93c WebKit`WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&) [inlined] void IPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(bool), std::__1::tuple<bool>, std::make_index_sequence<1ul> >(function=0x0000000000000000)(bool)) at HandleMessage.h:22 frame #15: 0x0000000100f7e93c WebKit`WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&) [inlined] void IPC::handleMessage<Messages::WebPageProxy::ClosePage, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(bool)>(function=0x0000000000000000)(bool)) + 24 at HandleMessage.h:92 frame #16: 0x0000000100f7e924 WebKit`WebKit::WebPageProxy::didReceiveMessage(this=0x00000001080a8c18, connection=<unavailable>, decoder=<unavailable>) + 1474 at WebPageProxyMessageReceiver.cpp:232 frame #17: 0x0000000100de94b7 WebKit`IPC::MessageReceiverMap::dispatchMessage(this=<unavailable>, connection=0x000000010a3522b0, decoder=0x000000010a3d4088) + 113 at MessageReceiverMap.cpp:102 frame #18: 0x0000000100fc1686 WebKit`WebKit::WebProcessProxy::didReceiveMessage(this=0x000000010a36c5c0, connection=0x000000010a3522b0, decoder=0x000000010a3d4088) + 24 at WebProcessProxy.cpp:488 frame #19: 0x0000000100d9e1e7 WebKit`IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >) [inlined] IPC::Connection::dispatchMessage(this=<unavailable>, decoder=<unavailable>) + 127 at Connection.cpp:891 frame #20: 0x0000000100d9e1da WebKit`IPC::Connection::dispatchMessage(this=0x000000010a3522b0, message=unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> > @ 0x00007fff5fbfde80) + 114 at Connection.cpp:922 frame #21: 0x0000000100da0b06 WebKit`IPC::Connection::dispatchOneMessage(this=0x000000010a3522b0) + 126 at Connection.cpp:953 frame #22: 0x0000000100866b85 JavaScriptCore`WTF::RunLoop::performWork() [inlined] std::__1::function<void ()>::operator(this=0x000000000000000a)() const + 437 at functional:1793 frame #23: 0x0000000100866b7b JavaScriptCore`WTF::RunLoop::performWork(this=0x000000010a3f9000) + 427 at RunLoop.cpp:104 frame #24: 0x0000000100866f32 JavaScriptCore`WTF::RunLoop::performWork(context=<unavailable>) + 34 at RunLoopCF.cpp:38 frame #25: 0x00007fff94c3f5c1 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 frame #26: 0x00007fff94c3141c CoreFoundation`__CFRunLoopDoSources0 + 556 frame #27: 0x00007fff94c3093f CoreFoundation`__CFRunLoopRun + 927 frame #28: 0x00007fff94c30338 CoreFoundation`CFRunLoopRunSpecific + 296 frame #29: 0x00007fff8ada8935 HIToolbox`RunCurrentEventLoopInMode + 235 frame #30: 0x00007fff8ada876f HIToolbox`ReceiveNextEventCommon + 432 frame #31: 0x00007fff8ada85af HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 71 frame #32: 0x00007fff9200e0ee AppKit`_DPSNextEvent + 1067 frame #33: 0x00007fff923da943 AppKit`-[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454 frame #34: 0x00007fff8e32f37f Safari`-[BrowserApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 252 frame #35: 0x00007fff92003fc8 AppKit`-[NSApplication run] + 682 frame #36: 0x00007fff91f86520 AppKit`NSApplicationMain + 1176 frame #37: 0x00007fff950ab5ad libdyld.dylib`start + 1 frame #38: 0x00007fff950ab5ad libdyld.dylib`start + 1
<rdar://problem/24099423>
Created attachment 270751 [details] Patch
Comment on attachment 270751 [details] Patch r=me but please test under debug build if possible before committing. This change may have been included in my attempted fix for https://bugs.webkit.org/show_bug.cgi?id=152080.
Comment on attachment 270751 [details] Patch Debug build is good. No test failures locally.
Comment on attachment 270751 [details] Patch Clearing flags on attachment: 270751 Committed r196183: <http://trac.webkit.org/changeset/196183>
All reviewed patches have been landed. Closing bug.