Title: [238343] trunk/Source/WebKit
- Revision
- 238343
- Author
- cdu...@apple.com
- Date
- 2018-11-16 22:46:55 -0800 (Fri, 16 Nov 2018)
Log Message
Regression(ProcessPrewarming) Assertion hit in NetworkProcessProxy destructor
https://bugs.webkit.org/show_bug.cgi?id=191800
Reviewed by Ryosuke Niwa.
Make sure the NetworkProcessProxy destructor calls its remaining m_pendingConnectionReplies
completion handlers to avoid hitting an assertion in the CompletionHandler destructor.
Prewarmed WebProcess do not keep the ProcessPool alive and thus not the NetworkProcessProxy
either. As a result, it is possible for NetworkProcessProxy to have pending connection
requests from those prewarmed processes when it is destroyed. Similar story for the
suspended page processes when they are destroyed.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (238342 => 238343)
--- trunk/Source/WebKit/ChangeLog 2018-11-17 06:03:19 UTC (rev 238342)
+++ trunk/Source/WebKit/ChangeLog 2018-11-17 06:46:55 UTC (rev 238343)
@@ -1,3 +1,21 @@
+2018-11-16 Chris Dumez <cdu...@apple.com>
+
+ Regression(ProcessPrewarming) Assertion hit in NetworkProcessProxy destructor
+ https://bugs.webkit.org/show_bug.cgi?id=191800
+
+ Reviewed by Ryosuke Niwa.
+
+ Make sure the NetworkProcessProxy destructor calls its remaining m_pendingConnectionReplies
+ completion handlers to avoid hitting an assertion in the CompletionHandler destructor.
+
+ Prewarmed WebProcess do not keep the ProcessPool alive and thus not the NetworkProcessProxy
+ either. As a result, it is possible for NetworkProcessProxy to have pending connection
+ requests from those prewarmed processes when it is destroyed. Similar story for the
+ suspended page processes when they are destroyed.
+
+ * UIProcess/Network/NetworkProcessProxy.cpp:
+ (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
+
2018-11-16 Alex Christensen <achristen...@webkit.org>
Tweak _showSafeBrowsingWarningWithTitle SPI
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (238342 => 238343)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2018-11-17 06:03:19 UTC (rev 238342)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2018-11-17 06:46:55 UTC (rev 238343)
@@ -89,6 +89,9 @@
for (auto* proxy : m_webUserContentControllerProxies)
proxy->removeNetworkProcess(*this);
#endif
+
+ for (auto& reply : m_pendingConnectionReplies)
+ reply.second({ });
}
void NetworkProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes