jellyfin / jellyfin-androidtv

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

Crash due to network timeout during track load #4157

Closed BotBlake closed 3 weeks ago

BotBlake commented 3 weeks ago

Describe the bug

  1. Play music
  2. Wait for Jellyfin to load the next Song

In case of a connection issue whilst loading that new Song (or more specifically the Images for that song), the client will crash.

Idk how I found this - it was realy just my network deciding I shall now find this 🗿

In the lower section of the "Logs", you will also find the Server logs regarding this event.

Logs

ATV Crash Log


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

Logs

Stack Trace:

java.util.concurrent.ExecutionException: androidx.media3.datasource.HttpDataSource$HttpDataSourceException: java.net.SocketTimeoutException: timeout
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:594)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:573)
    at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:89)
    at org.jellyfin.playback.media3.session.MediaSessionService.updateNotification(MediaSessionService.kt:68)
    at org.jellyfin.playback.media3.session.MediaSessionService.access$updateNotification(MediaSessionService.kt:19)
    at org.jellyfin.playback.media3.session.MediaSessionService$onInitialize$2.invokeSuspend(MediaSessionService.kt:39)
    at org.jellyfin.playback.media3.session.MediaSessionService$onInitialize$2.invoke(Unknown Source:8)
    at org.jellyfin.playback.media3.session.MediaSessionService$onInitialize$2.invoke(Unknown Source:4)
    at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit(Emitters.kt:50)
    at kotlinx.coroutines.flow.StateFlowImpl.collect(StateFlow.kt:401)
    at kotlinx.coroutines.flow.StateFlowImpl$collect$1.invokeSuspend(Unknown Source:15)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:832)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@4dd876e, Dispatchers.Default]
Caused by: androidx.media3.datasource.HttpDataSource$HttpDataSourceException: java.net.SocketTimeoutException: timeout
    at androidx.media3.datasource.DefaultHttpDataSource.open(DefaultHttpDataSource.java:366)
    at androidx.media3.datasource.DefaultDataSource.open(DefaultDataSource.java:275)
    at androidx.media3.datasource.DataSourceBitmapLoader.load(DataSourceBitmapLoader.java:112)
    at androidx.media3.datasource.DataSourceBitmapLoader.lambda$loadBitmap$2$androidx-media3-datasource-DataSourceBitmapLoader(DataSourceBitmapLoader.java:105)
    at androidx.media3.datasource.DataSourceBitmapLoader$$ExternalSyntheticLambda2.call(D8$$SyntheticClass:0)
    at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
    at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76)
    at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:920)
Caused by: java.net.SocketTimeoutException: timeout
    at com.android.okhttp.okio.Okio$3.newTimeoutException(Okio.java:214)
    at com.android.okhttp.okio.AsyncTimeout.exit(AsyncTimeout.java:263)
    at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:217)
    at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:307)
    at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:301)
    at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:197)
    at com.android.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:188)
    at com.android.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:129)
    at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:750)
    at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:622)
    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:475)
    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
    at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
    at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:30)
    at androidx.media3.datasource.DefaultHttpDataSource.open(DefaultHttpDataSource.java:362)
    ... 10 more
Caused by: java.net.SocketException: Socket closed
    at java.net.SocketInputStream.read(SocketInputStream.java:209)
    at java.net.SocketInputStream.read(SocketInputStream.java:144)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:945)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:909)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:824)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:797)
    at com.android.okhttp.okio.Okio$2.read(Okio.java:138)
    at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:213)
    ... 23 more

Logcat:

11-03 22:07:10.274 D/AudioNowPlayingFragment(22976): Updating buttons
11-03 22:07:10.632 W/View    (22976): requestLayout() improperly called by androidx.leanback.widget.HorizontalGridView{4177f98 VFE...... .....AI. 0,0-1920,472 #7f0b026a app:id/row_content} during layout: running second layout pass
11-03 22:07:10.762 D/org.jellyfin.sdk.api.sockets.OkHttpSocketConnection(22976): Receiving (raw) message {"MessageId":"10d805b74f254122ba5e0da257475d2b","Data":{"UserId":"16968d355b0448f594c50b30a4a84282","UserDataList":[{"PlaybackPositionTicks":0,"PlayCount":1,"IsFavorite":false,"LastPlayedDate":"2024-11-03T21:04:43.4581233Z","Played":true,"Key":"Peter, Paul \u0026 Mary-(Moving)-0001-0006This Land Is Your Land","ItemId":"4b0790829457185797476fca10938931"},{"PlaybackPositionTicks":0,"PlayCount":0,"IsFavorite":false,"Played":false,"Key":"MusicAlbum-MusicBrainzReleaseGroup-521a35ec-a487-3aba-839c-4c677a8fbeaa","ItemId":"e50db6c21ff76889f16875693061df04"}]},"MessageType":"UserDataChanged"}
11-03 22:07:10.896 I/OpenGLRenderer(22976): Davey! duration=707ms; Flags=0, FrameTimelineVsyncId=459792, IntendedVsync=1115881724201219, Vsync=1115881824301217, InputEventId=0, HandleInputStart=1115881833882882, AnimationStart=1115881833886007, PerformTraversalsStart=1115882026238424, DrawStart=1115882183522591, FrameDeadline=1115881840983590, FrameInterval=1115881833875007, FrameStartTime=16683333, SyncQueued=1115882345660133, SyncStart=1115882345850966, IssueDrawCommandsStart=1115882347675216, SwapBuffers=1115882373951091, FrameCompleted=1115882432107716, DequeueBufferDuration=26542, QueueBufferDuration=684416, GpuCompleted=1115882432107716, SwapBuffersCompleted=1115882375677758, DisplayPresentTime=2151392800720, 
11-03 22:07:10.918 V/io.ktor.client.plugins.HttpCallValidator(22976): Validating response for request https://{server-url}/jellyfin/Items/212d7ad7-0520-a0e8-e31b-e6aade109d35/PlaybackInfo
11-03 22:07:10.918 V/io.ktor.client.plugins.DefaultResponseValidation(22976): Skipping default response validation for https://{server-url}/jellyfin/Items/212d7ad7-0520-a0e8-e31b-e6aade109d35/PlaybackInfo
11-03 22:07:11.113 V/io.ktor.client.plugins.defaultTransformers(22976): Transformed with default transformers response body for https://{server-url}/jellyfin/Items/212d7ad7-0520-a0e8-e31b-e6aade109d35/PlaybackInfo to interface io.ktor.utils.io.ByteReadChannel (Kotlin reflection is not available)
11-03 22:07:11.138 D/MediaStreamService(22976): Current item changed to org.jellyfin.playback.core.queue.QueueEntry@8483c86
11-03 22:07:11.145 D/ExoPlayerAudioPipeline(22976): Normalization gain changed to -1.0
11-03 22:07:11.146 D/ExoPlayerAudioPipeline(22976): Applying gain (targetGain=-100)
11-03 22:07:11.150 D/AudioNowPlayingFragment(22976): **** Got playstate change: PAUSED
11-03 22:07:11.154 D/AudioNowPlayingFragment(22976): Updating buttons
11-03 22:07:11.256 I/org.jellyfin.sdk.api.ktor.KtorClient(22976): POST https://{server-url}/jellyfin/Sessions/Playing/Progress
11-03 22:07:11.268 V/io.ktor.client.plugins.HttpPlainText(22976): Adding Accept-Charset=UTF-8 to https://{server-url}/jellyfin/Sessions/Playing/Progress
11-03 22:07:11.269 V/io.ktor.client.plugins.defaultTransformers(22976): Transformed with default transformers request body for https://{server-url}/jellyfin/Sessions/Playing/Progress from class io.ktor.http.content.TextContent (Kotlin reflection is not available)
11-03 22:07:11.311 V/io.ktor.client.plugins.HttpCallValidator(22976): Validating response for request https://{server-url}/jellyfin/Sessions/Playing/Progress
11-03 22:07:11.312 V/io.ktor.client.plugins.DefaultResponseValidation(22976): Skipping default response validation for https://{server-url}/jellyfin/Sessions/Playing/Progress
11-03 22:07:11.314 V/io.ktor.client.plugins.defaultTransformers(22976): Transformed with default transformers response body for https://{server-url}/jellyfin/Sessions/Playing/Progress to interface io.ktor.utils.io.ByteReadChannel (Kotlin reflection is not available)
11-03 22:07:11.464 D/AudioTrack(22976): getTimestamp_l(116): device stall time corrected using current time 1115883011534091
11-03 22:07:11.524 I/androidtv.debu(22976): Background young concurrent copying GC freed 162021(5697KB) AllocSpace objects, 6(136KB) LOS objects, 17% free, 26MB/32MB, paused 173us total 142.004ms
11-03 22:07:11.584 D/AudioNowPlayingFragment(22976): **** Got playstate change: PLAYING
11-03 22:07:11.585 D/AudioNowPlayingFragment(22976): Updating buttons
11-03 22:07:11.701 I/org.jellyfin.sdk.api.ktor.KtorClient(22976): POST https://{server-url}/jellyfin/Sessions/Playing
11-03 22:07:11.735 V/io.ktor.client.plugins.HttpPlainText(22976): Adding Accept-Charset=UTF-8 to https://{server-url}/jellyfin/Sessions/Playing
11-03 22:07:11.736 V/io.ktor.client.plugins.defaultTransformers(22976): Transformed with default transformers request body for https://{server-url}/jellyfin/Sessions/Playing from class io.ktor.http.content.TextContent (Kotlin reflection is not available)
11-03 22:07:11.781 V/io.ktor.client.plugins.HttpCallValidator(22976): Validating response for request https://{server-url}/jellyfin/Sessions/Playing
11-03 22:07:11.782 V/io.ktor.client.plugins.DefaultResponseValidation(22976): Skipping default response validation for https://{server-url}/jellyfin/Sessions/Playing
11-03 22:07:11.785 V/io.ktor.client.plugins.defaultTransformers(22976): Transformed with default transformers response body for https://{server-url}/jellyfin/Sessions/Playing to interface io.ktor.utils.io.ByteReadChannel (Kotlin reflection is not available)
11-03 22:07:12.275 D/org.jellyfin.sdk.api.sockets.OkHttpSocketConnection(22976): Receiving (raw) message {"MessageId":"9a5a88415fd342c991b6d90b5dda8464","Data":{"UserId":"16968d355b0448f594c50b30a4a84282","UserDataList":[{"PlaybackPositionTicks":0,"PlayCount":5,"IsFavorite":false,"LastPlayedDate":"2024-11-03T21:07:12.153608Z","Played":true,"Key":"Peter, Paul \u0026 Mary-(Moving)-0001-0007Man Come Into Egypt","ItemId":"212d7ad70520a0e8e31be6aade109d35"},{"PlaybackPositionTicks":0,"PlayCount":0,"IsFavorite":false,"Played":false,"Key":"MusicAlbum-MusicBrainzReleaseGroup-521a35ec-a487-3aba-839c-4c677a8fbeaa","ItemId":"e50db6c21ff76889f16875693061df04"}]},"MessageType":"UserDataChanged"}
11-03 22:07:17.359 I/androidtv.debu(22976): Background concurrent copying GC freed 264556(8334KB) AllocSpace objects, 1(68KB) LOS objects, 24% free, 24MB/32MB, paused 118us total 256.362ms
11-03 22:07:18.210 E/ACRA    (22976): ACRA caught a ExecutionException for org.jellyfin.androidtv.debug
11-03 22:07:18.210 E/ACRA    (22976): java.util.concurrent.ExecutionException: androidx.media3.datasource.HttpDataSource$HttpDataSourceException: java.net.SocketTimeoutException: timeout
11-03 22:07:18.210 E/ACRA    (22976):   at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:594)
11-03 22:07:18.210 E/ACRA    (22976):   at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:573)
11-03 22:07:18.210 E/ACRA    (22976):   at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:89)
11-03 22:07:18.210 E/ACRA    (22976):   at org.jellyfin.playback.media3.session.MediaSessionService.updateNotification(MediaSessionService.kt:68)
11-03 22:07:18.210 E/ACRA    (22976):   at org.jellyfin.playback.media3.session.MediaSessionService.access$updateNotification(MediaSessionService.kt:19)
11-03 22:07:18.210 E/ACRA    (22976):   at org.jellyfin.playback.media3.session.MediaSessionService$onInitialize$2.invokeSuspend(MediaSessionService.kt:39)
11-03 22:07:18.210 E/ACRA    (22976):   at org.jellyfin.playback.media3.session.MediaSessionService$onInitialize$2.invoke(Unknown Source:8)
11-03 22:07:18.210 E/ACRA    (22976):   at org.jellyfin.playback.media3.session.MediaSessionService$onInitialize$2.invoke(Unknown Source:4)
11-03 22:07:18.210 E/ACRA    (22976):   at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit(Emitters.kt:50)
11-03 22:07:18.210 E/ACRA    (22976):   at kotlinx.coroutines.flow.StateFlowImpl.collect(StateFlow.kt:401)
11-03 22:07:18.210 E/ACRA    (22976):   at kotlinx.coroutines.flow.StateFlowImpl$collect$1.invokeSuspend(Unknown Source:15)
11-03 22:07:18.210 E/ACRA    (22976):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
11-03 22:07:18.210 E/ACRA    (22976):   at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
11-03 22:07:18.210 E/ACRA    (22976):   at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
11-03 22:07:18.210 E/ACRA    (22976):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:832)
11-03 22:07:18.210 E/ACRA    (22976):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
11-03 22:07:18.210 E/ACRA    (22976):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
11-03 22:07:18.210 E/ACRA    (22976):   Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@4dd876e, Dispatchers.Default]
11-03 22:07:18.210 E/ACRA    (22976): Caused by: androidx.media3.datasource.HttpDataSource$HttpDataSourceException: java.net.SocketTimeoutException: timeout
11-03 22:07:18.210 E/ACRA    (22976):   at androidx.media3.datasource.DefaultHttpDataSource.open(DefaultHttpDataSource.java:366)
11-03 22:07:18.210 E/ACRA    (22976):   at androidx.media3.datasource.DefaultDataSource.open(DefaultDataSource.java:275)
11-03 22:07:18.210 E/ACRA    (22976):   at androidx.media3.datasource.DataSourceBitmapLoader.load(DataSourceBitmapLoader.java:112)
11-03 22:07:18.210 E/ACRA    (22976):   at androidx.media3.datasource.DataSourceBitmapLoader.lambda$loadBitmap$2$androidx-media3-datasource-DataSourceBitmapLoader(DataSourceBitmapLoader.java:105)
11-03 22:07:18.210 E/ACRA    (22976):   at androidx.media3.datasource.DataSourceBitmapLoader$$ExternalSyntheticLambda2.call(D8$$SyntheticClass:0)
11-03 22:07:18.210 E/ACRA    (22976):   at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
11-03 22:07:18.210 E/ACRA    (22976):   at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76)
11-03 22:07:18.210 E/ACRA    (22976):   at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
11-03 22:07:18.210 E/ACRA    (22976):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
11-03 22:07:18.210 E/ACRA    (22976):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
11-03 22:07:18.210 E/ACRA    (22976):   at java.lang.Thread.run(Thread.java:920)
11-03 22:07:18.210 E/ACRA    (22976): Caused by: java.net.SocketTimeoutException: timeout
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.okio.Okio$3.newTimeoutException(Okio.java:214)
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.okio.AsyncTimeout.exit(AsyncTimeout.java:263)
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:217)
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:307)
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:301)
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:197)
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:188)
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:129)
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:750)
11-03 22:07:18.210 E/ACRA    (22976):   at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:622)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:475)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:30)
11-03 22:07:18.212 E/ACRA    (22976):   at androidx.media3.datasource.DefaultHttpDataSource.open(DefaultHttpDataSource.java:362)
11-03 22:07:18.212 E/ACRA    (22976):   ... 10 more
11-03 22:07:18.212 E/ACRA    (22976): Caused by: java.net.SocketException: Socket closed
11-03 22:07:18.212 E/ACRA    (22976):   at java.net.SocketInputStream.read(SocketInputStream.java:209)
11-03 22:07:18.212 E/ACRA    (22976):   at java.net.SocketInputStream.read(SocketInputStream.java:144)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:945)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:909)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:824)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:797)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.okhttp.okio.Okio$2.read(Okio.java:138)
11-03 22:07:18.212 E/ACRA    (22976):   at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:213)
11-03 22:07:18.212 E/ACRA    (22976):   ... 23 more
11-03 22:07:18.213 D/ACRA    (22976): Building report
11-03 22:07:18.216 D/ACRA    (22976): Starting collectors with priority FIRST
11-03 22:07:18.217 D/ACRA    (22976): Calling collector org.acra.collector.DropBoxCollector
11-03 22:07:18.217 D/ACRA    (22976): Collector org.acra.collector.DropBoxCollector completed
11-03 22:07:18.217 D/ACRA    (22976): Calling collector org.acra.collector.LogCatCollector
11-03 22:07:18.217 D/ACRA    (22976): Calling collector org.acra.collector.StacktraceCollector
11-03 22:07:18.223 W/MediaSessionLegacyStub(22976): Failed to load bitmap: java.net.SocketTimeoutException: timeout
11-03 22:07:18.224 D/ACRA    (22976): Collector org.acra.collector.StacktraceCollector completed
11-03 22:07:18.239 D/ACRA    (22976): Retrieving logcat output (buffer:default)...

