FossifyOrg / Gallery

Browse your memories without any interruptions with this photo and video gallery
https://www.fossify.org
GNU General Public License v3.0
1.35k stars 40 forks source link

IllegalArgumentException when opening app in work profile just after turning on work profile #122

Open UntrimmedParasail opened 5 months ago

UntrimmedParasail commented 5 months ago

Checklist

Affected app version

1.1.1

Affected Android/Custom ROM version

Android 13 / DivestOS 20

Affected device model

OnePlus 7T

How did you install the app?

F-Droid / IzzyOnDroid

Steps to reproduce the bug

  1. Create a work profile using Shelter if one hasn't been before
  2. Clone Fossify Gallery into the work profile if not already installed there (I used Shelter to create the work profile and clone but this may occur with other work profile providing apps too).
  3. "Pause" the work profile if it is open.
  4. Turn on the work profile, then immediately launch Gallery

Expected behavior

Opens as normal without any messages.

Actual behavior

Gives a toast with the text "Error: java.lang.IllegalArgumentException: Volume exten..." and gives an error in logcat.

This happens on first launch only. Everything else seems normal apart from that.

Screenshots/Screen recordings

Screenshots don't capture the toast messages. However I have attached part of a logcat (from command adb logcat -b all -d *:E) below showing the message in full. The app otherwise appears as normal, so I have not attached a screenshot for privacy reasons.

Additional information

I do have MicroG installed in the work profile, but I don't think that's the cause as I can still reproduce this even after I've frozen MicroG using Shelter. I was also able to reproduce this on my OnePlus 5T which also runs DivestOS, and reproduce on the last version of the Simple Mobile Tools Gallery on F-Droid.

If you wait a bit after opening the work profile to open the app, then this error does not occur. You have to launch it very soon after opening the work profile.

Crash log:

2-08 22:47:37.924 13810 13810 E fossify.gallery: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:37.963 13831 13831 E os.lineageparts: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.040 13859 13859 E s.settings.doze: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.077 13676 13701 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.078 13676 13701 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.078 13676 13701 E DatabaseUtils: java.lang.IllegalArgumentException: Volume external_primary not found
02-08 22:47:38.078 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3258)
02-08 22:47:38.078 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.078 13676 13701 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.078 13676 13701 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.078 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.078 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.095 13676 13701 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.095 13676 13701 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.095 13676 13701 E DatabaseUtils: java.lang.IllegalArgumentException: Volume external_primary not found
02-08 22:47:38.095 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3258)
02-08 22:47:38.095 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.095 13676 13701 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.095 13676 13701 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.095 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.095 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.096 13676 13701 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.096 13676 13701 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.096 13676 13701 E DatabaseUtils: java.lang.IllegalArgumentException: Volume external_primary not found
02-08 22:47:38.096 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3258)
02-08 22:47:38.096 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.096 13676 13701 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.096 13676 13701 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.096 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.096 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.097 13676 13697 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.097 13676 13697 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.097 13676 13697 E DatabaseUtils: java.lang.IllegalArgumentException: Volume external_primary not found
02-08 22:47:38.097 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3258)
02-08 22:47:38.097 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.097 13676 13697 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.097 13676 13697 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.097 13676 13697 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.097 13676 13697 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.098 13810 13847 E OpenGLRenderer: Unable to match the desired swap behavior.
02-08 22:47:38.147 13891 13891 E ndroid.contacts: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.167 13676 13784 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.195 13676 13784 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.220 13676 13701 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.220 13676 13701 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.220 13676 13701 E DatabaseUtils: java.lang.IllegalArgumentException: Volume external_primary not found
02-08 22:47:38.220 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3258)
02-08 22:47:38.220 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.220 13676 13701 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.220 13676 13701 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.220 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.220 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.225 13676 13701 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.225 13676 13701 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.225 13676 13701 E DatabaseUtils: java.lang.IllegalArgumentException: Volume external_primary not found
02-08 22:47:38.225 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3258)
02-08 22:47:38.225 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.225 13676 13701 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.225 13676 13701 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.225 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.225 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.247 13923 13923 E putmethod.latin: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.253  2213  2550 E OpenGLRenderer: Unable to match the desired swap behavior.
02-08 22:47:38.260 13942 13942 E d.process.acore: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.280 13676 13892 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.299 13676 13892 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.339 13676 13785 E MediaProvider: Volume external_primary not found, calling identity: UserHandle{10}, attached volumes: {MediaVolume name: [internal] id: [null] user: [null] path: [null] externallyManaged: [false] mPublicVolume: [false]}
02-08 22:47:38.357 13981 13981 E droid.dynsystem: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.449 14007 14007 E putmethod.latin: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.575 14032 14032 E gedprovisioning: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.665 14053 14053 E d.process.media: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.750 13676 13701 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.750 13676 13701 E DatabaseUtils: java.lang.IllegalStateException: Unknown URL: content://media/external is hidden API
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider$LocalUriMatcher.matchUri(MediaProvider.java:10398)
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.matchUri(MediaProvider.java:10379)
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.isPickerUri(MediaProvider.java:7809)
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.queryInternal(MediaProvider.java:3266)
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3256)
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.750 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.752 13676 13697 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.752 13676 13697 E DatabaseUtils: java.lang.IllegalStateException: Unknown URL: content://media/external is hidden API
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider$LocalUriMatcher.matchUri(MediaProvider.java:10398)
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.matchUri(MediaProvider.java:10379)
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.isPickerUri(MediaProvider.java:7809)
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.queryInternal(MediaProvider.java:3266)
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3256)
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.752 13676 13697 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.758 13676 13701 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.758 13676 13701 E DatabaseUtils: java.lang.IllegalStateException: Unknown URL: content://media/external is hidden API
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider$LocalUriMatcher.matchUri(MediaProvider.java:10398)
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.matchUri(MediaProvider.java:10379)
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.isPickerUri(MediaProvider.java:7809)
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.queryInternal(MediaProvider.java:3266)
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3256)
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.758 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.759 13676 13701 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.759 13676 13701 E DatabaseUtils: java.lang.IllegalStateException: Unknown URL: content://media/external is hidden API
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider$LocalUriMatcher.matchUri(MediaProvider.java:10398)
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.matchUri(MediaProvider.java:10379)
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.isPickerUri(MediaProvider.java:7809)
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.queryInternal(MediaProvider.java:3266)
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3256)
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.759 13676 13701 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.801 14075 14075 E com.android.nfc: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.825 14094 14094 E externalstorage: Not starting debugger since process cannot load the jdwp agent.
02-08 22:47:38.875 13676 13697 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.875 13676 13697 E DatabaseUtils: java.lang.IllegalStateException: Unknown URL: content://media/external is hidden API
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider$LocalUriMatcher.matchUri(MediaProvider.java:10398)
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.matchUri(MediaProvider.java:10379)
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.isPickerUri(MediaProvider.java:7809)
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.queryInternal(MediaProvider.java:3266)
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3256)
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.875 13676 13697 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
02-08 22:47:38.876 13676 13697 E DatabaseUtils: Writing exception to parcel
02-08 22:47:38.876 13676 13697 E DatabaseUtils: java.lang.IllegalStateException: Unknown URL: content://media/external is hidden API
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider$LocalUriMatcher.matchUri(MediaProvider.java:10398)
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.matchUri(MediaProvider.java:10379)
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.isPickerUri(MediaProvider.java:7809)
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.queryInternal(MediaProvider.java:3266)
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3256)
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at com.android.providers.media.MediaProvider.query(MediaProvider.java:3249)
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at android.content.ContentProvider$Transport.query(ContentProvider.java:285)
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at android.os.Binder.execTransactInternal(Binder.java:1280)
02-08 22:47:38.876 13676 13697 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:1244)
UntrimmedParasail commented 5 months ago

Speculation: This may not have to do with the fact that it's in the work profile specifically, but because of the fact that it's just started up. The work profile is like another android user profile in that its isolated from the regular profile, with its own encryption keys and stuff. So this may be occurring because the work profile has not fully initialized yet.