ionic-team / capacitor

Build cross-platform Native Progressive Web Apps for iOS, Android, and the Web ⚡️
https://capacitorjs.com
MIT License
11.8k stars 993 forks source link

Silent Application crash : Error : crash wasn't handled by all associated webviews, triggering application crash in google crash report. #6158

Closed opindia123 closed 1 year ago

opindia123 commented 1 year ago

Bug Report

Silent Applicatin crash : Getting silent crash on random android devices, There is no change in Package.json from previous version. Unable to identify why application do silent crash. Error in google play store console is as below.

Error : Render process (13092)'s crash wasn't handled by all associated webviews, triggering application crash.

Capacitor Version

💊 Capacitor Doctor 💊

Latest Dependencies:

@capacitor/cli: "4.1.0" @capacitor/core: "4.1.0" @capacitor/android: "4.1.0" @capacitor/ios: not installed

Installed Dependencies:

@capacitor/ios: not installed @capacitor/cli: 4.1.0 @capacitor/core: 4.1.0 @capacitor/android: 4.1.0 [success] Android looking great! 👌

package.json details are as below

{ "name": "WTest", "version": "0.0.1", "author": "Ionic Framework", "homepage": "https://ionicframework.com/", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", "cap-add-android": "ionic capacitor add android", "cap-sync-android": "ionic capacitor sync android", "cap-add-ios": "ionic capacitor add ios", "cap-sync-ios": "ionic capacitor sync ios", "cap-build-debug": "ionic build", "cap-build-release": "ionic build --prod --release", "cap-copy-android": "npx cap copy android", "cap-open-android": "npx cap open android", "cap-copy-ios": "npx cap copy ios", "cap-open-ios": "npx cap open ios", "cap-update-config": "npx tsc configure/configure.ts && node configure/configure.js", "resources-android": "cordova-res android --skip-config --copy", "resources-ios": "cordova-res ios --skip-config --copy" }, "private": true, "dependencies": { "@angular/animations": "^14.2.1", "@angular/common": "^14.0.0", "@angular/core": "^14.0.0", "@angular/forms": "^14.0.0", "@angular/platform-browser": "^14.0.0", "@angular/platform-browser-dynamic": "^14.0.0", "@angular/router": "^14.0.0", "@awesome-cordova-plugins/core": "^5.45.0", "@awesome-cordova-plugins/in-app-browser": "^5.45.0", "@awesome-cordova-plugins/insomnia": "^5.45.0", "@awesome-cordova-plugins/network-interface": "^5.45.0", "@awesome-cordova-plugins/push": "^5.45.0", "@awesome-cordova-plugins/screen-orientation": "^5.45.0", "@awesome-cordova-plugins/social-sharing": "^6.1.0", "@awesome-cordova-plugins/speech-recognition": "^5.45.0", "@capacitor-community/fcm": "^2.0.2", "@capacitor-community/firebase-crashlytics": "^1.0.0", "@capacitor/android": "4.1.0", "@capacitor/app": "^4.0.1", "@capacitor/camera": "^4.1.1", "@capacitor/clipboard": "^4.0.1", "@capacitor/core": "4.1.0", "@capacitor/device": "^4.0.1", "@capacitor/geolocation": "^4.0.1", "@capacitor/haptics": "4.0.1", "@capacitor/keyboard": "4.0.1", "@capacitor/network": "^4.0.1", "@capacitor/project": "^2.0.10", "@capacitor/splash-screen": "^4.0.1", "@capacitor/status-bar": "4.0.1", "@capacitor/text-zoom": "^4.0.1", "@havesource/cordova-plugin-push": "github:havesource/cordova-plugin-push", "@ionic/angular": "^6.1.9", "@ionic/storage": "^3.0.6", "@ionic/storage-angular": "^3.0.6", "@ngx-translate/core": "^14.0.0", "angular-code-input": "^1.6.0", "aws-amplify": "^4.3.35", "capacitor-native-biometric": "^4.1.3", "capacitor-razorpay": "github:razorpay/razorpay-capacitor", "chart.js": "^2.9.4", "cordova-plugin-inappbrowser": "^5.0.0", "cordova-plugin-insomnia": "^4.3.0", "cordova-plugin-iroot": "^3.1.0", "cordova-plugin-networkinterface": "^2.2.0", "cordova-plugin-screen-orientation": "^3.0.2", "cordova-plugin-speechrecognition": "^1.2.0", "cordova-plugin-x-socialsharing": "^6.0.4", "crypto-js": "^4.1.1", "cupertino-pane": "^1.2.1", "es6-promise-plugin": "^4.2.2", "hammerjs": "^2.0.8", "ionic2-calendar": "^0.6.9", "ionicons": "^6.0.3", "ng2-nvd3": "^2.0.0", "rxjs": "~6.6.0", "socket.io-client": "^2.3.1", "stream-browserify": "^3.0.0", "timers": "^0.1.1", "tslib": "^2.2.0", "typescript-string-operations": "^1.3.3", "utf8": "^3.0.0", "zone.js": "~0.11.4" }, "devDependencies": { "@angular-devkit/build-angular": "^14.0.0", "@angular-eslint/builder": "~13.0.1", "@angular-eslint/eslint-plugin": "~13.0.1", "@angular-eslint/eslint-plugin-template": "~13.0.1", "@angular-eslint/template-parser": "~13.0.1", "@angular/cli": "^14.0.0", "@angular/compiler": "^14.0.0", "@angular/compiler-cli": "^14.0.0", "@angular/language-service": "^14.0.0", "@capacitor/cli": "4.1.0", "@ionic/angular-toolkit": "^6.0.0", "@types/crypto-js": "^4.1.1", "@types/hammerjs": "^2.0.41", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", "@types/socket.io-client": "^1.4.34", "@typescript-eslint/eslint-plugin": "5.3.0", "@typescript-eslint/parser": "5.3.0", "eslint": "^7.6.0", "eslint-plugin-import": "2.22.1", "eslint-plugin-jsdoc": "30.7.6", "eslint-plugin-prefer-arrow": "1.2.2", "jasmine-core": "~3.8.0", "jasmine-spec-reporter": "~5.0.0", "karma": "~6.3.2", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.0.3", "karma-coverage-istanbul-reporter": "~3.0.2", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.5.0", "protractor": "~7.0.0", "ts-node": "~8.3.0", "typescript": "~4.7.3" }, "description": "An Ionic project" }

