jellyfin / jellyfin-androidtv

Android TV Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.87k stars 489 forks source link

Persistent crashes due to NullPointerException when resuming app #3302

Closed SamNuttall closed 5 months ago

SamNuttall commented 10 months ago

Describe the bug

Similar problem to issue #3234. Play something, then pause and close the app (go to home screen). When resuming the app, the crash occurs.

Logs


client: Jellyfin for Android TV client_version: 0.16.4 client_repository: https://github.com/jellyfin/jellyfin-androidtv type: crash_report format: markdown

Logs

Stack Trace:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment.getContext()' on a null object reference
    at org.jellyfin.androidtv.ui.playback.PlaybackController.buildVLCOptions(PlaybackController.java:591)
    at org.jellyfin.androidtv.ui.playback.PlaybackController.play(PlaybackController.java:540)
    at org.jellyfin.androidtv.ui.playback.PlaybackController.play(PlaybackController.java:435)
    at org.jellyfin.androidtv.ui.playback.overlay.VideoPlayerAdapter.play(VideoPlayerAdapter.java:29)
    at org.jellyfin.androidtv.ui.playback.overlay.action.PlayPauseAction.onActionClicked(PlayPauseAction.kt:12)
    at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackTransportControlGlue.onActionClicked(CustomPlaybackTransportControlGlue.java:292)
    at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackFragmentGlueHost.setOnActionClickedListener$lambda$0(CustomPlaybackFragmentGlueHost.kt:21)
    at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackFragmentGlueHost.$r8$lambda$GOPxzWh-j6mlduoWRi-elcZerjA(Unknown Source:0)
    at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackFragmentGlueHost$$ExternalSyntheticLambda0.onItemClicked(Unknown Source:2)
    at androidx.leanback.app.PlaybackSupportFragment$1.onItemClicked(PlaybackSupportFragment.java:175)
    at androidx.leanback.widget.PlaybackTransportRowPresenter$2.onControlClicked(PlaybackTransportRowPresenter.java:575)
    at androidx.leanback.widget.ControlBarPresenter$ViewHolder$3.onClick(ControlBarPresenter.java:164)
    at android.view.View.performClick(View.java:6597)
    at android.view.View.performClickInternal(View.java:6574)
    at android.view.View.onKeyUp(View.java:13216)
    at android.view.KeyEvent.dispatch(KeyEvent.java:2832)
    at android.view.View.dispatchKeyEvent(View.java:12450)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at androidx.leanback.widget.PlaybackTransportRowView.dispatchKeyEvent(PlaybackTransportRowView.java:71)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at androidx.leanback.widget.BaseGridView.dispatchKeyEvent(BaseGridView.java:1081)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
    at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:438)
    at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1821)
    at android.app.Activity.dispatchKeyEvent(Activity.java:3391)
    at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.java:120)
    at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:85)
    at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:138)
    at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:352)
    at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:5057)
    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4923)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4444)
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4497)
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4463)
    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4603)
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4471)
    at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4660)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4444)
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4497)
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4463)
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4471)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4444)
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4497)
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4463)
    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4636)
    at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4797)
    at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2571)
    at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2081)
    at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2072)
    at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2548)
    at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
    at android.os.MessageQueue.nativePollOnce(Native Method)
    at android.os.MessageQueue.next(MessageQueue.java:326)
    at android.os.Looper.loop(Looper.java:178)
    at android.app.ActivityThread.main(ActivityThread.java:6775)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Logcat:

