K1rakishou / Kuroba-Experimental

Free and open source image board browser
GNU General Public License v3.0
676 stars 38 forks source link

Crash on Composite Catalog settings #1074

Closed bqv closed 5 months ago

bqv commented 5 months ago

Exception: java.lang.IllegalArgumentException Message: Unknown model class 'class com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupControllerViewModel'

Stacktrace

java.lang.IllegalArgumentException: Unknown model class 'class com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupControllerViewModel'
    at com.github.k1rakishou.chan.core.di.module.viewmodel.GenericViewModelFactory.create(GenericViewModelFactory.kt:22)
    at androidx.lifecycle.AbstractSavedStateViewModelFactory.create(AbstractSavedStateViewModelFactory.kt:97)
    at androidx.lifecycle.AbstractSavedStateViewModelFactory.create(AbstractSavedStateViewModelFactory.kt:88)
    at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:184)
    at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:150)
    at com.github.k1rakishou.chan.utils.KtExtensionsKt.viewModelByKey(KtExtensions.kt:327)
    at com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupController$viewModel$2.invoke(CompositeCatalogsSetupController.kt:319)
    at com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupController$viewModel$2.invoke(CompositeCatalogsSetupController.kt:69)
    at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
    at com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupController.getViewModel(CompositeCatalogsSetupController.kt:69)
    at com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupController.onCreate(CompositeCatalogsSetupController.kt:86)
    at com.github.k1rakishou.chan.controller.Controller.addChildController(Controller.kt:264)
    at com.github.k1rakishou.chan.ui.controller.navigation.NavigationController.transition(NavigationController.java:159)
    at com.github.k1rakishou.chan.ui.controller.navigation.ToolbarNavigationController.transition(ToolbarNavigationController.java:62)
    at com.github.k1rakishou.chan.ui.controller.navigation.NavigationController.pushController(NavigationController.java:72)
    at com.github.k1rakishou.chan.ui.controller.navigation.NavigationController.pushController(NavigationController.java:55)
    at com.github.k1rakishou.chan.ui.controller.navigation.NavigationController.pushController(NavigationController.java:50)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsController.pushController(SiteSettingsController.kt:254)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1$1.invoke(SiteSettingsPresenter.kt:273)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1$1.invoke(SiteSettingsPresenter.kt:273)
    at com.github.k1rakishou.chan.core.base.BasePresenter.withViewNormal(BasePresenter.kt:36)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1.invokeSuspend(SiteSettingsPresenter.kt:273)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1.invoke(Unknown Source:8)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1.invoke(Unknown Source:2)
    at com.github.k1rakishou.chan.features.settings.setting.LinkSettingV2$Companion$createBuilder$buildFunc$4.invokeSuspend(LinkSettingV2.kt:153)
    at com.github.k1rakishou.chan.features.settings.setting.LinkSettingV2$Companion$createBuilder$buildFunc$4.invoke(Unknown Source:8)
    at com.github.k1rakishou.chan.features.settings.setting.LinkSettingV2$Companion$createBuilder$buildFunc$4.invoke(Unknown Source:2)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsController$renderSettingInternal$1$1$1.invokeSuspend(SiteSettingsController.kt:149)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:257)
    at android.os.Looper.loop(Looper.java:368)
    at android.app.ActivityThread.main(ActivityThread.java:8826)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineName(Controller_SiteSettingsController), StandaloneCoroutine{Cancelling}@e0465f1, Dispatchers.Main]

Logs