App information

App version: 0.18.0-beta.1 (180001)
Package name: org.jellyfin.androidtv.debug
Build:

{"BOARD":"boreal","BOOTLOADER":"01.01.240812.074803","BRAND":"google","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"boreal","DISPLAY":"STTL.240812.006","FINGERPRINT":"google\/boreal\/boreal:12\/STTL.240812.006\/12286094:user\/release-keys","HARDWARE":"amlogic","HOST":"r-d5a25cf08fde7218-sf92","ID":"STTL.240812.006","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"Google","MODEL":"Chromecast HD","ODM_SKU":"unknown","PERMISSIONS_REVIEW_REQUIRED":true,"PRODUCT":"boreal","RADIO":"unknown","SKU":"DE","SOC_MANUFACTURER":"Amlogic","SOC_MODEL":"AMLS805X2","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"release-keys","TIME":1724819448000,"TYPE":"user","UNKNOWN":"unknown","USER":"android-build","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"","CODENAME":"REL","INCREMENTAL":"12286094","MEDIA_PERFORMANCE_CLASS":0,"PREVIEW_SDK_FINGERPRINT":"REL","PREVIEW_SDK_INT":0,"RELEASE":"12","RELEASE_OR_CODENAME":"12","SDK":"31","SDK_INT":31,"SECURITY_PATCH":"2024-09-01"}}

