WebKit is unable to recover if a WebProcess gets terminated while it is launching.
<rdar://85302938>
Created attachment 443960 [details] Patch
Comment on attachment 443960 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=443960&action=review r=me > Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:326 > + didFinishLaunchingProcess(0, IPC::Connection::Identifier()); It seems like it might be clearer if there was a method "didFailToLaunch" or something that could call "didFinishLaunchingProcess" with the right arguments, but also log something helpful to the console.
Created attachment 443972 [details] Patch
Created attachment 444028 [details] Patch
Comment on attachment 444028 [details] Patch Requesting review again. I had to change the approach a little bit to address an API test failure.
Comment on attachment 444028 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=444028&action=review r=me > Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:325 > + terminateXPCConnection(); It's a little surprising that this is only an issue on macOS; do we not have a similar issue with our termination logic on iOS?
(In reply to Brent Fulgham from comment #7) > Comment on attachment 444028 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=444028&action=review > > r=me > > > Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:325 > > + terminateXPCConnection(); > > It's a little surprising that this is only an issue on macOS; do we not have > a similar issue with our termination logic on iOS? The issue is for both Mac and iOS. This file is used by both and it merely badly named. I'll replace Mac with Cocoa in a follow-up for clarity.
Comment on attachment 444028 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=444028&action=review >>> Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:325 >>> + terminateXPCConnection(); >> >> It's a little surprising that this is only an issue on macOS; do we not have a similar issue with our termination logic on iOS? > > The issue is for both Mac and iOS. This file is used by both and it merely badly named. I'll replace Mac with Cocoa in a follow-up for clarity. Oh, wow! Yes -- please do! :-)
Comment on attachment 444028 [details] Patch Clearing flags on attachment: 444028 Committed r285720 (244179@main): <https://commits.webkit.org/244179@main>
All reviewed patches have been landed. Closing bug.