01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4463)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4603)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4471)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4660)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4444)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4497)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4463)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4471)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4444)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4497)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4463)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4636)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4797)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2571)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2081)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2072)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2548)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.os.MessageQueue.nativePollOnce(Native Method)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.os.MessageQueue.next(MessageQueue.java:326)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.os.Looper.loop(Looper.java:178)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at android.app.ActivityThread.main(ActivityThread.java:6775)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at java.lang.reflect.Method.invoke(Native Method)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
01-08 20:50:47.944 E/AndroidRuntime(31853):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
01-08 20:50:47.946 E/ACRA    (31853): ACRA caught a NullPointerException for org.jellyfin.androidtv
01-08 20:50:47.946 E/ACRA    (31853): java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment.getContext()' on a null object reference
01-08 20:50:47.946 E/ACRA    (31853):   at org.jellyfin.androidtv.ui.playback.PlaybackController.buildVLCOptions(PlaybackController.java:591)
01-08 20:50:47.946 E/ACRA    (31853):   at org.jellyfin.androidtv.ui.playback.PlaybackController.play(PlaybackController.java:540)
01-08 20:50:47.946 E/ACRA    (31853):   at org.jellyfin.androidtv.ui.playback.PlaybackController.play(PlaybackController.java:435)
01-08 20:50:47.946 E/ACRA    (31853):   at org.jellyfin.androidtv.ui.playback.overlay.VideoPlayerAdapter.play(VideoPlayerAdapter.java:29)
01-08 20:50:47.946 E/ACRA    (31853):   at org.jellyfin.androidtv.ui.playback.overlay.action.PlayPauseAction.onActionClicked(PlayPauseAction.kt:12)
01-08 20:50:47.946 E/ACRA    (31853):   at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackTransportControlGlue.onActionClicked(CustomPlaybackTransportControlGlue.java:292)
01-08 20:50:47.946 E/ACRA    (31853):   at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackFragmentGlueHost.setOnActionClickedListener$lambda$0(CustomPlaybackFragmentGlueHost.kt:21)
01-08 20:50:47.946 E/ACRA    (31853):   at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackFragmentGlueHost.$r8$lambda$GOPxzWh-j6mlduoWRi-elcZerjA(Unknown Source:0)
01-08 20:50:47.946 E/ACRA    (31853):   at org.jellyfin.androidtv.ui.playback.overlay.CustomPlaybackFragmentGlueHost$$ExternalSyntheticLambda0.onItemClicked(Unknown Source:2)
01-08 20:50:47.946 E/ACRA    (31853):   at androidx.leanback.app.PlaybackSupportFragment$1.onItemClicked(PlaybackSupportFragment.java:175)
01-08 20:50:47.946 E/ACRA    (31853):   at androidx.leanback.widget.PlaybackTransportRowPresenter$2.onControlClicked(PlaybackTransportRowPresenter.java:575)
01-08 20:50:47.946 E/ACRA    (31853):   at androidx.leanback.widget.ControlBarPresenter$ViewHolder$3.onClick(ControlBarPresenter.java:164)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.View.performClick(View.java:6597)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.View.performClickInternal(View.java:6574)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.View.onKeyUp(View.java:13216)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.KeyEvent.dispatch(KeyEvent.java:2832)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.View.dispatchKeyEvent(View.java:12450)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at androidx.leanback.widget.PlaybackTransportRowView.dispatchKeyEvent(PlaybackTransportRowView.java:71)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at androidx.leanback.widget.BaseGridView.dispatchKeyEvent(BaseGridView.java:1081)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1896)
01-08 20:50:47.946 E/ACRA    (31853):   at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:438)
01-08 20:50:47.946 E/ACRA    (31853):   at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1821)
01-08 20:50:47.946 E/ACRA    (31853):   at android.app.Activity.dispatchKeyEvent(Activity.java:3391)
01-08 20:50:47.946 E/ACRA    (31853):   at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.java:120)
01-08 20:50:47.946 E/ACRA    (31853):   at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:85)
01-08 20:50:47.946 E/ACRA    (31853):   at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:138)
01-08 20:50:47.946 E/ACRA    (31853):   at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:352)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:5057)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4923)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4444)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4497)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4463)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4603)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4471)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4660)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4444)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4497)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4463)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4471)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4444)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4497)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4463)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4636)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4797)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2571)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2081)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2072)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2548)
01-08 20:50:47.946 E/ACRA    (31853):   at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
01-08 20:50:47.946 E/ACRA    (31853):   at android.os.MessageQueue.nativePollOnce(Native Method)
01-08 20:50:47.946 E/ACRA    (31853):   at android.os.MessageQueue.next(MessageQueue.java:326)
01-08 20:50:47.946 E/ACRA    (31853):   at android.os.Looper.loop(Looper.java:178)
01-08 20:50:47.946 E/ACRA    (31853):   at android.app.ActivityThread.main(ActivityThread.java:6775)
01-08 20:50:47.946 E/ACRA    (31853):   at java.lang.reflect.Method.invoke(Native Method)
01-08 20:50:47.946 E/ACRA    (31853):   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
01-08 20:50:47.946 E/ACRA    (31853):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

App information

App version: 0.16.4 (160499)
Package name: org.jellyfin.androidtv
Build:

