RESOLVED FIXED285947
NetworkProcess does not always terminate properly on macOS
https://bugs.webkit.org/show_bug.cgi?id=285947
Summary NetworkProcess does not always terminate properly on macOS
Ben Nham
Reported 2025-01-14 14:36:42 PST
NetworkProcess does not always terminate on macOS. The reason for this is that NetworkProcess can suspend in the middle of termination. NetworkProcess drops its "m_backgroundActivityToPreventSuspension" as part of the NetworkProcessProxy destructor, which allows it to suspend. Then, the AuxiliaryProcessProxy destructor runs and starts termination by invalidating via IPC::Connection::invalidate. However, the remote side of the connection invalidation in NetworkProcess (in NetworkProcess::didClose) might never run if the process is already suspended, which then leaves the process in a permanently suspended state. To fix this, we should use XPCConnectionTerminationWatchdog to resume the network process and allow it to gracefully exit, or forcefully terminate it after 30 seconds.
Attachments
Ben Nham
Comment 1 2025-01-14 14:36:43 PST
Ben Nham
Comment 2 2025-01-14 14:37:25 PST
EWS
Comment 3 2025-01-17 11:03:11 PST
Committed 289075@main (861148b958c3): <https://commits.webkit.org/289075@main> Reviewed commits have been landed. Closing PR #39026 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.