ionic-team / ionic-team/ionic-framework

bug: ionic angular iOS app cannot restart normally after being left in the background for a long time

Abierto
#30,034 0 comentarios 0 reacciones 0 asignados Ver en GitHub
triage
Lenguaje dominante
TypeScript
Estrellas
52.7k
Forks
13.3k
Merge medio
1 d 15 h
PR fusionados (30 d)
51

Descripción

### Prerequisites

- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

v7.x

### Current Behavior

ionic angular iOS app cannot restart normally after being left in the background for a long time, app that cannot be launched success.
I check the ios code, there is a function for iOS WKWebview: webViewWebContentProcessDidTerminate, and there is reload function inside, Most of the time, it is useful.

I checked the log and I found the WKWebview try to reload, but not start success

Here is the crash log
2024-11-19 02:19:57.551742-0500 Appname[4435:194348] [Process] 0x10e0800c0 - GPUProcessProxy::didClose:
2024-11-19 02:19:57.554156-0500 Appname[4435:194348] [Process] 0x10e0800c0 - GPUProcessProxy::gpuProcessExited: reason=Crash
2024-11-19 02:19:57.557285-0500 Appname[4435:194348] [Process] 0x10f001560 - [PID=4437] WebProcessProxy::gpuProcessExited: reason=Crash
2024-11-19 02:19:57.564363-0500 Appname[4435:194548] [connection] nw_read_request_report [C1] Receive failed with error "Software caused connection abort"
2024-11-19 02:19:57.567280-0500 Appname[4435:194548] [connection] nw_read_request_report [C2] Receive failed with error "Software caused connection abort"
2024-11-19 02:19:57.585899-0500 Appname[4435:194348] [Process] 0x10f000470 - NetworkProcessProxy::didClose (Network Process 0 crash)
2024-11-19 02:19:57.591085-0500 Appname[4435:194348] [Process] 0x10f001560 - [PID=4437] WebProcessProxy::didClose: (web process 0 crash)
2024-11-19 02:19:57.591239-0500 Appname[4435:194348] [Process] 0x10f001560 - [PID=4437] WebProcessProxy::processDidTerminateOrFailedToLaunch: reason=Crash
2024-11-19 02:19:57.591894-0500 Appname[4435:194348] [ProcessSuspension] 0x10e020120 - ProcessAssertion: Failed to acquire RBS Background assertion 'XPCConnectionTerminationWatchdog' for process because PID 0 is invalid
2024-11-19 02:19:57.592597-0500 Appname[4435:194548] [ProcessSuspension] 0x10e020120 - ProcessAssertion::acquireSync Failed to acquire RBS assertion 'XPCConnectionTerminationWatchdog' for process with PID=0, error: (null)
2024-11-19 02:19:57.603668-0500 Appname[4435:194348] [Process] 0x12a819018 - [pageProxyID=8, webPageID=9, PID=4437] WebPageProxy::processDidTerminate: (pid 4437), reason=Crash
2024-11-19 02:19:57.639244-0500 Appname[4435:194348] [Loading] 0x12a819018 - [pageProxyID=8, webPageID=9, PID=4437] WebPageProxy::dispatchProcessDidTerminate: reason=Crash
⚡️ TO JS {"error":"The request timed out."}
⚡️ TO JS {"isActive":true}
⚡️ TO JS {"isActive":true}
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=0, WKJavaScriptExceptionMessage=TypeError: undefined is not an object, WKJavaScriptExceptionColumnNumber=0, NSLocalizedDescription=A JavaScript exception occurred}
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=0, WKJavaScriptExceptionMessage=TypeError: undefined is not an object, WKJavaScriptExceptionColumnNumber=0, NSLocalizedDescription=A JavaScript exception occurred}
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=0, WKJavaScriptExceptionMessage=TypeError: undefined is not an object, WKJavaScriptExceptionColumnNumber=0, NSLocalizedDescription=A JavaScript exception occurred}
⚡️ [log] - onscript loading complete
To Native Cordova -> Badge load Badge1192008043 ["options": []]
To Native Cordova -> Device getDeviceInfo Device1192008044 ["options": []]
To Native Cordova -> File requestAllPaths File1192008045 ["options": []]
⚡️ WebView loaded
To Native Cordova -> AppRate getAppTitle AppRate1192008046 ["options": []]
To Native Cordova -> AppRate isNativePromptAvailable AppRate1192008047 ["options": []]
To Native Cordova -> NativeStorage getItem NativeStorage1192008048 ["options": [counter]]
To Native Cordova -> AppRate getAppVersion AppRate1192008049 ["options": []]
2024-11-19 02:20:27.598060-0500 Appname[4435:194348] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service

### Expected Behavior

Hope the app can restart success

### Steps to Reproduce

open your app, push it to backend, then use you iphone normal. Tomorrow you will get an app that cannot be launched

### Code Reproduction URL

https://dashboard.ionicframework.com/create-app/0422bc6a

### Ionic Info

[WARN] Error loading @capacitor/android package.json: Error: Cannot find module '@capacitor/android/package.json'

Require stack:
- /usr/local/lib/node_modules/@ionic/cli/lib/project/index.js
- /usr/local/lib/node_modules/@ionic/cli/lib/index.js
- /usr/local/lib/node_modules/@ionic/cli/index.js
- /usr/local/lib/node_modules/@ionic/cli/bin/ionic

Ionic:

Ionic CLI : 7.2.0 (/usr/local/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/angular 8.4.0
@angular-devkit/build-angular : 18.2.12
@angular-devkit/schematics : 18.2.12
@angular/cli : 18.2.12
@ionic/angular-toolkit : 11.0.1

Capacitor:

Capacitor CLI : 6.2.0
@capacitor/android : not installed
@capacitor/core : 6.2.0
@capacitor/ios : 6.2.0

Utility:

cordova-res : not installed globally
native-run : 2.0.1

System:

NodeJS : v20.13.1 (/usr/local/bin/node)
npm : 10.5.2
OS : macOS Unknown

### Additional Information

_No response_

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.