Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ce9cd2b20a505c1e2bb9b135fc7e29db3bd1b0e9 https://github.com/WebKit/WebKit/commit/ce9cd2b20a505c1e2bb9b135fc7e29db3bd1b0e9 Author: Chris Dumez <cdu...@apple.com> Date: 2023-05-04 (Thu, 04 May 2023)
Changed paths: M Source/WebKit/CMakeLists.txt M Source/WebKit/DerivedSources-input.xcfilelist M Source/WebKit/DerivedSources.make M Source/WebKit/NetworkProcess/NetworkProcess.h M Source/WebKit/NetworkProcess/NetworkProcess.messages.in M Source/WebKit/Shared/RemoteWorkerType.h A Source/WebKit/Shared/RemoteWorkerType.serialization.in M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h M Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/UIProcess/WebProcessPool.h M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/UIProcess/WebProcessProxy.h M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/WebProcess.h M Source/WebKit/WebProcess/WebProcess.messages.in Log Message: ----------- [ macOS, iOS ] ASSERTION FAILED: remoteWorkerProcesses().contains(process) in WebKit::WebProcessPool::removeFromRemoteWorkerProcesses https://bugs.webkit.org/show_bug.cgi?id=256233 rdar://104915398 Reviewed by Alex Christensen. I haven't been able to reproduce the assertion hit but I am refactoring the code to make it unlikely the state gets out of sync between the WebProcessPool and the WebProcessProxy. The WebProcessPool used to add the WebProcessProxy to the remoteWorkerProcesses() HashMap. The removal used to happen both from the WebProcessPool and the WebProcessProxy, depending on the reason. The new logic is simplified as the WebProcessProxy is now solely in charge of adding and removing itself from the map. This should make sure that WebProcessProxy cannot be running remote workers and yet not be in the WebProcessPool map (like the assertion suggests). * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess): (WebKit::WebProcessPool::addRemoteWorkerProcess): (WebKit::WebProcessPool::removeRemoteWorkerProcess): (WebKit::WebProcessPool::disconnectProcess): (WebKit::WebProcessPool::removeFromRemoteWorkerProcesses): Deleted. * Source/WebKit/UIProcess/WebProcessPool.h: * Source/WebKit/UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::disableRemoteWorkers): (WebKit::WebProcessProxy::enableRemoteWorkers): Canonical link: https://commits.webkit.org/263693@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes