quasarframework / quasar

Quasar Framework - Build high-performance VueJS user interfaces in record time

Home Page:https://quasar.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Android app built with Cordova crashes after choosing file with q-uploader, only on Android 13

NetMango opened this issue · 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.