{"BOARD":"m7632","BOOTLOADER":"123456789","BRAND":"Amazon","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"anna","DISPLAY":"PS7664.3772N","FINGERPRINT":"Amazon\/anna\/anna:9\/PS7664.3772N\/0029159767040:user\/amz-p,release-keys","HARDWARE":"m7632","HOST":"i3-ri-14-use1a-b-16-04-fos-167","ID":"PS7664.3772N","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"Amazon","MODEL":"AFTKAUK001","PERMISSIONS_REVIEW_REQUIRED":false,"PRODUCT":"anna","RADIO":"unknown","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"amz-p,release-keys","TIME":1695416502000,"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:

{"APPLICATION_ID":"org.jellyfin.androidtv","BUILD_TYPE":"release","DEBUG":false,"DEVELOPMENT":false,"VERSION_CODE":160499,"VERSION_NAME":"0.16.4"}

Device information

Android version: 9
Device brand: Amazon
Device product: anna
Device model: AFTKAUK001

Crash information

Start time: 2024-01-08T20:50:09.419+01:00
Crash time: 2024-01-08T20:50:48.035+01:00

Application version

0.16.4

Where did you install the app from?

Amazon Appstore

Device information

Fire TV 4-series (2023)

Android version

Fire OS 7.6.6.4

Jellyfin server version

10.8.13

Alliyance commented 10 months ago

Same issue with fire tv. Android 0.16.4


client: Jellyfin for Android TV client_version: 0.16.4 client_repository: https://github.com/jellyfin/jellyfin-androidtv type: crash_report format: markdown

Logs

Stack Trace:

org.jellyfin.sdk.api.client.exception.TimeoutException: HTTP request timed out
    at org.jellyfin.sdk.api.client.KtorClient.request$suspendImpl(KtorClient.kt:117)
    at org.jellyfin.sdk.api.client.KtorClient$request$1.invokeSuspend(Unknown Source:19)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:211)
    at android.app.ActivityThread.main(ActivityThread.java:6775)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@8870eb3, Dispatchers.Main.immediate]
Caused by: io.ktor.client.features.HttpRequestTimeoutException: Request timeout has expired [url=https://connect.streamii.box.ca/Users/0f1ac265-ad0c-42c7-8e05-b5cd21dea084/Items/Resume?limit=50&fields=PrimaryImageAspectRatio&fields=Overview&fields=ItemCounts&fields=DisplayPreferencesId&fields=ChildCount&mediaTypes=Video&imageTypeLimit=1&enableTotalRecordCount=false&enableImages=true&excludeActiveSessions=false, request_timeout=30000 ms]
    at io.ktor.client.features.HttpTimeout$Feature$install$1$1$killer$1.invokeSuspend(HttpTimeout.kt:149)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    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)

Logcat:

