Summary: | Web Inspector: Crash when closing inspected page | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Joseph Pecoraro <joepeck> | ||||||
Component: | Web Inspector | Assignee: | Joseph Pecoraro <joepeck> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | commit-queue, graouts, joepeck, jonowells, mattbaker, nvasilyev, timothy, webkit-bug-importer | ||||||
Priority: | P2 | Keywords: | DoNotImportToRadar | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
Attachments: |
|
Description
Joseph Pecoraro
2015-01-27 16:33:46 PST
Created attachment 245492 [details]
[PATCH] Proposed Fix
Comment on attachment 245492 [details]
[PATCH] Proposed Fix
I was also able to get this to happen on sendMessageToBackend. Seems we should do this in more places. I'll just check everywhere.
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000070
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.WebKit 0x0000000113eac28b WebCore::Page::inspectorController() const + 43
1 com.apple.WebKit 0x0000000113eab325 WebKit::WebInspector::sendMessageToBackend(WTF::String const&) + 37
2 com.apple.WebKit 0x0000000113eb620f void IPC::callMemberFunctionImpl<WebKit::WebInspector, void (WebKit::WebInspector::*)(WTF::String const&), std::__1::tuple<WTF::String>, 0ul>(WebKit::WebInspector*, void (WebKit::WebInspector::*)(WTF::String const&), std::__1::tuple<WTF::String>&&, std::index_sequence<0ul>) + 159
3 com.apple.WebKit 0x0000000113eb6168 void IPC::callMemberFunction<WebKit::WebInspector, void (WebKit::WebInspector::*)(WTF::String const&), std::__1::tuple<WTF::String>, std::make_index_sequence<1ul> >(std::__1::tuple<WTF::String>&&, WebKit::WebInspector*, void (WebKit::WebInspector::*)(WTF::String const&)) + 88
4 com.apple.WebKit 0x0000000113eb60d6 void IPC::handleMessage<Messages::WebInspector::SendMessageToBackend, WebKit::WebInspector, void (WebKit::WebInspector::*)(WTF::String const&)>(IPC::MessageDecoder&, WebKit::WebInspector*, void (WebKit::WebInspector::*)(WTF::String const&)) + 230
5 com.apple.WebKit 0x0000000113eb560a WebKit::WebInspector::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&) + 1306
6 com.apple.WebKit 0x0000000113eb5677 non-virtual thunk to WebKit::WebInspector::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&) + 55
...
Created attachment 245499 [details]
[PATCH] Proposed Fix
Comment on attachment 245499 [details] [PATCH] Proposed Fix View in context: https://bugs.webkit.org/attachment.cgi?id=245499&action=review > Source/WebKit2/WebProcess/WebPage/WebInspector.cpp:262 > + if (m_page->corePage()) { Why no early return? > Source/WebKit2/WebProcess/WebPage/WebInspector.cpp:273 > + if (m_page->corePage()) Could store corePage in a local here and use on the next line. (In reply to comment #5) > Comment on attachment 245499 [details] > [PATCH] Proposed Fix > > View in context: > https://bugs.webkit.org/attachment.cgi?id=245499&action=review > > > Source/WebKit2/WebProcess/WebPage/WebInspector.cpp:262 > > + if (m_page->corePage()) { > > Why no early return? > > > Source/WebKit2/WebProcess/WebPage/WebInspector.cpp:273 > > + if (m_page->corePage()) > > Could store corePage in a local here and use on the next line. These two match in style because they are slightly different than the others. As for storing into a local, I think the compiler is smart enough to do that for us here. Comment on attachment 245499 [details] [PATCH] Proposed Fix Clearing flags on attachment: 245499 Committed r179282: <http://trac.webkit.org/changeset/179282> All reviewed patches have been landed. Closing bug. |