WebKit Bugzilla
Attachment 342803 Details for
Bug 186653
: Add release assertion against destroying WebProcessPool from networkProcessFailedToLaunch callback
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
failed-to-launch-release-assert.patch (text/plain), 2.73 KB, created by
Antti Koivisto
on 2018-06-15 05:04:26 PDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Antti Koivisto
Created:
2018-06-15 05:04:26 PDT
Size:
2.73 KB
patch
obsolete
>Index: Source/WebKit/ChangeLog >=================================================================== >--- Source/WebKit/ChangeLog (revision 232867) >+++ Source/WebKit/ChangeLog (working copy) >@@ -1,3 +1,20 @@ >+2018-06-15 Antti Koivisto <antti@apple.com> >+ >+ Add release assertion against destroying WebProcessPool from networkProcessFailedToLaunch callback >+ https://bugs.webkit.org/show_bug.cgi?id=186653 >+ <rdar://problem/41157398> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Looks like some clients manage to tear down WebProcessPool from processDidClose callback. Add assertion to find out how. >+ >+ * UIProcess/Network/NetworkProcessProxy.cpp: >+ (WebKit::NetworkProcessProxy::networkProcessCrashed): >+ * UIProcess/WebProcessPool.cpp: >+ (WebKit::WebProcessPool::~WebProcessPool): >+ (WebKit::WebProcessPool::networkProcessFailedToLaunch): >+ * UIProcess/WebProcessPool.h: >+ > 2018-06-14 Youenn Fablet <youenn@apple.com> > > Make NetworkProcess get cache storage parameters at creation of the CacheStorage engine >Index: Source/WebKit/UIProcess/WebProcessPool.cpp >=================================================================== >--- Source/WebKit/UIProcess/WebProcessPool.cpp (revision 232721) >+++ Source/WebKit/UIProcess/WebProcessPool.cpp (working copy) >@@ -305,6 +305,9 @@ WebProcessPool::WebProcessPool(API::Proc > > WebProcessPool::~WebProcessPool() > { >+ // Try to catch why the pool sometimes seems to get destroyed in the middle of networkProcessFailedToLaunch, rdar://problem/33535377 >+ RELEASE_ASSERT(!m_inNetworkProcessFailedToLaunch); >+ > bool removed = processPools().removeFirst(this); > ASSERT_UNUSED(removed, removed); > >@@ -562,8 +565,11 @@ void WebProcessPool::networkProcessCrash > > void WebProcessPool::networkProcessFailedToLaunch(NetworkProcessProxy& networkProcessProxy) > { >+ SetForScope<bool> inNetworkProcessFailedToLaunch(m_inNetworkProcessFailedToLaunch, true); >+ > ASSERT(m_networkProcess); > ASSERT(&networkProcessProxy == m_networkProcess.get()); >+ > m_didNetworkProcessCrash = true; > > for (auto& supplement : m_supplements.values()) >Index: Source/WebKit/UIProcess/WebProcessPool.h >=================================================================== >--- Source/WebKit/UIProcess/WebProcessPool.h (revision 232721) >+++ Source/WebKit/UIProcess/WebProcessPool.h (working copy) >@@ -634,6 +634,7 @@ private: > bool m_alwaysRunsAtBackgroundPriority; > bool m_shouldTakeUIBackgroundAssertion; > bool m_shouldMakeNextWebProcessLaunchFailForTesting { false }; >+ bool m_inNetworkProcessFailedToLaunch { false }; > > UserObservablePageCounter m_userObservablePageCounter; > ProcessSuppressionDisabledCounter m_processSuppressionDisabledForPageCounter;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
beidson
:
review-
ews-watchlist
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186653
: 342803 |
342808