ionic-team / ionic-team/ionic-framework

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

Aperta
#30,034 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
triage
Lingua principale
TypeScript
Stelle
52.7k
Fork
13.3k
Merge medio
1g 15h
PR unite (30g)
51

Descrizione

### 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_

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.