Build config:

{"APPLICATION_ID":"org.jellyfin.androidtv.debug","BUILD_TYPE":"debug","DEBUG":true,"DEVELOPMENT":false,"VERSION_CODE":180001,"VERSION_NAME":"0.18.0-beta.1"}

Device information

Android version: 12
Device brand: google
Device product: boreal
Device model: Chromecast HD

Crash information

Start time: 2024-11-03T20:41:33.441+01:00
Crash time: 2024-11-03T22:07:18.536+01:00

Jellyfin Server Log

[2024-11-03 22:07:12.155 +01:00] [INF] [58] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Entered
[2024-11-03 22:07:13.157 +01:00] [INF] [3] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "1a5901d5b0aa167e8cea934a2[...]"
[2024-11-03 22:07:23.461 +01:00] [WRN] [47] Emby.Server.Implementations.HttpServer.WebSocketConnection: WS "my.client.ip" error receiving data: "The remote party closed the WebSocket connection without completing the close handshake."
[2024-11-03 22:07:23.463 +01:00] [INF] [47] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "my.client.ip" closed
[2024-11-03 22:07:32.152 +01:00] [INF] [58] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session Not Found
[2024-11-03 22:07:32.152 +01:00] [INF] [58] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited
[2024-11-03 22:08:06.082 +01:00] [INF] [47] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "my.client.ip" request
[2024-11-03 22:08:28.017 +01:00] [INF] [47] Emby.Server.Implementations.IO.LibraryMonitor: Stopping directory watching for path "/

Application version

0.18.0-beta.1

Where did you install the app from?

Sideloaded APK

Device information

Chromecast with Google TV HD

Android version

12

Jellyfin server version

10.10.0

nielsvanvelzen commented 3 weeks ago

Should be fixed in the next beta!