[webkit-help] How to Debug WebView termination

tenghu guo guotenghu at gmail.com
Tue Sep 14 22:53:34 PDT 2021


Thanks for the information!

    it's probably better to analyze crash logs from the device, and to
watch memory use in Simulator.

How can I get crash logs from the device? I have tried two approaches, but
neither works.
1. Check Settings -> Privacy -> Analytics & Improvements -> Analytics Data
on my iPhone. Nothing related to Webkit or my own app.
2. Connect my iPhone to Xcode and check Xcode -> Devices and Simulators ->
View Device Logs. Nothing related to Webkit or my own app.

On Wed, Sep 15, 2021 at 12:25 AM Alexey Proskuryakov <ap at webkit.org> wrote:

>
>
> 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/20210915/7dc55690/attachment.htm>


More information about the webkit-help mailing list