Android app built with Cordova crashes after choosing file with q-uploader, only on Android 13
NetMango opened this issue · 3 comments
What happened?
Only on Android 13 Cordova app:
- I click on the "+" icon to add a file to q-uploader
- Android system opens file browser
- When i select a file, system wants to turn back to app, but it shows an error message: can't launch 'MyApp' due to its own reason...
What did you expect to happen?
Like below Android 13 ( sdk level < 33 ): after selecting a file, the app window comes back and q-uploader shows the selected file name in the list as normal.
Reproduction URL
https://codepen.io/NetMango/pen/VwNzyqG
How to reproduce?
Just create a sample app with only one q-uploader input , and test is with Cordova
quasar dev -m cordova -T android
Flavour
Quasar CLI with Vite (@quasar/cli | @quasar/app-vite)
Areas
Cordova Mode
Platforms/Browsers
No response
Quasar info output
Operating System - Linux(5.15.0-101-generic) - linux/x64
NodeJs - 18.17.1
Global packages
NPM - 9.6.7
yarn - 1.22.19
@quasar/cli - undefined
@quasar/icongenie - Not installed
cordova - 12.0.0 (cordova-lib@12.0.1)
Important local packages
quasar - 2.15.0 -- Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
@quasar/app-vite - 1.7.0 -- Quasar Framework App CLI with Vite
@quasar/extras - 1.16.9 -- Quasar Framework fonts, icons and animations
eslint-plugin-quasar - Not installed
vue - 3.4.21 -- The progressive JavaScript framework for building modern web UI.
vue-router - 4.1.3
pinia - 2.0.22 -- Intuitive, type safe and flexible Store for Vue
vuex - Not installed
vite - 2.9.16 -- Native-ESM powered web dev build tool
eslint - 8.17.0 -- An AST-based pattern checker for JavaScript.
electron - Not installed
electron-packager - Not installed
electron-builder - Not installed
register-service-worker - 1.7.2 -- Script for registering service worker, with hooks
@capacitor/core - Not installed
@capacitor/cli - Not installed
@capacitor/android - Not installed
@capacitor/ios - Not installed
Quasar App Extensions
@quasar/quasar-app-extension-qcalendar - 4.0.0-beta.16 -- A Quasar App Extension for @quasar/quasar-ui-qcalendar
Relevant log output
No response
Additional context
I had multiple problems with Android 13 permissions. I also had problem with saving file to external storage. After a long lasting research the solution was
cordova-plugin-file@latest
which is currently v8.0.1 replacement from v7.0.0.
Maybe this issue is also depending on some permissions?
Hi @NetMango! 👋
It looks like you provided an invalid or unsupported reproduction URL.
Do not use any service other than Codepen, jsFiddle, StackBlitz, Codesandbox, and GitHub.
Make sure the URL you provided is correct and reachable. You can test it by visiting it in a private tab, another device, etc.
Please edit your original post above and provide a valid reproduction URL as explained.
Without a proper reproduction, your issue will have to get closed.
Thank you for your collaboration. 👏
A JAVA debug log:
D/VRI[MainActivity]: processPointerEvent: action: ACTION_DOWN, handled = true, X=925.6428, Y=1018.6969
D/VRI[MainActivity]: processPointerEvent: action: ACTION_UP, handled = true, X=925.6428, Y=1018.6969
D/ActivityThread: ***** performPauseActivity ActivityRecord{8a4bc7a token=android.os.BinderProxy@ea400a5 {hu.flowtion.app.bpmp/hu.flowtion.app.bpmp.MainActivity}} finished= false paused= false mFinished= false
D/CordovaActivity: Paused the activity.
D/ActivityThread: ***** handleStopActivity r ActivityRecord{8a4bc7a token=android.os.BinderProxy@ea400a5 {hu.flowtion.app.bpmp/hu.flowtion.app.bpmp.MainActivity}} stopped= false paused= true
D/CordovaActivity: Stopped the activity.
D/CompatibilityChangeReporter: Compat change id reported: 78294732; UID 10392; state: ENABLED
D/ActivityThread: ***** handleStartActivity ActivityRecord{8a4bc7a token=android.os.BinderProxy@ea400a5 {hu.flowtion.app.bpmp/hu.flowtion.app.bpmp.MainActivity}} stopped= true paused= true mFinished= false
D/CordovaActivity: Started the activity.
D/CordovaActivity: Incoming Result. Request code = 5173
D/CordovaInterfaceImpl: Sending activity result to plugin
D/SystemWebChromeClient: Receive file chooser URL: [Landroid.net.Uri;@12d6e34
D/ActivityThread: ***** performResumeActivity ActivityRecord{8a4bc7a token=android.os.BinderProxy@ea400a5 {hu.flowtion.app.bpmp/hu.flowtion.app.bpmp.MainActivity}} mFinished= false
D/CordovaActivity: Resumed the activity.
E/chromium: [ERROR:jni_android.cc(270)] Crashing due to uncaught Java exception
E/chromium: [ERROR:jni_android.cc(314)] Native stack trace:
#00 pc 0x00000000040ef587 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#01 pc 0x0000000002c9a367 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#02 pc 0x0000000002c9926f /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#03 pc 0x000000000411ba7b /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#04 pc 0x000000000411b9cb /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#05 pc 0x0000000002c26323 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#06 pc 0x0000000002c2776b /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#07 pc 0x0000000002c27a77 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#08 pc 0x0000000002c28b97 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#09 pc 0x0000000002ca58bf /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#10 pc 0x0000000002ca580b /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#11 pc 0x0000000002c1ba7f /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#12 pc 0x000000000007d59b /apex/com.android.runtime/lib64/bionic/libc.so
#13 pc 0x0000000000016f3f /apex/com.android.runtime/lib64/bionic/libc.so
E/cr_JniAndroid: Handling uncaught Java exception
java.lang.RuntimeException: An error occurred while executing doInBackground()
at WV.n4.done(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:41)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:381)
at java.util.concurrent.FutureTask.setException(FutureTask.java:250)
at java.util.concurrent.FutureTask.run(FutureTask.java:269)
at WV.n4.run(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:26)
Caused by: java.lang.IllegalArgumentException: You must pass a valid uri and observer
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:172)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:481)
at android.content.ContentResolver.query(ContentResolver.java:1231)
at android.content.ContentResolver.query(ContentResolver.java:1157)
at android.content.ContentResolver.query(ContentResolver.java:1113)
at org.chromium.base.ContentUriUtils.b(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:18)
at WV.y8.b(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:23)
at WV.k4.call(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:9)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at WV.n4.run(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:26)
E/AndroidRuntime: FATAL EXCEPTION: ThreadPoolForeg
Process: hu.flowtion.app.bpmp, PID: 30020
org.chromium.base.JniAndroid$UncaughtExceptionException: Native stack trace:
#00 pc 0x00000000040ef587 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#01 pc 0x0000000002c9a367 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#02 pc 0x0000000002c9926f /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#03 pc 0x000000000411ba7b /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#04 pc 0x000000000411b9cb /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#05 pc 0x0000000002c26323 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#06 pc 0x0000000002c2776b /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#07 pc 0x0000000002c27a77 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#08 pc 0x0000000002c28b97 /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#09 pc 0x0000000002ca58bf /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#10 pc 0x0000000002ca580b /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#11 pc 0x0000000002c1ba7f /data/app/~~hyEp3R64i82nQvOdrvmxqA==/com.google.android.trichromelibrary_626111933-RKE44VnmEv0FhMTbn5QiHA==/base.apk (offset 0x8dc000)
#12 pc 0x000000000007d59b /apex/com.android.runtime/lib64/bionic/libc.so
#13 pc 0x0000000000016f3f /apex/com.android.runtime/lib64/bionic/libc.so
at org.chromium.base.JniAndroid.handleException(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:11)
Caused by: java.lang.RuntimeException: An error occurred while executing doInBackground()
at WV.n4.done(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:41)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:381)
at java.util.concurrent.FutureTask.setException(FutureTask.java:250)
at java.util.concurrent.FutureTask.run(FutureTask.java:269)
at WV.n4.run(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:26)
Caused by: java.lang.IllegalArgumentException: You must pass a valid uri and observer
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:172)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:481)
at android.content.ContentResolver.query(ContentResolver.java:1231)
at android.content.ContentResolver.query(ContentResolver.java:1157)
at android.content.ContentResolver.query(ContentResolver.java:1113)
at org.chromium.base.ContentUriUtils.b(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:18)
at WV.y8.b(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:23)
at WV.k4.call(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:9)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at WV.n4.run(chromium-TrichromeWebViewGoogle6432.aab-stable-626111933:26)
D/ActivityThread: ***** performPauseActivity ActivityRecord{8a4bc7a token=android.os.BinderProxy@ea400a5 {hu.flowtion.app.bpmp/hu.flowtion.app.bpmp.MainActivity}} finished= true paused= false mFinished= false
D/CordovaActivity: Paused the activity.
D/ActivityThread: ***** handleStopActivity r ActivityRecord{8a4bc7a token=android.os.BinderProxy@ea400a5 {hu.flowtion.app.bpmp/hu.flowtion.app.bpmp.MainActivity}} stopped= false paused= true
D/CordovaActivity: Stopped the activity.
D/CordovaActivity: CordovaActivity.onDestroy()
D/CordovaWebViewImpl: >>> loadUrl(about:blank)
W/cr_AwContents: WebView.destroy() called while WebView is still attached to window.
E/chromium: [ERROR:aw_browser_terminator.cc(154)] Renderer process (30159) crash detected (code -1).
I/Choreographer: Skipped 22 frames by ZTE_SUPERKILLER_SKIPPED_FRAME_GAUGE, going to report to SuperKiller
E/chromium: [ERROR:directory_reader_posix.cc(43)] opendir /data/user/0/hu.flowtion.app.bpmp/cache/WebView/Crashpad/attachments/20947121-156d-4c59-a836-3533fb00860b: No such file or directory (2)
W/chromium: [WARNING:minidump_to_upload_parameters.cc(67)] duplicate annotation name ptype, discarding value browser
Hello. I'm sorry for the mistake, but i think it's not a QUASAR issue, rather CORDOVA. I've just tried it with with q-file component and it failed also. Finally I tried with native HTML file input and the result is the same.
I think I close this issue and open in cordova-android.