[webkit-help] How to Debug WebView termination

Alexey Proskuryakov ap at webkit.org
Tue Sep 14 09:25:54 PDT 2021

> 13 сент. 2021 г., в 10:47 PM, tenghu guo <guotenghu at gmail.com> написал(а):
> Hi, my app uses webview to render emails. However, some emails always lead to webview termination. I want to dig into the root cause of the webview termination.
> I have successfully built and run the webkit in iOS simulator. However, the webview never terminates in the simulator as the simulator has much more resources(cpu/memory) than the actual device. 
> On the other hand, I can't run webkit on an actual device as "device builds of WebKit cannot be installed on embedded devices." I have tried building webkit source code on device, the error message is "error: Ad Hoc code signing is not allowed with SDK 'iOS 15.0' (in target 'WebCoreTestShim' from project 'WebCore')"
> So here is my question,
> 1. How can I trigger webview termination in iOS simulator

You can kill a com.apple.WebKit.WebContent process using the kill tool, from Terminal. But if the theory is that it's getting killed on device due to using too much memory, it's probably better to analyze crash logs from the device, and to watch memory use in Simulator.

> 1. Is there an approach to run webkit on an actual device?

There is no way to do this. I can imagine one being able to run some pieces of WebKit on device with a lot of effort, but that won't be useful for an investigation like this.

- Alexey

> I know webview is terminated because the UI process received a close message from the web content process. I want to dig into why the web content process is closed.
> Below is the source code where I received the close message.
> void WebProcessProxy::didClose(IPC::Connection& connection)
> {
> #if OS(DARWIN)
>     WEBPROCESSPROXY_RELEASE_LOG_ERROR(Process, "didClose: (web process %d crash)", connection.remoteProcessID());
> #else
>     WEBPROCESSPROXY_RELEASE_LOG_ERROR(Process, "didClose (web process crash)");
> #endif
>     processDidTerminateOrFailedToLaunch(ProcessTerminationReason::Crash);
> }
> _______________________________________________
> webkit-help mailing list
> webkit-help at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-help

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-help/attachments/20210914/16f14e38/attachment.htm>

More information about the webkit-help mailing list