[D] 12:20:09.354 BookmarkWatcherDelegate fetchThreadBookmarkInfo stats: total results=1, errorsCount=0, alreadyDeletedCount=0, notFoundOnServerCount=0, badStatusCount=0, successCount=1
[D] 12:20:09.447 BookmarkWatcherDelegate BookmarkWatcherDelegate.doWork() success, activeBookmarksCount=23
[D] 12:20:09.448 BookmarkWatcherDelegate BookmarkWatcherDelegate.doWork() took 1.304513333s
[D] 12:20:09.527 BookmarkWatcherDelegate fetchThreadBookmarkInfo stats: total results=22, errorsCount=0, alreadyDeletedCount=0, notFoundOnServerCount=0, badStatusCount=0, successCount=22
[D] 12:20:10.108 ThreadCellData runPreloading() end, took 1.635267551s
[D] 12:20:10.151 BookmarksManager persistBookmarksManually() persistBookmarksInternal called
[D] 12:20:10.155 ThreadBookmarkLocalSource persist(34)
[D] 12:20:10.174 ThreadBookmarkLocalSource persist() toInsertOrUpdateBookmarkReplyEntities: 0, toInsertOrUpdateThreadBookmarkEntities: 4
[D] 12:20:10.175 ThreadBookmarkLocalSource persist() inserted/updated 4 bookmarks, deleted 0 bookmarks
[D] 12:20:10.176 BookmarksRepository persist(34) took 20.080365ms
[D] 12:20:10.193 BookmarksManager persistBookmarksManually() persistBookmarksInternal finished
[D] 12:20:10.197 BookmarkWatcherDelegate BookmarkWatcherDelegate.doWork() success, activeBookmarksCount=23
[D] 12:20:10.256 BookmarkWatcherDelegate BookmarkWatcherDelegate.doWork() took 2.389990207s
[D] 12:20:10.257 BookmarkForegroundWatcher updateBookmarksWorkerLoop() start waiting...
[D] 12:20:11.267 ReplyNotificationsHelper showNotificationForReplies(0)
[D] 12:20:11.268 ReplyNotificationsHelper showNotificationForReplies() unreadNotificationsGrouped are empty
[D] 12:20:11.269 ReplyNotificationsHelper closeAllNotifications() visibleNotifications are empty
[D] 12:20:17.229 SiteRepository persist(chanSiteDataListCount=28)
[D] 12:20:17.243 SiteRepository persist(28) took 9.624635ms
[D] 12:20:18.168 ControllerNavigationManager onControllerPushed(SiteSettingsController)
[E] 12:20:18.855 Chan Unhandled exception in thread: main
Exception title: IllegalArgumentException
Exception body: Unknown model class 'class com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupControllerViewModel'java.lang.IllegalArgumentException: Unknown model class 'class com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupControllerViewModel'
    at com.github.k1rakishou.chan.core.di.module.viewmodel.GenericViewModelFactory.create(GenericViewModelFactory.kt:22)
    at androidx.lifecycle.AbstractSavedStateViewModelFactory.create(AbstractSavedStateViewModelFactory.kt:97)
    at androidx.lifecycle.AbstractSavedStateViewModelFactory.create(AbstractSavedStateViewModelFactory.kt:88)
    at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:184)
    at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:150)
    at com.github.k1rakishou.chan.utils.KtExtensionsKt.viewModelByKey(KtExtensions.kt:327)
    at com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupController$viewModel$2.invoke(CompositeCatalogsSetupController.kt:319)
    at com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupController$viewModel$2.invoke(CompositeCatalogsSetupController.kt:69)
    at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
    at com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupController.getViewModel(CompositeCatalogsSetupController.kt:69)
    at com.github.k1rakishou.chan.features.setup.CompositeCatalogsSetupController.onCreate(CompositeCatalogsSetupController.kt:86)
    at com.github.k1rakishou.chan.controller.Controller.addChildController(Controller.kt:264)
    at com.github.k1rakishou.chan.ui.controller.navigation.NavigationController.transition(NavigationController.java:159)
    at com.github.k1rakishou.chan.ui.controller.navigation.ToolbarNavigationController.transition(ToolbarNavigationController.java:62)
    at com.github.k1rakishou.chan.ui.controller.navigation.NavigationController.pushController(NavigationController.java:72)
    at com.github.k1rakishou.chan.ui.controller.navigation.NavigationController.pushController(NavigationController.java:55)
    at com.github.k1rakishou.chan.ui.controller.navigation.NavigationController.pushController(NavigationController.java:50)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsController.pushController(SiteSettingsController.kt:254)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1$1.invoke(SiteSettingsPresenter.kt:273)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1$1.invoke(SiteSettingsPresenter.kt:273)
    at com.github.k1rakishou.chan.core.base.BasePresenter.withViewNormal(BasePresenter.kt:36)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1.invokeSuspend(SiteSettingsPresenter.kt:273)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1.invoke(Unknown Source:8)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsPresenter$buildGeneralGroup$1$1.invoke(Unknown Source:2)
    at com.github.k1rakishou.chan.features.settings.setting.LinkSettingV2$Companion$createBuilder$buildFunc$4.invokeSuspend(LinkSettingV2.kt:153)
    at com.github.k1rakishou.chan.features.settings.setting.LinkSettingV2$Companion$createBuilder$buildFunc$4.invoke(Unknown Source:8)
    at com.github.k1rakishou.chan.features.settings.setting.LinkSettingV2$Companion$createBuilder$buildFunc$4.invoke(Unknown Source:2)
    at com.github.k1rakishou.chan.features.setup.SiteSettingsController$renderSettingInternal$1$1$1.invokeSuspend(SiteSettingsController.kt:149)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:257)
    at android.os.Looper.loop(Looper.java:368)
    at android.app.ActivityThread.main(ActivityThread.java:8826)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineName(Controller_SiteSettingsController), StandaloneCoroutine{Cancelling}@e0465f1, Dispatchers.Main]

