Bug 179044

Summary: Web Inspector: UIProcess ASSERT in ~RemoteWebInspectorProxy when InspectorProcess crashes
Product: WebKit Reporter: Joseph Pecoraro <joepeck>
Component: Web InspectorAssignee: Joseph Pecoraro <joepeck>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, buildbot, commit-queue, inspector-bugzilla-changes, joepeck, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Attachments:
Description Flags
[PATCH] Proposed Fix none

Description Joseph Pecoraro 2017-10-30 20:21:51 PDT
UIProcess ASSERT in ~RemoteWebInspectorProxy when InspectorProcess crashes

> Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
> Exception Codes:       KERN_INVALID_ADDRESS at 0x00000000bbadbeef
> Exception Note:        EXC_CORPSE_NOTIFY
> 
> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
> 0   com.apple.JavaScriptCore      	0x0000000107b3d944 WTFCrash + 36 (Assertions.cpp:270)
> 1   com.apple.WebKit              	0x000000010bffbe95 WebKit::RemoteWebInspectorProxy::~RemoteWebInspectorProxy() + 85 (RemoteWebInspectorProxy.cpp:46)
> 2   com.apple.WebKit              	0x000000010bffbfc5 WebKit::RemoteWebInspectorProxy::~RemoteWebInspectorProxy() + 21 (RemoteWebInspectorProxy.cpp:47)
> 3   com.apple.WebKit              	0x000000010bffbfe9 WebKit::RemoteWebInspectorProxy::~RemoteWebInspectorProxy() + 25 (RemoteWebInspectorProxy.cpp:45)
> 4   com.apple.WebKit              	0x000000010ba28d3f WTF::RefCounted<WebKit::RemoteWebInspectorProxy>::deref() const + 79 (RefCounted.h:145)
> 5   com.apple.WebKit              	0x000000010ba29135 void WTF::derefIfNotNull<WebKit::RemoteWebInspectorProxy>(WebKit::RemoteWebInspectorProxy*) + 53 (RefPtr.h:46)
> 6   com.apple.WebKit              	0x000000010ba290f3 WTF::RefPtr<WebKit::RemoteWebInspectorProxy>::~RefPtr() + 83 (RefPtr.h:69)
> 7   com.apple.WebKit              	0x000000010ba289c5 WTF::RefPtr<WebKit::RemoteWebInspectorProxy>::~RefPtr() + 21 (RefPtr.h:69)
> 8   com.apple.WebKit              	0x000000010ba2899b -[_WKRemoteWebInspectorViewController .cxx_destruct] + 235 (_WKRemoteWebInspectorViewController.mm:70)
> 9   libobjc.A.dylib               	0x00007fff5a27742e object_cxxDestructFromClass(objc_object*, objc_class*) + 127
> 10  libobjc.A.dylib               	0x00007fff5a2702b1 objc_destructInstance + 92
> 11  libobjc.A.dylib               	0x00007fff5a270244 object_dispose + 22
> 12  com.apple.WebInspector        	0x000000010ac1781d ....
> 13  com.apple.WebKit              	0x000000010ba2884f -[_WKRemoteWebInspectorViewController closeFromFrontend] + 111 (_WKRemoteWebInspectorViewController.mm:139)
> 14  com.apple.WebKit              	0x000000010ba29010 WebKit::_WKRemoteWebInspectorProxyClient::closeFromFrontend() + 32 (_WKRemoteWebInspectorViewController.mm:62)
> 15  com.apple.WebKit              	0x000000010bffc950 WebKit::RemoteWebInspectorProxy::frontendDidClose() + 48 (RemoteWebInspectorProxy.cpp:88)
> 16  com.apple.WebKit              	0x000000010bffc915 WebKit::RemoteWebInspectorProxy::closeFromCrash() + 21 (RemoteWebInspectorProxy.cpp:71)
> 17  com.apple.WebKit              	0x000000010bffdb78 -[WKRemoteWebInspectorProxyObjCAdapter inspectorViewControllerInspectorDidCrash:] + 40 (RemoteWebInspectorProxyMac.mm:66)
> 18  com.apple.WebKit              	0x000000010c8598af -[WKInspectorViewController webViewWebContentProcessDidTerminate:] + 143 (WKInspectorViewController.mm:198)
> 19  com.apple.WebKit              	0x000000010bc55d6d WebKit::NavigationState::NavigationClient::processDidTerminate(WebKit::WebPageProxy&, WebKit::ProcessTerminationReason) + 269 (NavigationState.mm:896)
> 20  com.apple.WebKit              	0x000000010c4d1927 WebKit::WebPageProxy::processDidTerminate(WebKit::ProcessTerminationReason) + 231 (WebPageProxy.cpp:5469)
> 21  com.apple.WebKit              	0x000000010c6acc7e WebKit::WebProcessProxy::didClose(IPC::Connection&) + 510 (WebProcessProxy.cpp:639)
> 22  com.apple.WebKit              	0x000000010c6acdfc non-virtual thunk to WebKit::WebProcessProxy::didClose(IPC::Connection&) + 44
> 23  com.apple.WebKit              	0x000000010bb4f426 IPC::Connection::connectionDidClose()::$_13::operator()() + 246 (Connection.cpp:806)
> 24  com.apple.WebKit              	0x000000010bb4f2a9 WTF::Function<void ()>::CallableWrapper<IPC::Connection::connectionDidClose()::$_13>::call() + 25 (Function.h:101)
> 25  com.apple.JavaScriptCore      	0x0000000107b72f8b WTF::Function<void ()>::operator()() const + 139 (Function.h:56)
> 26  com.apple.JavaScriptCore      	0x0000000107b935c3 WTF::RunLoop::performWork() + 211 (RunLoop.cpp:107)
> 27  com.apple.JavaScriptCore      	0x0000000107b93e44 WTF::RunLoop::performWork(void*) + 36 (RunLoopCF.cpp:38)
> ...
Comment 1 Joseph Pecoraro 2017-10-30 20:31:40 PDT
Created attachment 325419 [details]
[PATCH] Proposed Fix
Comment 2 Build Bot 2017-10-30 20:33:31 PDT
Attachment 325419 [details] did not pass style-queue:


ERROR: Source/WebKit/UIProcess/RemoteWebInspectorProxy.cpp:85:  'protect' is incorrectly named. It should be named 'protectedThis'.  [readability/naming/protected] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 WebKit Commit Bot 2017-10-31 14:44:02 PDT
Comment on attachment 325419 [details]
[PATCH] Proposed Fix

Clearing flags on attachment: 325419

Committed r224249: <https://trac.webkit.org/changeset/224249>
Comment 4 WebKit Commit Bot 2017-10-31 14:44:03 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 Radar WebKit Bug Importer 2017-11-15 12:31:13 PST
<rdar://problem/35567693>