2023-12-26, 08:22 PM
I have a 4K fire tv stick which everything runs perfectly, connected via a external server. My brother has a HD firetv stick connected to the same server but from time to time he gets some crash report when he tries to open Jellyfin app. Anyone knows why?
Code:
---
client: Jellyfin for Android TV
client_version: 0.16.1
client_repository: https://github.com/jellyfin/jellyfin-androidtv
type: crash_report
format: markdown
---
### Logs
***Stack Trace***:
```log
java.lang.NullPointerException
at org.jellyfin.androidtv.ui.home.HomeFragmentHelper.loadResume(HomeFragmentHelper.kt:33)
at org.jellyfin.androidtv.ui.home.HomeFragmentHelper.loadResumeVideo(HomeFragmentHelper.kt:51)
at org.jellyfin.androidtv.ui.home.HomeRowsFragment$onCreate$1.invokeSuspend(HomeRowsFragment.kt:123)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@5b83d60, Dispatchers.IO]
```
***Logcat***:
```log
12-17 18:27:37.649 E/AndroidRuntime( 5107): at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackTransportControlGlue.initActions(CustomPlaybackTransportControlGlue.java:197)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackTransportControlGlue.<init>(CustomPlaybackTransportControlGlue.java:106)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at org.jellyfin.androidtv.ui.playback.overlay.LeanbackOverlayFragment.onCreate(LeanbackOverlayFragment.java:32)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.Fragment.performCreate(Fragment.java:3094)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:504)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:268)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2941)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.Fragment.restoreChildFragmentState(Fragment.java:1989)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.Fragment.onCreate(Fragment.java:1967)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment.onCreate(CustomPlaybackOverlayFragment.java:174)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.Fragment.performCreate(Fragment.java:3094)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:504)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:268)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2941)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:219)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at org.jellyfin.androidtv.ui.browsing.MainActivity.onCreate(MainActivity.kt:55)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at android.app.Activity.performCreate(Activity.java:7169)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at android.app.Activity.performCreate(Activity.java:7159)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
12-17 18:27:37.649 E/AndroidRuntime( 5107): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2933)
12-17 18:27:37.649 E/AndroidRuntime( 5107): ... 11 more
--------- beginning of main
12-22 17:46:57.648 I/lyfin.androidt(10359): Bumping SignalCatcher priority from 5 to 10
12-22 17:46:57.649 E/lyfin.androidt(10359): Not starting debugger since process cannot load the jdwp agent.
12-22 17:46:58.308 I/ACRA (10359): ACRA is enabled for org.jellyfin.androidtv, initializing...
12-22 17:46:58.753 W/lyfin.androidt(10359): Accessing hidden method Landroid/view/View;->setTransitionVisibility(I)V (dark greylist, linking)
12-22 17:46:58.801 I/LogInitializer(10359): Debug tree planted
12-22 17:46:58.903 I/MigrationContext(10359): Requested migration from 2 to 2. Found 1 migrations in total.
12-22 17:46:58.941 W/lyfin.androidt(10359): Accessing hidden field Ljava/util/Collections$SynchronizedCollection;->mutex:Ljava/lang/Object; (dark greylist, reflection)
12-22 17:46:58.942 W/lyfin.androidt(10359): Accessing hidden method Ljava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V (dark greylist, reflection)
12-22 17:46:58.942 W/lyfin.androidt(10359): Accessing hidden method Ljava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V (dark greylist, reflection)
12-22 17:46:58.953 I/SessionRepositoryImpl$restoreSession(10359): Restoring session
12-22 17:46:58.969 I/org.jellyfin.sdk.api.client.KtorClient(10359): GET https://connect.streamii.box.ca/Branding/Configuration
12-22 17:46:59.226 I/MigrationContext(10359): Requested migration from 7 to 7. Found 1 migrations in total.
12-22 17:46:59.236 I/ActivityThemeExtensionsKt(10359): Applying theme DARK
12-22 17:46:59.300 E/System (10359): TRACE Starting certificate trust
12-22 17:46:59.346 E/ACRA (10359): ACRA caught a NullPointerException for org.jellyfin.androidtv
12-22 17:46:59.346 E/ACRA (10359): java.lang.NullPointerException
12-22 17:46:59.346 E/ACRA (10359): at org.jellyfin.androidtv.ui.home.HomeFragmentHelper.loadResume(HomeFragmentHelper.kt:33)
12-22 17:46:59.346 E/ACRA (10359): at org.jellyfin.androidtv.ui.home.HomeFragmentHelper.loadResumeVideo(HomeFragmentHelper.kt:51)
12-22 17:46:59.346 E/ACRA (10359): at org.jellyfin.androidtv.ui.home.HomeRowsFragment$onCreate$1.invokeSuspend(HomeRowsFragment.kt:123)
12-22 17:46:59.346 E/ACRA (10359): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
12-22 17:46:59.346 E/ACRA (10359): at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
12-22 17:46:59.346 E/ACRA (10359): at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
12-22 17:46:59.346 E/ACRA (10359): at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
12-22 17:46:59.346 E/ACRA (10359): at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
12-22 17:46:59.346 E/ACRA (10359): at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
12-22 17:46:59.346 E/ACRA (10359): at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
12-22 17:46:59.346 E/ACRA (10359): at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
12-22 17:46:59.346 E/ACRA (10359): Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@5b83d60, Dispatchers.IO]
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): Unable to retrieve displaypreferences. (displayPreferencesId=f137a2dd21bbc1b99aa5c0f6bf02a805, app=jellyfin-androidtv)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): org.jellyfin.sdk.api.client.exception.MissingUserIdException: Required value userId is null. Provide it by setting ApiClient.userId or passing it in the function call.
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at org.jellyfin.sdk.api.operations.DisplayPreferencesApi.getDisplayPreferences$default(DisplayPreferencesApi.kt:32)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update$suspendImpl(DisplayPreferencesStore.kt:59)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update(Unknown Source:0)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at org.jellyfin.androidtv.preference.PreferencesRepository$getLibraryPreferences$1.invokeSuspend(PreferencesRepository.kt:23)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at org.jellyfin.androidtv.preference.PreferencesRepository.getLibraryPreferences(PreferencesRepository.kt:23)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at org.jellyfin.androidtv.ui.browsing.BrowseGridFragment.onCreate(BrowseGridFragment.java:164)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at androidx.fragment.app.Fragment.performCreate(Fragment.java:3094)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:504)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:268)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:122)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2941)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:219)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at org.jellyfin.androidtv.ui.browsing.MainActivity.onCreate(MainActivity.kt:55)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.Activity.performCreate(Activity.java:7169)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.Activity.performCreate(Activity.java:7159)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2933)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3094)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1839)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.os.Handler.dispatchMessage(Handler.java:106)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.os.Looper.loop(Looper.java:211)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at android.app.ActivityThread.main(ActivityThread.java:6775)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at java.lang.reflect.Method.invoke(Native Method)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
12-22 17:46:59.423 E/DisplayPreferencesStore(10359): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
12-22 17:46:59.424 I/DisplayPreferencesStore(10359): Creating an empty DisplayPreferencesDto for next commit.
```
### App information
***App version***: `0.16.1` (`160199`)
***Package name***: `org.jellyfin.androidtv`
***Build***:
```json
{"BOARD":"sheldonp","BOOTLOADER":"unknown","BRAND":"Amazon","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"sheldonp","DISPLAY":"PS7664.3772N","FINGERPRINT":"Amazon\/sheldonp\/sheldonp:9\/PS7664.3772N\/0029159767040:user\/amz-p,release-keys","HARDWARE":"mt8695","HOST":"i3-ri-14-use1a-b-16-04-fos-121","ID":"PS7664.3772N","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"Amazon","MODEL":"AFTSSS","PERMISSIONS_REVIEW_REQUIRED":false,"PRODUCT":"sheldonp","RADIO":"unknown","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"amz-p,release-keys","TIME":1695416111000,"TYPE":"user","UNKNOWN":"unknown","USER":"build","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"PPR1.180610.009","CODENAME":"REL","FIRST_SDK_INT":28,"INCREMENTAL":"0029159767172","PREVIEW_SDK_INT":0,"RELEASE":"9","RESOURCES_SDK_INT":28,"SDK":"28","SDK_INT":28,"SECURITY_PATCH":"2023-08-01"}}
```
***Build config***:
```json
{"APPLICATION_ID":"org.jellyfin.androidtv","BUILD_TYPE":"release","DEBUG":false,"DEVELOPMENT":false,"VERSION_CODE":160199,"VERSION_NAME":"0.16.1"}
```
### Device information
***Android version***: `9`
***Device brand***: `Amazon`
***Device product***: `sheldonp`
***Device model***: `AFTSSS`
### Crash information
***Start time***: `2023-12-22T17:46:58.703-05:00`
***Crash time***: `2023-12-22T17:46:59.605-05:00`