Skip to content

Can't download manga with long name #2280

@Sivel0302

Description

@Sivel0302

Steps to reproduce

  1. Download senkuro extension
  2. Add manga
  3. Download 1 chapter - download success
  4. Download 2 or 3 or 4... etc. Chapter - error

Expected behavior

Chapter must be downloaded

Actual behavior

Notify with error. Chapter not downloaded

Crash logs

App ID: app.mihon
App version: 0.18.0 (6294521, 11, 2025-03-19T22:40:59Z)
Android version: 15 (SDK 35; build AQ3A.240829.003)
Device brand: Redmi
Device manufacturer: Xiaomi
Device name: xun (xun_ru)
Device model: 23073RPBFG
WebView: Android System WebView 137.0.7151.117
Current time: 2025-07-14T14:34:16.419987+03:00

--------- beginning of system
2025-07-14 13:42:21.418 +0300 11410 11549 E FramePredict: registerContentObserver fail
2025-07-14 13:56:47.777 +0300 11410 11410 E ActivityThread:  fail in deliverResultsIfNeeded java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
2025-07-14 14:03:10.225 +0300 16473 16545 E FramePredict: registerContentObserver fail
2025-07-14 14:04:23.404 +0300 16473 16473 E ActivityThread:  fail in deliverResultsIfNeeded java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
2025-07-14 14:11:11.947 +0300 19363 19443 E FramePredict: registerContentObserver fail
2025-07-14 14:12:24.973 +0300 19363 19363 E ActivityThread:  fail in deliverResultsIfNeeded java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
2025-07-14 14:12:54.154 +0300 22746 22843 E FramePredict: registerContentObserver fail
2025-07-14 14:13:13.492 +0300 22746 22746 E ActivityThread:  fail in deliverResultsIfNeeded java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
2025-07-14 14:13:42.854 +0300 22746 22746 E ActivityThread:  fail in deliverResultsIfNeeded java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
2025-07-14 14:22:06.959 +0300 28209 28302 E FramePredict: registerContentObserver fail
2025-07-14 14:23:09.538 +0300 29682 29783 E FramePredict: registerContentObserver fail
--------- beginning of main
2025-07-14 14:32:51.795 +0300 10050 10050 E app.mihon: Not starting debugger since process cannot load the jdwp agent.
2025-07-14 14:32:52.039 +0300 10050 10079 E SQLiteLog: (283) recovered 335 frames from WAL file /data/data/app.mihon/databases/tachiyomi.db-wal
2025-07-14 14:32:52.089 +0300 10050 10099 E app.mihon: No package ID 6a found for resource ID 0x6a0b000f.
2025-07-14 14:32:52.649 +0300 10050 10145 E FramePredict: registerContentObserver fail
2025-07-14 14:32:52.785 +0300 10050 10124 E SQLiteLog: (284) automatic index on C(manga_id)
2025-07-14 14:32:52.785 +0300 10050 10124 E SQLiteLog: (284) automatic index on mangas_categories(manga_id)
2025-07-14 14:32:53.310 +0300 10050 10132 E LB      : fail to open file: No such file or directory
2025-07-14 14:32:53.310 +0300 10050 10132 E LB      : fail to open node: No such file or directory
2025-07-14 14:32:53.310 +0300 10050 10132 E LB      : fail to open node: No such file or directory
2025-07-14 14:32:56.314 +0300 10050 10132 E app.mihon: DynamicFPS DF open fail: No such file or directory
2025-07-14 14:32:58.842 +0300 10050 10132 E app.mihon: FrameInsert open fail: No such file or directory
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: Failed to createFile
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: java.lang.IllegalStateException: Failed to mkdir /storage/emulated/0/Documents/Mihon/downloads/Senkuro (RU)/Гениальный целитель, который исцелял в одно мгновение, но был изгнан... бесполезный, теперь наслаждается жизнью в качестве тёмного целителя (1)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at android.os.Parcel.createExceptionOrNull(Parcel.java:3264)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at android.os.Parcel.createException(Parcel.java:3240)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at android.os.Parcel.readException(Parcel.java:3223)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:203)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:155)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at android.content.ContentProviderProxy.call(ContentProviderNative.java:782)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at android.content.ContentResolver.call(ContentResolver.java:2469)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at android.provider.DocumentsContract.createDocument(DocumentsContract.java:1380)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at coil.decode.DecodeUtils.createFile(Unknown Source:4)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at com.hippo.unifile.TreeDocumentFile.createDirectory(Unknown Source:27)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at eu.kanade.tachiyomi.data.download.DownloadProvider.getMangaDir$app_release(Unknown Source:29)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at eu.kanade.tachiyomi.data.download.Downloader.access$downloadChapter(Unknown Source:159)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at eu.kanade.tachiyomi.data.download.Downloader$launchDownloadJob$1.invokeSuspend(Unknown Source:44)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at kotlinx.coroutines.DispatchedTask.run(Unknown Source:108)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(Unknown Source:3)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Unknown Source:2)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(Unknown Source:0)
2025-07-14 14:33:00.572 +0300 10050 10096 E DocumentsContractApi21: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(Unknown Source:57)
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: Invalid download directory
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: java.lang.NullPointerException
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: 	at eu.kanade.tachiyomi.data.download.DownloadProvider.getMangaDir$app_release(Unknown Source:33)
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: 	at eu.kanade.tachiyomi.data.download.Downloader.access$downloadChapter(Unknown Source:159)
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: 	at eu.kanade.tachiyomi.data.download.Downloader$launchDownloadJob$1.invokeSuspend(Unknown Source:44)
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: 	at kotlinx.coroutines.DispatchedTask.run(Unknown Source:108)
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(Unknown Source:3)
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Unknown Source:2)
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(Unknown Source:0)
2025-07-14 14:33:00.572 +0300 10050 10096 E DownloadProvider: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(Unknown Source:57)
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: java.lang.Exception: Недопустимое расположение: /storage/emulated/0/Documents/Mihon/downloads
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: 	at eu.kanade.tachiyomi.data.download.DownloadProvider.getMangaDir$app_release(Unknown Source:98)
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: 	at eu.kanade.tachiyomi.data.download.Downloader.access$downloadChapter(Unknown Source:159)
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: 	at eu.kanade.tachiyomi.data.download.Downloader$launchDownloadJob$1.invokeSuspend(Unknown Source:44)
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: 	at kotlinx.coroutines.DispatchedTask.run(Unknown Source:108)
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(Unknown Source:3)
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Unknown Source:2)
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(Unknown Source:0)
2025-07-14 14:33:00.582 +0300 10050 10096 E StandaloneCoroutine: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(Unknown Source:57)
2025-07-14 14:33:00.593 +0300 10050 10096 E DownloadJob: Not allowed to set foreground job
2025-07-14 14:33:00.593 +0300 10050 10096 E DownloadJob: kotlinx.coroutines.JobCancellationException: Job was cancelled; job=JobImpl{Cancelling}@c05d28b
2025-07-14 14:33:39.237 +0300 11048 11048 E app.mihon: Not starting debugger since process cannot load the jdwp agent.
2025-07-14 14:33:39.568 +0300 11048 11077 E SQLiteLog: (283) recovered 18 frames from WAL file /data/data/app.mihon/databases/tachiyomi.db-wal
2025-07-14 14:33:39.608 +0300 11048 11091 E app.mihon: No package ID 6a found for resource ID 0x6a0b000f.
2025-07-14 14:33:40.167 +0300 11048 11152 E FramePredict: registerContentObserver fail
2025-07-14 14:33:40.311 +0300 11048 11124 E SQLiteLog: (284) automatic index on C(manga_id)
2025-07-14 14:33:40.311 +0300 11048 11124 E SQLiteLog: (284) automatic index on mangas_categories(manga_id)
2025-07-14 14:33:40.874 +0300 11048 11131 E LB      : fail to open file: No such file or directory
2025-07-14 14:33:40.874 +0300 11048 11131 E LB      : fail to open node: No such file or directory
2025-07-14 14:33:40.874 +0300 11048 11131 E LB      : fail to open node: No such file or directory
2025-07-14 14:33:43.898 +0300 11048 11131 E app.mihon: DynamicFPS DF open fail: No such file or directory
2025-07-14 14:33:45.876 +0300 11048 11131 E app.mihon: FrameInsert open fail: No such file or directory
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: Failed to createFile
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: java.lang.IllegalStateException: Failed to mkdir /storage/emulated/0/Documents/Mihon/downloads/Senkuro (RU)/Гениальный целитель, который исцелял в одно мгновение, но был изгнан... бесполезный, теперь наслаждается жизнью в качестве тёмного целителя (1)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at android.os.Parcel.createExceptionOrNull(Parcel.java:3264)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at android.os.Parcel.createException(Parcel.java:3240)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at android.os.Parcel.readException(Parcel.java:3223)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:203)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:155)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at android.content.ContentProviderProxy.call(ContentProviderNative.java:782)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at android.content.ContentResolver.call(ContentResolver.java:2469)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at android.provider.DocumentsContract.createDocument(DocumentsContract.java:1380)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at coil.decode.DecodeUtils.createFile(Unknown Source:4)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at com.hippo.unifile.TreeDocumentFile.createDirectory(Unknown Source:27)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at eu.kanade.tachiyomi.data.download.DownloadProvider.getMangaDir$app_release(Unknown Source:29)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at eu.kanade.tachiyomi.data.download.Downloader.access$downloadChapter(Unknown Source:159)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at eu.kanade.tachiyomi.data.download.Downloader$launchDownloadJob$1.invokeSuspend(Unknown Source:44)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at kotlinx.coroutines.DispatchedTask.run(Unknown Source:108)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(Unknown Source:3)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Unknown Source:2)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(Unknown Source:0)
2025-07-14 14:33:59.088 +0300 11048 11163 E DocumentsContractApi21: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(Unknown Source:57)
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: Invalid download directory
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: java.lang.NullPointerException
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: 	at eu.kanade.tachiyomi.data.download.DownloadProvider.getMangaDir$app_release(Unknown Source:33)
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: 	at eu.kanade.tachiyomi.data.download.Downloader.access$downloadChapter(Unknown Source:159)
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: 	at eu.kanade.tachiyomi.data.download.Downloader$launchDownloadJob$1.invokeSuspend(Unknown Source:44)
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: 	at kotlinx.coroutines.DispatchedTask.run(Unknown Source:108)
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(Unknown Source:3)
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Unknown Source:2)
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(Unknown Source:0)
2025-07-14 14:33:59.089 +0300 11048 11163 E DownloadProvider: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(Unknown Source:57)
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: java.lang.Exception: Недопустимое расположение: /storage/emulated/0/Documents/Mihon/downloads
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: 	at eu.kanade.tachiyomi.data.download.DownloadProvider.getMangaDir$app_release(Unknown Source:98)
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: 	at eu.kanade.tachiyomi.data.download.Downloader.access$downloadChapter(Unknown Source:159)
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: 	at eu.kanade.tachiyomi.data.download.Downloader$launchDownloadJob$1.invokeSuspend(Unknown Source:44)
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: 	at kotlinx.coroutines.DispatchedTask.run(Unknown Source:108)
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(Unknown Source:3)
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Unknown Source:2)
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(Unknown Source:0)
2025-07-14 14:33:59.099 +0300 11048 11163 E StandaloneCoroutine: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(Unknown Source:57)
2025-07-14 14:33:59.108 +0300 11048 11163 E DownloadJob: Not allowed to set foreground job
2025-07-14 14:33:59.108 +0300 11048 11163 E DownloadJob: kotlinx.coroutines.JobCancellationException: Job was cancelled; job=JobImpl{Cancelling}@31c112a

Mihon version

0.18.0

Android version

15

Device

Redmi Pad SE

Other details

Manga have long name, mihon add (1) in end folder name. Why...... Android filesystem not support very long name.

Reinstall mihon - not fixed this

The core of the problem

Acknowledgements

  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
  • I have written a short but informative title.
  • I have gone through the FAQ and troubleshooting guide.
  • I have updated the app to version 0.18.0.
  • I have filled out all of the requested information in this form, including specific version numbers.
  • I understand that Mihon does not have or fix any extensions, and I will not receive help for any issues related to sources or extensions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions