Changeset 282174 in webkit
- Timestamp:
- Sep 8, 2021, 2:56:20 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/Network/NetworkProcessProxy.cpp (modified) (1 diff)
-
UIProcess/WebsiteData/WebsiteDataStore.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r282170 r282174 1 2021-09-08 Sihui Liu <sihui_liu@apple.com> 2 3 Remove responsiveness timer in NetworkProcessProxy::getNetworkProcessConnection 4 https://bugs.webkit.org/show_bug.cgi?id=230016 5 rdar://problem/80760179 6 7 Reviewed by Chris Dumez. 8 9 We've seen evidence that network process may be blocked in initializeNetworkProcess. Since we have a 3-second 10 responsiveness timer in NetworkProcessProxy::getNetworkProcessConnection, blocked network process will be killed 11 and a new network process will be launched for getting connection. However, the new network process may get 12 stuck in initializeNetworkProcess too. In this case, web process will crash for not being able to get network 13 process connection. 14 15 * UIProcess/Network/NetworkProcessProxy.cpp: 16 (WebKit::NetworkProcessProxy::getNetworkProcessConnection): 17 * UIProcess/WebsiteData/WebsiteDataStore.cpp: change RELEASE_ASSERT_NOT_REACHED_WITH_MESSAGE to 18 RELEASE_LOG_ERROR as the message is not printed in non-debug build. 19 (WebKit::WebsiteDataStore::getNetworkProcessConnection): 20 1 21 2021-09-08 Sihui Liu <sihui_liu@apple.com> 2 22 -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
r282170 r282174 251 251 { 252 252 RELEASE_LOG(ProcessSuspension, "%p - NetworkProcessProxy is taking a background assertion because a web process is requesting a connection", this); 253 startResponsivenessTimer(UseLazyStop::No); 253 if (!isLaunching()) 254 startResponsivenessTimer(UseLazyStop::No); 254 255 sendWithAsyncReply(Messages::NetworkProcess::CreateNetworkConnectionToWebProcess { webProcessProxy.coreProcessIdentifier(), webProcessProxy.sessionID() }, [this, weakThis = makeWeakPtr(*this), reply = WTFMove(reply)](auto&& identifier, auto cookieAcceptPolicy) mutable { 255 256 if (!weakThis) { -
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
r282170 r282174 1749 1749 networkProcessState = networkProcessProxy->stateString(); 1750 1750 } 1751 RELEASE_ASSERT_NOT_REACHED_WITH_MESSAGE("WebsiteDataStore::getNetworkProcessConnection: Failed to get connection - networkProcessProxy=%p, networkProcessIdentifier=%d, processState=%s, webProcessProxy=%p, webProcessIdentifier=%d", networkProcessProxy.get(), networkProcessIdentifier, networkProcessState.utf8().data(), webProcessProxy.get(), webProcessProxy->processIdentifier()); 1751 RELEASE_LOG_ERROR(Process, "WebsiteDataStore::getNetworkProcessConnection: Failed to get connection - networkProcessProxy=%p, networkProcessIdentifier=%d, processState=%s, webProcessProxy=%p, webProcessIdentifier=%d", networkProcessProxy.get(), networkProcessIdentifier, networkProcessState.utf8().data(), webProcessProxy.get(), webProcessProxy->processIdentifier()); 1752 RELEASE_ASSERT_NOT_REACHED(); 1752 1753 #endif 1753 1754 };
Note:
See TracChangeset
for help on using the changeset viewer.