Android TV app crashes every time an episode ends and goes to switch to next episode in a playlist. This did not happen before updating to new server version 10.9.9 even with app version 0.17.1.
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.LinearLayout.getChildCount()' on a null object reference
at org.jellyfin.androidtv.util.InfoLayoutHelper.addInfoRow(InfoLayoutHelper.java:15)
at org.jellyfin.androidtv.ui.itemdetail.ItemListFragment.setBaseItem(ItemListFragment.java:311)
at org.jellyfin.androidtv.ui.itemdetail.ItemListFragmentHelperKt$loadItem$1.invokeSuspend(ItemListFragmentHelper.kt:32)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7668)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@ea640ce, Dispatchers.Main.immediate]
Logcat:
08-08 21:32:38.739 D/CustomPlaybackOverlayFragment(15455): rendering subtitle event: 387 (pos 1256463 start 1255986 end 1257476)
08-08 21:32:39.688 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:39.737 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:40.242 D/CustomPlaybackOverlayFragment(15455): clearing subtitle event: 387 (pos 1257961 - event end 1257476)
08-08 21:32:41.746 D/CustomPlaybackOverlayFragment(15455): rendering subtitle event: 388 (pos 1259471 start 1259423 end 1261915)
08-08 21:32:42.689 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:42.736 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:44.250 D/CustomPlaybackOverlayFragment(15455): clearing subtitle event: 388 (pos 1261971 - event end 1261915)
08-08 21:32:45.690 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:45.737 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:48.691 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:48.740 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:51.599 D/org.jellyfin.sdk.api.sockets.OkHttpSocketConnection(15455): Sending (raw) message {"MessageType":"KeepAlive"}
08-08 21:32:51.603 D/org.jellyfin.sdk.api.sockets.OkHttpSocketConnection(15455): Receiving (raw) message {"MessageId":"02f72fd41cef451e905f3c5683169405","MessageType":"KeepAlive"}
08-08 21:32:51.691 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:51.738 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:54.692 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:54.740 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:57.693 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:32:57.750 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:00.694 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:00.750 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:03.695 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:03.743 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:06.696 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:06.739 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:09.696 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:09.744 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:12.696 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:12.744 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:15.696 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:15.745 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:18.696 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:18.749 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:21.600 D/org.jellyfin.sdk.api.sockets.OkHttpSocketConnection(15455): Sending (raw) message {"MessageType":"KeepAlive"}
08-08 21:33:21.603 D/org.jellyfin.sdk.api.sockets.OkHttpSocketConnection(15455): Receiving (raw) message {"MessageId":"33df855420ec479e9124aaa734558d60","MessageType":"KeepAlive"}
08-08 21:33:21.697 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:21.742 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:24.698 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:24.710 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:27.699 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:27.714 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:28.812 D/CustomPlaybackOverlayFragment(15455): rendering subtitle event: 389 (pos 1306531 start 1306111 end 1308011)
08-08 21:33:30.314 D/CustomPlaybackOverlayFragment(15455): clearing subtitle event: 389 (pos 1308039 - event end 1308011)
08-08 21:33:30.699 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:30.743 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:33.317 D/CustomPlaybackOverlayFragment(15455): rendering subtitle event: 390 (pos 1311041 start 1310950 end 1311917)
08-08 21:33:33.700 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:33.748 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Progress
08-08 21:33:34.317 D/CustomPlaybackOverlayFragment(15455): subtitles handled in 2 iterations
08-08 21:33:34.818 D/CustomPlaybackOverlayFragment(15455): subtitles handled in 2 iterations
08-08 21:33:34.940 D/AudioTrack(15455): stop(1243): called with 58721280 frames delivered
08-08 21:33:35.320 D/CustomPlaybackOverlayFragment(15455): subtitles handled in 2 iterations
08-08 21:33:35.648 D/PlaybackController(15455): On Completion fired
08-08 21:33:35.649 D/PlaybackController(15455): stop called at 1313039
08-08 21:33:35.649 I/ReportingHelper(15455): ReportingHelper.reportStopped called for a09a4d0d-a296-2b0a-4484-a52632e98f16 at position 13130390000
08-08 21:33:35.649 I/jellyfin-apiclient(15455): ReportPlaybackStopped: Item a09a4d0d-a296-2b0a-4484-a52632e98f16, Ticks: 13130390000
08-08 21:33:35.650 D/jellyfin-apiclient(15455): Adding request to queue: http://192.168.1.230:8096/Sessions/Playing/Stopped
08-08 21:33:35.650 D/PlaybackController(15455): Moving to next queue item. Index: 1
08-08 21:33:35.651 D/NavigationRepositoryImpl(15455): Navigating to Fragment(fragment=class org.jellyfin.androidtv.ui.playback.nextup.NextUpFragment (Kotlin reflection is not available), arguments=Bundle[{item_id=bf8ac148-91ab-89c0-0d81-19be3f69dca4}]) (via navigate function)
08-08 21:33:35.654 D/PlaybackController(15455): stop called at 1313039
08-08 21:33:35.665 D/SurfaceUtils(15455): disconnecting from surface 0x2a45a02950, reason disconnectFromSurface
08-08 21:33:35.675 I/ExoPlayerImpl(15455): Release dd53340 [AndroidXMedia3/1.4.0] [mdarcy, SHIELD Android TV, NVIDIA, 30] [media3.common, media3.session, media3.exoplayer, media3.decoder, media3.ui, media3.datasource, media3.extractor, media3.decoder.ffmpeg]
08-08 21:33:35.685 D/CustomPlaybackOverlayFragment(15455): Stopping!
08-08 21:33:35.712 I/org.jellyfin.sdk.api.ktor.KtorClient(15455): GET http://192.168.1.230:8096/Items/13002f8b-61cf-e804-d6ea-202a00822af2
08-08 21:33:35.712 V/io.ktor.client.plugins.HttpPlainText(15455): Adding Accept-Charset=UTF-8 to http://192.168.1.230:8096/Items/13002f8b-61cf-e804-d6ea-202a00822af2
08-08 21:33:35.717 I/ItemListFragment(15455): Got playback state change event IDLE for item <unknown>
08-08 21:33:35.725 I/org.jellyfin.sdk.api.ktor.KtorClient(15455): GET http://192.168.1.230:8096/Items/bf8ac148-91ab-89c0-0d81-19be3f69dca4
08-08 21:33:35.725 V/io.ktor.client.plugins.HttpPlainText(15455): Adding Accept-Charset=UTF-8 to http://192.168.1.230:8096/Items/bf8ac148-91ab-89c0-0d81-19be3f69dca4
08-08 21:33:35.758 V/io.ktor.client.plugins.HttpCallValidator(15455): Validating response for request http://192.168.1.230:8096/Items/bf8ac148-91ab-89c0-0d81-19be3f69dca4
08-08 21:33:35.758 V/io.ktor.client.plugins.DefaultResponseValidation(15455): Skipping default response validation for http://192.168.1.230:8096/Items/bf8ac148-91ab-89c0-0d81-19be3f69dca4
08-08 21:33:35.763 V/io.ktor.client.plugins.defaultTransformers(15455): Transformed with default transformers response body for http://192.168.1.230:8096/Items/bf8ac148-91ab-89c0-0d81-19be3f69dca4 to interface io.ktor.utils.io.ByteReadChannel (Kotlin reflection is not available)
08-08 21:33:35.773 I/jellyfin-apiclient(15455): Response received from: http://192.168.1.230:8096/Sessions/Playing/Stopped
08-08 21:33:35.773 V/io.ktor.client.plugins.HttpCallValidator(15455): Validating response for request http://192.168.1.230:8096/Items/13002f8b-61cf-e804-d6ea-202a00822af2
08-08 21:33:35.773 V/io.ktor.client.plugins.DefaultResponseValidation(15455): Skipping default response validation for http://192.168.1.230:8096/Items/13002f8b-61cf-e804-d6ea-202a00822af2
08-08 21:33:35.774 V/io.ktor.client.plugins.defaultTransformers(15455): Transformed with default transformers response body for http://192.168.1.230:8096/Items/13002f8b-61cf-e804-d6ea-202a00822af2 to interface io.ktor.utils.io.ByteReadChannel (Kotlin reflection is not available)
08-08 21:33:35.784 E/ACRA (15455): ACRA caught a NullPointerException for org.jellyfin.androidtv
08-08 21:33:35.784 E/ACRA (15455): java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.LinearLayout.getChildCount()' on a null object reference
08-08 21:33:35.784 E/ACRA (15455): at org.jellyfin.androidtv.util.InfoLayoutHelper.addInfoRow(InfoLayoutHelper.java:15)
08-08 21:33:35.784 E/ACRA (15455): at org.jellyfin.androidtv.ui.itemdetail.ItemListFragment.setBaseItem(ItemListFragment.java:311)
08-08 21:33:35.784 E/ACRA (15455): at org.jellyfin.androidtv.ui.itemdetail.ItemListFragmentHelperKt$loadItem$1.invokeSuspend(ItemListFragmentHelper.kt:32)
08-08 21:33:35.784 E/ACRA (15455): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
08-08 21:33:35.784 E/ACRA (15455): at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
08-08 21:33:35.784 E/ACRA (15455): at android.os.Handler.handleCallback(Handler.java:938)
08-08 21:33:35.784 E/ACRA (15455): at android.os.Handler.dispatchMessage(Handler.java:99)
08-08 21:33:35.784 E/ACRA (15455): at android.os.Looper.loop(Looper.java:223)
08-08 21:33:35.784 E/ACRA (15455): at android.app.ActivityThread.main(ActivityThread.java:7668)
08-08 21:33:35.784 E/ACRA (15455): at java.lang.reflect.Method.invoke(Native Method)
08-08 21:33:35.784 E/ACRA (15455): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
08-08 21:33:35.784 E/ACRA (15455): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
08-08 21:33:35.784 E/ACRA (15455): Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@ea640ce, Dispatchers.Main.immediate]
08-08 21:33:35.784 D/ACRA (15455): Building report
08-08 21:33:35.785 D/ACRA (15455): Starting collectors with priority FIRST
08-08 21:33:35.786 D/ACRA (15455): Calling collector org.acra.collector.LogCatCollector
08-08 21:33:35.788 D/ACRA (15455): Calling collector org.acra.collector.DropBoxCollector
08-08 21:33:35.788 D/ACRA (15455): Calling collector org.acra.collector.StacktraceCollector
08-08 21:33:35.788 D/ACRA (15455): Collector org.acra.collector.DropBoxCollector completed
08-08 21:33:35.791 D/ACRA (15455): Collector org.acra.collector.StacktraceCollector completed
08-08 21:33:35.801 D/ACRA (15455): Retrieving logcat output (buffer:default)...
Describe the bug
Android TV app crashes every time an episode ends and goes to switch to next episode in a playlist. This did not happen before updating to new server version 10.9.9 even with app version 0.17.1.
Unable to use app on Android TV now.
Logs
client: Jellyfin for Android TV client_version: 0.17.1 client_repository: https://github.com/jellyfin/jellyfin-androidtv type: crash_report format: markdown
Logs
Stack Trace:
Logcat:
App information
App version:
0.17.1
(170199
)Package name:
org.jellyfin.androidtv
Build:
Build config:
Device information
Android version:
11
Device brand:
NVIDIA
Device product:
mdarcy
Device model:
SHIELD Android TV
Crash information
Start time:
2024-08-08T17:37:13.176-04:00
Crash time:
2024-08-08T21:33:35.864-04:00
FFmpeg logs
No response
Media info of the file
No response
Application version
0.17.1
Device information
Nvidia Shield
Android version
11
Jellyfin server version
10.9.9