mihon icon indicating copy to clipboard operation
mihon copied to clipboard

Crash after selecting folder for mihon - ebook reader

Open rpr13 opened this issue 4 months ago • 7 comments

Steps to reproduce

Application crashes after selecting folder for app.

Device is ebook reader inkBOOK Calypso Plus with Android 8.1.

In crash log there is sth about No persistable permission but app didn't asked for any.
Even after adding permission via system apps settings, it still crashes.

Expected behavior

App should finish initial config and start working.

Actual behavior

App crashes.

Crash logs

App version: 0.16.3 (standard, 139663a, 4, 2024-01-29T20:34Z)
Android version: 8.1.0 (SDK 27; build px30_eink-userdebug 8.1.0 OPM8.190505.001 123531 dev-keys)
Device brand: rockchip
Device manufacturer: rockchip
Device name: px30_eink (A602)
Device model: CalypsoPlus
WebView: Android System WebView 109.0.5414.123

--------- beginning of system
02-14 13:11:38.403  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:39.700  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:40.042  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:45.780  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:46.326  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:46.408  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 0, 0)
02-14 13:11:48.473  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:48.511  2188  2188 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity, dirty:Rect(0, 0 - 758, 1024)
--------- beginning of crash
02-14 13:11:53.500  2188  2188 E AndroidRuntime: FATAL EXCEPTION: main
02-14 13:11:53.500  2188  2188 E AndroidRuntime: Process: app.mihon, PID: 2188
02-14 13:11:53.500  2188  2188 E AndroidRuntime: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=253523599, result=-1, data=Intent { dat=file:///storage/emulated/0/Mihon }} to activity {app.mihon/eu.kanade.tachiyomi.ui.main.MainActivity}: java.lang.SecurityException: No persistable permission grants found for UID 10020 and Uri file:///storage/emulated/0/Mihon [user 0]
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4268)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.-wrap19(Unknown Source:0)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6494)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: Caused by: java.lang.SecurityException: No persistable permission grants found for UID 10020 and Uri file:///storage/emulated/0/Mihon [user 0]
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.os.Parcel.readException(Parcel.java:2013)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.os.Parcel.readException(Parcel.java:1959)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.IActivityManager$Stub$Proxy.takePersistableUriPermission(IActivityManager.java:7938)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.content.ContentResolver.takePersistableUriPermission(ContentResolver.java:2085)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at eu.kanade.presentation.more.settings.screen.SettingsDataScreen$storageLocationPicker$1.invoke(Unknown Source:11)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at org.jsoup.nodes.Element$$ExternalSyntheticLambda0.onActivityResult(Unknown Source:10)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at androidx.activity.result.ActivityResultRegistry.dispatchResult(Unknown Source:44)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at androidx.activity.ComponentActivity.onActivityResult(Unknown Source:2)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at androidx.fragment.app.FragmentActivity.onActivityResult(Unknown Source:5)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.Activity.dispatchActivityResult(Activity.java:7304)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
02-14 13:11:53.500  2188  2188 E AndroidRuntime: 	... 9 more
02-14 13:11:56.487  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:11:56.680  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:05.944  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:06.215  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:34.788  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:41.875  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:54.732  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
02-14 13:12:54.922  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)
--------- beginning of main
02-14 13:13:00.458  2482  2498 E DynamiteModule: Invalid GmsCore APK, remote loading disabled.
02-14 13:13:00.465  2482  2498 E DynamiteModule: Invalid GmsCore APK, remote loading disabled.
02-14 13:13:01.429  2482  2516 E SQLiteLog: (5) statement aborts at 2: [PRAGMA journal_mode=TRUNCATE] database is locked
02-14 13:13:02.243  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010586
02-14 13:13:02.250  2482  2482 E ResourceType: Style contains key with bad entry: 0x0101058c
02-14 13:13:02.250  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010604
02-14 13:13:02.250  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010605
02-14 13:13:02.319  2482  2482 E ResourceType: Style contains key with bad entry: 0x0101058c
02-14 13:13:02.320  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010604
02-14 13:13:02.320  2482  2482 E ResourceType: Style contains key with bad entry: 0x01010605
02-14 13:13:02.508  2308  2308 E jeffy   : applyEinkMode :app.mihon/eu.kanade.tachiyomi.crash.CrashActivity, dirty:Rect(0, 0 - 758, 1024)

Mihon version

0.16.3

Android version

Android 8.1

Device

inkBOOK Calypso Plus

Other details

No response

Acknowledgements

  • [X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
  • [X] I have written a short but informative title.
  • [X] I have gone through the FAQ and troubleshooting guide.
  • [X] I have updated the app to version 0.16.3.
  • [X] I have updated all installed extensions.
  • [X] I will fill out all of the requested information in this form.

rpr13 avatar Feb 14 '24 12:02 rpr13

Thank you, I will check my device name after work.

rpr13 avatar Apr 10 '24 06:04 rpr13

Thank you, I will check my device name after work.

You can click on the three dots, About, Version and the device name and model alongside other things will be copied to your clipboard.

mainrs avatar Apr 10 '24 06:04 mainrs

Btw, maybe it is in log:

App version: 0.16.3 (standard, 139663a, 4, 2024-01-29T20:34Z)
Android version: 8.1.0 (SDK 27; build px30_eink-userdebug 8.1.0 OPM8.190505.001 123531 dev-keys)
...
Device name: px30_eink (A602)
Device model: CalypsoPlus

rpr13 avatar Apr 10 '24 06:04 rpr13

It is! Thank you!

mainrs avatar Apr 10 '24 06:04 mainrs

👍

rpr13 avatar Apr 10 '24 06:04 rpr13

#318 is probably related, it also happens on my Samsung Galaxy S22 Ultra.

There seems to be an issue where some devices have problems with the system file picker and the new scoped storage permissions, and it seems to include some Samsung devices as well.

One solution would be to already preset a default path for the Mihon folder during initial setup, allowing to skip the buggy file picker (while leaving the option to set a custom path for those without the bug), or to make setting the storage path skippable in its entirety.

EDIT: Solved now, check Issue #318

alfieyoko2 avatar Apr 21 '24 00:04 alfieyoko2

One solution would be to already preset a default path for the Mihon folder during initial setup, allowing to skip the buggy file picker (while leaving the option to set a custom path for those without the bug), or to make setting the storage path skippable in its entirety.

The default path is the only choice that would work out. Making it skip-able makes no sense: the app is unusable then. A storage path is required for local content.

EDIT: Solved now, check Issue https://github.com/mihonapp/mihon/issues/318

In your case. E-ink devices often kill activities by themselves to save battery. I cannot find the website where I read about it, but Inkbook devices do this. The option is disabled in development settings on my device but the issue still persists. I think changing the PR to have a default path makes more sense.

mainrs avatar Apr 22 '24 08:04 mainrs