[D] 12:20:19.053 CrashReportActivity CrashReportActivity launched
[E] 12:20:19.081 CrashReportActivity Got new exception: java.lang.IllegalArgumentException
[D] 12:20:19.735 StartActivity stop
[D] 12:20:19.772 ReplyLayoutViewModel listenForPostingStatusUpdates(CD{4chan/int}) end
[D] 12:20:19.780 ReplyLayoutViewModel listenForPostingStatusUpdates(TD{4chan/co/143534124}) end
[D] 12:20:19.828 ThreadLayout ThreadLayout.destroy(threadControllerType=Catalog)
[D] 12:20:19.828 ThreadPresenter unbindChanDescriptor(isDestroying=true) currentChanDescriptor=CD{4chan/int}
[D] 12:20:19.829 ThreadPresenter chanThreadTicker.stopTicker(CD{4chan/int})
[D] 12:20:19.829 ChanTicker stopTicker(resetCurrentChanDescriptor=true)
[D] 12:20:19.883 NavigationControllerContainerLayout initThreadControllerTracking()
[D] 12:20:19.902 ThreadLayout ThreadLayout.destroy(threadControllerType=Thread)
[D] 12:20:19.902 ThreadPresenter unbindChanDescriptor(isDestroying=true) currentChanDescriptor=TD{4chan/co/143534124}
[D] 12:20:19.904 ThreadPresenter chanThreadTicker.stopTicker(TD{4chan/co/143534124})
[D] 12:20:19.904 ChanTicker stopTicker(resetCurrentChanDescriptor=true)
[D] 12:20:19.957 NavigationControllerContainerLayout initThreadControllerTracking()
[D] 12:20:19.958 NavigationControllerContainerLayout initThreadControllerTracking()
[D] 12:20:19.965 BottomMenuPanel hide(0), prevState=Hidden
[D] 12:20:19.990 StartActivity onDestroy()
[D] 12:20:50.260 BookmarkForegroundWatcher updateBookmarksWorkerLoop() start ...OK
[D] 12:20:50.265 BookmarkWatcherCoordinator restartBackgroundWork() called tag=BookmarkWatcherController_Fdroid
[D] 12:20:50.304 BookmarkWatcherCoordinator restartBackgroundWork() enqueued work with tag BookmarkWatcherController_Fdroid, backgroundIntervalMillis=900000
[D] 12:20:50.304 BookmarkWatcherDelegate BookmarkWatcherDelegate.doWork(isCalledFromForeground: true, updateCurrentlyOpenedThread: false)
[D] 12:20:50.305 BookmarkWatcherDelegate awaitUntilAllDependenciesAreReady()...
[D] 12:20:50.305 BookmarkWatcherDelegate awaitUntilAllDependenciesAreReady()...done
[D] 12:20:50.306 BookmarkWatcherDelegate doWorkInternal() updating 23 bookmarks
[D] 12:20:50.306 LastPageNotificationsHelper showOrUpdateNotifications(23)
[D] 12:20:50.306 LastPageNotificationsHelper ChanSettings.watchLastPageNotify is disabled
[D] 12:20:50.306 BookmarkWatcherDelegate BookmarkWatcherDelegate.doWork() called, isCalledFromForeground=true, currentThreadDescriptor=null
[D] 12:20:50.306 FetchThreadBookmarkInfoUseCase FetchThreadBookmarkInfoUseCase.execute(23)
[W] 12:20:50.309 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.309 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.310 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.310 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.310 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.311 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.311 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.311 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.311 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.313 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.313 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.313 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.313 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.314 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.315 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.315 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.316 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.317 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.317 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.319 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'
[W] 12:20:50.321 SiteRequestModifier addCloudFlareCookie() cookieForDomain '4cdn.org' is null or empty: 'null'

Additional information

------------------------------
Android API Level: 34
App Version: v1.3.33
Phone Model: OnePlus CPH2409
Flavor type: Fdroid
isLowRamDevice: false, isLowRamDeviceForced: false
MemoryClass: 256
App running time: 370891
System animations state: duration: 0.0, transition: 1.0, window: 1.0
------------------------------
Current layout mode: SLIDE
Board view mode: GRID
Bottom navigation enabled: true
Prefetching enabled: false
Hi-res thumbnails enabled: false
mediaViewerMaxOffscreenPages: 1
CloudFlare force preload enabled: true
useMpvVideoPlayer: true
userAgent: Mozilla/5.0 (Linux; Android 14; CPH2409 Build/UKQ1.230924.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.123 Mobile Safari/537.36
kurobaExCustomUserAgent: KurobaEx-fdroid v1.3.33
maxPostsCountInPostsCache: 13107
maxAmountOfPostsInDatabase: 75000
maxAmountOfThreadsInDatabase: 12500
diskCacheSizeMegabytes: 256
prefetchDiskCacheSizeMegabytes: 512
diskCacheCleanupRemovePercent: 25
ImageSaver root directory: content://com.android.externalstorage.documents/tree/primary%3AKurobaEx
OkHttp IPv6 support enabled: true
OkHttp HTTP/2 support enabled: true
Foreground watcher enabled: true
Watch foreground interval: 30000
Watch foreground adaptive interval: true
Background watcher enabled: true
Watch background interval: 900000
Filter watch enabled: true
Filter watch interval: 1800000
Thread downloader interval: 3600000
Thread downloader download media on metered network: false
------------------------------
K1rakishou commented 5 months ago

This should already be fixed in the latest beta.