jellyfin / jellyfin-androidtv

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

app crashes when clicking play #4243

Open binarygeek119 opened 4 days ago

binarygeek119 commented 4 days ago

Describe the bug

i have intro and other skips enabled with that when something plays it crashes the app and server.

Logs

app crash log

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

***Stack Trace***: 
```log
org.jellyfin.sdk.api.client.exception.TimeoutException: HTTP request timed out
    at org.jellyfin.sdk.api.ktor.KtorClient.request(KtorClient.kt:154)
    at org.jellyfin.sdk.api.ktor.KtorClient$request$1.invokeSuspend(Unknown Source:19)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:99)
    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
    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}@b6c233e, Dispatchers.IO]
Caused by: io.ktor.client.plugins.HttpRequestTimeoutException: Request timeout has expired [url=http://192.168.1.2:8096/LiveTv/Programs/Recommended?limit=1&isAiring=true&imageTypeLimit=1&enableTotalRecordCount=false, request_timeout=30000 ms]
    at io.ktor.client.plugins.HttpTimeout$Plugin$install$1$1$killer$1.invokeSuspend(HttpTimeout.kt:165)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
    ... 6 more

Logcat:

11-24 22:40:44.938 D/org.jellyfin.sdk.api.ktor.KtorClient(10553): Caused by: java.net.SocketException: Socket closed
11-24 22:40:44.938 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at java.net.SocketInputStream.read(SocketInputStream.java:209)
11-24 22:40:44.938 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at java.net.SocketInputStream.read(SocketInputStream.java:144)
11-24 22:40:44.938 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at okio.InputStreamSource.read(JvmOkio.kt:93)
11-24 22:40:44.938 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:153)
11-24 22:40:44.938 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   ... 20 more
11-24 22:40:44.951 V/io.ktor.client.plugins.HttpCallValidator(10553): Processing exception java.util.concurrent.CancellationException: Parent job is Cancelling for request http://192.168.1.2:8096/UserItems/Resume?limit=10&fields=DateCreated&mediaTypes=Video&imageTypeLimit=1&includeItemTypes=Episode&includeItemTypes=Movie&enableTotalRecordCount=true&enableImages=true&excludeActiveSessions=true
11-24 22:40:44.973 V/io.ktor.client.plugins.HttpTimeout(10553): Request timeout: http://192.168.1.2:8096/UserItems/Resume?limit=10&fields=DateCreated&mediaTypes=Video&imageTypeLimit=1&includeItemTypes=Episode&includeItemTypes=Movie&enableTotalRecordCount=true&enableImages=true&excludeActiveSessions=true
11-24 22:40:44.977 W/LeanbackChannelWorker(10553): Server unreachable, trying again later
11-24 22:40:44.977 W/LeanbackChannelWorker(10553): org.jellyfin.sdk.api.client.exception.TimeoutException: Socket timed out
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at org.jellyfin.sdk.api.ktor.KtorClient.request(KtorClient.kt:160)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at org.jellyfin.sdk.api.ktor.KtorClient$request$1.invokeSuspend(Unknown Source:19)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:99)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553): Caused by: io.ktor.client.network.sockets.SocketTimeoutException: Socket timeout has expired [url=http://192.168.1.2:8096/Shows/NextUp?limit=10&fields=DateCreated&imageTypeLimit=1&enableTotalRecordCount=true&disableFirstEpisode=false&enableResumable=false&enableRewatching=false, socket_timeout=30000] ms
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at io.ktor.client.plugins.HttpTimeoutKt.SocketTimeoutException(HttpTimeout.kt:239)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at io.ktor.client.engine.okhttp.OkUtilsKt.mapOkHttpException(OkUtils.kt:80)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at io.ktor.client.engine.okhttp.OkUtilsKt.access$mapOkHttpException(OkUtils.kt:1)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at io.ktor.client.engine.okhttp.OkHttpCallback.onFailure(OkUtils.kt:39)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:525)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at java.lang.Thread.run(Thread.java:920)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553): Caused by: java.net.SocketTimeoutException: timeout
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okio.SocketAsyncTimeout.newTimeoutException(JvmOkio.kt:146)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okio.AsyncTimeout.access$newTimeoutException(AsyncTimeout.kt:186)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:390)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okio.RealBufferedSource.indexOf(RealBufferedSource.kt:436)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.kt:329)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http1.HeadersReader.readLine(HeadersReader.kt:29)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http1.Http1ExchangeCodec.readResponseHeaders(Http1ExchangeCodec.kt:180)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.kt:110)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:93)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  ... 3 more
11-24 22:40:44.977 W/LeanbackChannelWorker(10553): Caused by: java.net.SocketException: Socket closed
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at java.net.SocketInputStream.read(SocketInputStream.java:209)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at java.net.SocketInputStream.read(SocketInputStream.java:144)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okio.InputStreamSource.read(JvmOkio.kt:93)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:153)
11-24 22:40:44.977 W/LeanbackChannelWorker(10553):  ... 20 more
11-24 22:40:44.980 I/WM-WorkerWrapper(10553): Worker result RETRY for Work [ id=227ad2b0-7471-4f82-af08-d2f870922055, tags={ org.jellyfin.androidtv.integration.LeanbackChannelWorker } ]
11-24 22:40:45.416 D/org.jellyfin.sdk.api.sockets.OkHttpSocketConnection(10553): Sending (raw) message {"MessageType":"KeepAlive"}
11-24 22:40:45.419 D/org.jellyfin.sdk.api.sockets.OkHttpSocketConnection(10553): Receiving (raw) message {"MessageId":"7bc7ad577a2a495c93f08a1767595f06","MessageType":"KeepAlive"}
11-24 22:40:45.547 V/io.ktor.client.plugins.HttpTimeout(10553): Request timeout: http://192.168.1.2:8096/LiveTv/Programs/Recommended?limit=1&isAiring=true&imageTypeLimit=1&enableTotalRecordCount=false
11-24 22:40:45.549 V/io.ktor.client.plugins.HttpCallValidator(10553): Processing exception io.ktor.client.plugins.HttpRequestTimeoutException: Request timeout has expired [url=http://192.168.1.2:8096/LiveTv/Programs/Recommended?limit=1&isAiring=true&imageTypeLimit=1&enableTotalRecordCount=false, request_timeout=30000 ms] for request http://192.168.1.2:8096/LiveTv/Programs/Recommended?limit=1&isAiring=true&imageTypeLimit=1&enableTotalRecordCount=false
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553): HTTP request timed out
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553): io.ktor.client.plugins.HttpRequestTimeoutException: Request timeout has expired [url=http://192.168.1.2:8096/LiveTv/Programs/Recommended?limit=1&isAiring=true&imageTypeLimit=1&enableTotalRecordCount=false, request_timeout=30000 ms]
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at io.ktor.client.plugins.HttpTimeout$Plugin$install$1$1$killer$1.invokeSuspend(HttpTimeout.kt:165)
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
11-24 22:40:45.550 D/org.jellyfin.sdk.api.ktor.KtorClient(10553):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
11-24 22:40:45.559 E/ACRA    (10553): ACRA caught a TimeoutException for org.jellyfin.androidtv
11-24 22:40:45.559 E/ACRA    (10553): org.jellyfin.sdk.api.client.exception.TimeoutException: HTTP request timed out
11-24 22:40:45.559 E/ACRA    (10553):   at org.jellyfin.sdk.api.ktor.KtorClient.request(KtorClient.kt:154)
11-24 22:40:45.559 E/ACRA    (10553):   at org.jellyfin.sdk.api.ktor.KtorClient$request$1.invokeSuspend(Unknown Source:19)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:99)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
11-24 22:40:45.559 E/ACRA    (10553):   Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@b6c233e, Dispatchers.IO]
11-24 22:40:45.559 E/ACRA    (10553): Caused by: io.ktor.client.plugins.HttpRequestTimeoutException: Request timeout has expired [url=http://192.168.1.2:8096/LiveTv/Programs/Recommended?limit=1&isAiring=true&imageTypeLimit=1&enableTotalRecordCount=false, request_timeout=30000 ms]
11-24 22:40:45.559 E/ACRA    (10553):   at io.ktor.client.plugins.HttpTimeout$Plugin$install$1$1$killer$1.invokeSuspend(HttpTimeout.kt:165)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
11-24 22:40:45.559 E/ACRA    (10553):   at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
11-24 22:40:45.559 E/ACRA    (10553):   ... 6 more
11-24 22:40:45.559 D/ACRA    (10553): Building report
11-24 22:40:45.561 D/ACRA    (10553): Starting collectors with priority FIRST
11-24 22:40:45.564 D/ACRA    (10553): Calling collector org.acra.collector.LogCatCollector
11-24 22:40:45.565 D/ACRA    (10553): Calling collector org.acra.collector.DropBoxCollector
11-24 22:40:45.565 D/ACRA    (10553): Collector org.acra.collector.DropBoxCollector completed
11-24 22:40:45.565 D/ACRA    (10553): Calling collector org.acra.collector.StacktraceCollector
11-24 22:40:45.566 D/ACRA    (10553): Collector org.acra.collector.StacktraceCollector completed
11-24 22:40:45.569 D/ACRA    (10553): Retrieving logcat output (buffer:default)...

App information

App version: 0.18.0-beta.4 (180004)
Package name: org.jellyfin.androidtv
Build:

{"BOARD":"onn_4k_gtv","BOOTLOADER":"01.01.240801.211839","BRAND":"onn","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"YOC","DISPLAY":"SGZ3.231226.078.C2.12400478","FINGERPRINT":"onn\/onn_4k_gtv\/YOC:12\/SGZ3.231226.078.C2\/12400478:user\/release-keys","HARDWARE":"amlogic","HOST":"r-04ee229aec0a6463-17xq","ID":"SGZ3.231226.078.C2","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"onn","MODEL":"onn. 4K Streaming Box","ODM_SKU":"unknown","PERMISSIONS_REVIEW_REQUIRED":true,"PRODUCT":"onn_4k_gtv","RADIO":"unknown","SKU":"unknown","SOC_MANUFACTURER":"Amlogic","SOC_MODEL":"AMLS905Y4","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"release-keys","TIME":1727072239000,"TYPE":"user","UNKNOWN":"unknown","USER":"android-build","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"","CODENAME":"REL","INCREMENTAL":"12400478","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","BUILD_TYPE":"release","DEBUG":false,"DEVELOPMENT":false,"VERSION_CODE":180004,"VERSION_NAME":"0.18.0-beta.4"}

Device information

Android version: 12
Device brand: onn
Device product: onn_4k_gtv
Device model: onn. 4K Streaming Box

Crash information

Start time: 2024-11-24T22:40:09.144-06:00
Crash time: 2024-11-24T22:40:45.653-06:00



### Application version

0.18.0 beta 4

### Where did you install the app from?

Google Play

### Device information

onn. 4K Streaming Box

### Android version

androidtv 12

### Jellyfin server version

10.10.3