Platform(s)

Android only.

Current Behavior

Application silently crash without any message on random devices.

Expected Behavior

Application should not crash.

Code Reproduction

Other Technical Details

npm --version output: NPM Version: 8.15.0

node --version output: Node Version: v16.17.0

Additional Context

Many on Issue discussion pointed it to 'android system web view' system application, but how can we control this from capacitor build. Previous build was working fine their was not major change in package.json,

Some of links

feat: Notify JS-layer when webview crashed #2379 https://github.com/ionic-team/capacitor/issues/2379

Minimum WebView version on android. https://github.com/ionic-team/capacitor/issues/4884

Ionitron commented 1 year ago

This issue may need more information before it can be addressed. In particular, it will need a reliable Code Reproduction that demonstrates the issue.

Please see the Contributing Guide for how to create a Code Reproduction.

Thanks! Ionitron 💙

opindia123 commented 1 year ago

Thanks for reply, Above issue occur in Random devices in my testing device it runs perfectly fine, when application is running on random device for 20-30 min then suddenly it vanish from screen. There is no code level changes only change is REQUEST_IGNORE_BATTERY_OPTIMIZATIONS new permission in androidmanifest.xml.
Code reproduction will not result any thing as this behavior happened on random android devices.

Ionitron commented 1 year ago

This issue may need more information before it can be addressed. In particular, it will need a reliable Code Reproduction that demonstrates the issue.

Please see the Contributing Guide for how to create a Code Reproduction.

Thanks! Ionitron 💙

opindia123 commented 1 year ago

Hi, As code sensitivity cant reproduce it on git, we have used Angular changeDetect as on app resume UI is not updating , UI only update if we touch or scroll. May this help to identify and root cause.

Ionitron commented 1 year ago

This issue may need more information before it can be addressed. In particular, it will need a reliable Code Reproduction that demonstrates the issue.

Please see the Contributing Guide for how to create a Code Reproduction.

Thanks! Ionitron 💙

Ionitron commented 1 year ago

It looks like this issue didn't get the information it needed, so I'll close it for now. If I made a mistake, sorry! I am just a bot.

Have a great day! Ionitron 💙

ionitron-bot[bot] commented 1 year ago

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Capacitor, please create a new issue and ensure the template is fully filled out.