01-08 20:53:02.306 E/libc    (15251): Access denied finding property "media.metrics.enabled"
01-08 20:53:02.291 W/ExoPlayer:Playb(15251): type=1400 audit(0.0:143): avc: denied { read } for name="u:object_r:media_prop:s0" dev="tmpfs" ino=2407 scontext=u:r:untrusted_app:s0:c12,c256,c512,c768 tcontext=u:object_r:media_prop:s0 tclass=file permissive=0
01-08 20:53:02.331 I/ExoPlayerImpl(15251): Release 6174146 [AndroidXMedia3/1.2.0] [sheldon, AFTSS, Amazon, 28] [media3.common, media3.exoplayer, media3.decoder, media3.session, media3.ui, media3.datasource, media3.extractor, media3.decoder.ffmpeg]
01-08 20:53:02.492 W/RecyclerView(15251): No adapter attached; skipping layout
01-08 20:53:07.630 I/jellyfin-apiclient(15251): Response received from: https://connect.streamii.box.ca/Sessions/Playing/Progress
01-08 20:53:09.326 I/HomeRowsFragment(15251): Updating audio queue in HomeFragment (onResume)
01-08 20:53:09.332 I/org.jellyfin.sdk.api.client.KtorClient(15251): GET https://connect.streamii.box.ca/Users/0f1ac265-ad0c-42c7-8e05-b5cd21dea084/Items/36fa1e17-1cb0-5e46-1a39-0de6ba159b95
01-08 20:53:09.463 E/System  (15251): TRACE Starting certificate trust
01-08 20:53:09.582 W/View    (15251): requestLayout() improperly called by androidx.leanback.widget.NonOverlappingFrameLayout{4323f8f V.E...... ..S..AID 0,300-200,404} during layout: running second layout pass
01-08 20:53:09.582 W/View    (15251): requestLayout() improperly called by android.widget.TextView{5cd21c V.ED..... ..S..AID 6,14-196,52 #7f0b02f5 app:id/title} during layout: running second layout pass
01-08 20:53:09.763 W/View    (15251): requestLayout() improperly called by android.widget.TextView{5cd21c V.ED..... ..S..A.. 6,14-196,52 #7f0b02f5 app:id/title} during second layout pass: posting in next frame
01-08 20:53:10.010 I/lyfin.androidt(15251): Background concurrent copying GC freed 41559(4MB) AllocSpace objects, 633(41MB) LOS objects, 32% free, 12MB/18MB, paused 753us total 174.635ms
01-08 20:53:10.093 I/jellyfin-apiclient(15251): Response received from: https://connect.streamii.box.ca/Sessions/Playing/Progress
01-08 20:53:10.702 I/jellyfin-apiclient(15251): Response received from: https://connect.streamii.box.ca/Sessions/Playing/Progress
01-08 20:53:10.833 I/ItemRowAdapter(15251): Re-retrieving row of type Resume
01-08 20:53:10.841 I/org.jellyfin.sdk.api.client.KtorClient(15251): GET https://connect.streamii.box.ca/Users/0f1ac265-ad0c-42c7-8e05-b5cd21dea084/Items/Resume?limit=50&fields=PrimaryImageAspectRatio&fields=Overview&fields=ItemCounts&fields=DisplayPreferencesId&fields=ChildCount&mediaTypes=Video&imageTypeLimit=1&enableTotalRecordCount=false&enableImages=true&excludeActiveSessions=false
01-08 20:53:13.919 I/org.jellyfin.sdk.api.client.KtorClient(15251): GET https://connect.streamii.box.ca/DisplayPreferences/f137a2dd21bbc1b99aa5c0f6bf02a805?userId=0f1ac265-ad0c-42c7-8e05-b5cd21dea084&client=jellyfin-androidtv
01-08 20:53:14.103 W/AmazonKeyEventLogging(15251): remote_perf key event latency detected [Source: ViewRootImpl, KeyCode: KEYCODE_XXXX, IsDown: 0, Repeat: 0, EventTime: 9965233, Latency: 208, DeviceId: 6, AppPackage: org.jellyfin.androidtv]
01-08 20:53:15.292 I/jellyfin-apiclient(15251): Response received from: https://connect.streamii.box.ca/Sessions/Playing/Progress
01-08 20:53:15.905 I/jellyfin-apiclient(15251): Response received from: https://connect.streamii.box.ca/Sessions/Playing/Progress
01-08 20:53:18.076 I/jellyfin-apiclient(15251): Response received from: https://connect.streamii.box.ca/Sessions/Playing/Progress
01-08 20:53:19.885 I/org.jellyfin.sdk.api.sockets.OkHttpWebsocketSession(15251): Sending (raw) message {"MessageType":"KeepAlive","Data":{}}
01-08 20:53:19.922 I/org.jellyfin.sdk.api.sockets.OkHttpWebsocketSession(15251): Receiving (raw) message {"MessageType":"KeepAlive","MessageId":"449e0d8402d04fdfb0a93604efa38725"}
01-08 20:53:20.207 I/jellyfin-apiclient(15251): Response received from: https://connect.streamii.box.ca/Sessions/Playing/Progress
01-08 20:53:21.146 I/jellyfin-apiclient(15251): Response received from: https://connect.streamii.box.ca/Sessions/Playing/Stopped
01-08 20:53:30.543 I/jellyfin-apiclient(15251): Response received from: https://connect.streamii.box.ca/Sessions/Playing/Progress
01-08 20:53:32.986 I/HomeRowsFragment(15251): Updating audio queue in HomeFragment (onResume)
01-08 20:53:34.139 I/org.jellyfin.sdk.api.sockets.OkHttpWebsocketSession(15251): Receiving (raw) message {"MessageType":"UserDataChanged","MessageId":"3fefd462b99342a887dd2fe93b37d732","Data":{"UserId":"0f1ac265ad0c42c78e05b5cd21dea084","UserDataList":[{"PlaybackPositionTicks":0,"PlayCount":6,"IsFavorite":false,"LastPlayedDate":"2024-01-09T01:20:05.5452802Z","Played":true,"Key":"695721","ItemId":"36fa1e171cb05e461a390de6ba159b95"},{"UnplayedItemCount":292,"PlaybackPositionTicks":0,"PlayCount":0,"IsFavorite":false,"Played":false,"Key":"c4abf7c6-213a-7ca1-48e2-633a2f302a3c","ItemId":"c4abf7c6213a7ca148e2633a2f302a3c"}]}}
01-08 20:53:39.352 E/BaseRowItem$refresh(15251): Failed to refresh item
01-08 20:53:39.352 E/BaseRowItem$refresh(15251): org.jellyfin.sdk.api.client.exception.TimeoutException: HTTP request timed out
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at org.jellyfin.sdk.api.client.KtorClient.request$suspendImpl(KtorClient.kt:117)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at org.jellyfin.sdk.api.client.KtorClient$request$1.invokeSuspend(Unknown Source:19)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251): Caused by: io.ktor.client.features.HttpRequestTimeoutException: Request timeout has expired [url=https://connect.streamii.box.ca/Users/0f1ac265-ad0c-42c7-8e05-b5cd21dea084/Items/36fa1e17-1cb0-5e46-1a39-0de6ba159b95, request_timeout=30000 ms]
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at io.ktor.client.features.HttpTimeout$Feature$install$1$1$killer$1.invokeSuspend(HttpTimeout.kt:149)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
01-08 20:53:39.352 E/BaseRowItem$refresh(15251):    ... 4 more
01-08 20:53:40.873 E/ACRA    (15251): ACRA caught a TimeoutException for org.jellyfin.androidtv
01-08 20:53:40.873 E/ACRA    (15251): org.jellyfin.sdk.api.client.exception.TimeoutException: HTTP request timed out
01-08 20:53:40.873 E/ACRA    (15251):   at org.jellyfin.sdk.api.client.KtorClient.request$suspendImpl(KtorClient.kt:117)
01-08 20:53:40.873 E/ACRA    (15251):   at org.jellyfin.sdk.api.client.KtorClient$request$1.invokeSuspend(Unknown Source:19)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:194)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:15)
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
01-08 20:53:40.873 E/ACRA    (15251):   at android.os.Handler.handleCallback(Handler.java:873)
01-08 20:53:40.873 E/ACRA    (15251):   at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 20:53:40.873 E/ACRA    (15251):   at android.os.Looper.loop(Looper.java:211)
01-08 20:53:40.873 E/ACRA    (15251):   at android.app.ActivityThread.main(ActivityThread.java:6775)
01-08 20:53:40.873 E/ACRA    (15251):   at java.lang.reflect.Method.invoke(Native Method)
01-08 20:53:40.873 E/ACRA    (15251):   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
01-08 20:53:40.873 E/ACRA    (15251):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
01-08 20:53:40.873 E/ACRA    (15251):   Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@8870eb3, Dispatchers.Main.immediate]
01-08 20:53:40.873 E/ACRA    (15251): Caused by: io.ktor.client.features.HttpRequestTimeoutException: Request timeout has expired [url=https://connect.streamii.box.ca/Users/0f1ac265-ad0c-42c7-8e05-b5cd21dea084/Items/Resume?limit=50&fields=PrimaryImageAspectRatio&fields=Overview&fields=ItemCounts&fields=DisplayPreferencesId&fields=ChildCount&mediaTypes=Video&imageTypeLimit=1&enableTotalRecordCount=false&enableImages=true&excludeActiveSessions=false, request_timeout=30000 ms]
01-08 20:53:40.873 E/ACRA    (15251):   at io.ktor.client.features.HttpTimeout$Feature$install$1$1$killer$1.invokeSuspend(HttpTimeout.kt:149)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
01-08 20:53:40.873 E/ACRA    (15251):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

App information

App version: 0.16.4 (160499)
Package name: org.jellyfin.androidtv
Build:

{"BOARD":"sheldon","BOOTLOADER":"unknown","BRAND":"Amazon","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"sheldon","DISPLAY":"PS7664.3772N","FINGERPRINT":"Amazon\/sheldon\/sheldon:9\/PS7664.3772N\/0029159767040:user\/amz-p,release-keys","HARDWARE":"mt8695","HOST":"i3-ri-14-use1a-b-16-04-fos-56","ID":"PS7664.3772N","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"Amazon","MODEL":"AFTSS","PERMISSIONS_REVIEW_REQUIRED":false,"PRODUCT":"sheldon","RADIO":"unknown","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"amz-p,release-keys","TIME":1695416499000,"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:

{"APPLICATION_ID":"org.jellyfin.androidtv","BUILD_TYPE":"release","DEBUG":false,"DEVELOPMENT":false,"VERSION_CODE":160499,"VERSION_NAME":"0.16.4"}

Device information

Android version: 9
Device brand: Amazon
Device product: sheldon
Device model: AFTSS

jellyfin-bot commented 6 months ago

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.