Summary: WebInspectorProxy releases WKWebInspectorProxyObjCAdapter without removing corresponding observer. As an optimization we keep the Inspector WebView alive for a minute after it's been closed, so that it can be reused if reopened quickly. If the Inspector is reopened within this time, WebInspectorProxy::platformCreateFrontendPage() will be called while the WKWebInspectorProxyObjCAdapter still exists. It then gets recreated, causing the original instance to be released while still registered as a a notification observer. Prior to macOS 10.12, NSNotificationCenter didn't perform any sanity checks on observers before dispatching notifications, resulting in an access violation.
<rdar://problem/37764960>
Created attachment 338536 [details] Patch
Created attachment 338558 [details] Patch
Comment on attachment 338558 [details] Patch Attachment 338558 [details] did not pass win-ews (win): Output: http://webkit-queues.webkit.org/results/7406043 New failing tests: http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-audio.html
Created attachment 338559 [details] Archive of layout-test-results from ews204 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews204 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Comment on attachment 338558 [details] Patch r=me
Comment on attachment 338558 [details] Patch Clearing flags on attachment: 338558 Committed r230903: <https://trac.webkit.org/changeset/230903>
All reviewed patches have been landed. Closing bug.