[webkit-help] How to Debug WebView termination

tenghu guo guotenghu at gmail.com
Wed Sep 15 18:22:22 PDT 2021


Here is all the info I got from Xcode console when webview terminated.

*2021-09-16 09:13:16.226266+0800 Outlook-iOS[4850:280029] [Process]
0x14b2c4600 - [PID=4852]
WebProcessProxy::processDidTerminateOrFailedToLaunch: reason=3*

*2021-09-16 09:13:16.226809+0800 Outlook-iOS[4850:280029] [Process]
0x1251d4018 - [pageProxyID=5, webPageID=6, PID=4852]
WebPageProxy::processDidTerminate: (pid 4852), reason 3*

*2021-09-16 09:13:16.235430+0800 Outlook-iOS[4850:280029] [Loading]
0x1251d4018 - [pageProxyID=5, webPageID=6, PID=4852]
WebPageProxy::dispatchProcessDidTerminate: reason=3*


I also opened the Web Inspector from Safari, but it just hangs and there is
no output in the Console tab. I also enabled Timeline to capture the memory
or cpu usage. There is no info about the termination reason. I guess that
when the webview terminates, it can't send live data to the Web Inspector.
The Web Inspector can't get data for the time right before the webview
termination.

On Wed, Sep 15, 2021 at 1:53 PM tenghu guo <guotenghu at gmail.com> wrote:

> 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/20210916/d590c624/attachment.htm>


More information about the webkit-help mailing list