jellyfin / jellyfin-androidtv

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

EGREAT_A5_CN crash after login #2340

Closed shinobiii163 closed 1 year ago

shinobiii163 commented 1 year ago

Describe the bug

I can login app after install app on EGREAT A5. But if I reboot or shutdown device, I try to login app, the app will crash. I use version 0.15., 0.14., The symptom is same.

Logs


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

Logs

Stack Trace:

java.lang.SecurityException: uid 10047 cannot explicitly add accounts of type: org.jellyfin.androidtv.debug
    at android.os.Parcel.readException(Parcel.java:1683)
    at android.os.Parcel.readException(Parcel.java:1636)
    at android.accounts.IAccountManager$Stub$Proxy.addAccountExplicitly(IAccountManager.java:995)
    at android.accounts.AccountManager.addAccountExplicitly(AccountManager.java:733)
    at org.jellyfin.androidtv.auth.store.AccountManagerStore.putAccount(AccountManagerStore.kt:40)
    at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl.authenticateFinish(AuthenticationRepository.kt:170)
    at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl.access$authenticateFinish(AuthenticationRepository.kt:51)
    at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl$authenticateAuthenticationResult$1.invokeSuspend(AuthenticationRepository.kt:131)
    at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl$authenticateAuthenticationResult$1.invoke(AuthenticationRepository.kt)
    at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl$authenticateAuthenticationResult$1.invoke(AuthenticationRepository.kt)
    at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
    at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
    at kotlinx.coroutines.flow.FlowKt__CollectKt.emitAll(Collect.kt:109)
    at kotlinx.coroutines.flow.FlowKt.emitAll(Unknown Source)
    at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl$authenticateQuickConnect$1.invokeSuspend(AuthenticationRepository.kt:115)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6097)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1041)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:931)
    Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@15df74e, Dispatchers.Main.immediate]

Logcat:

12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:89)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937): Caused by: javax.net.ssl.SSLHandshakeException: Handshake failed
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:429)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379)
12-12 19:58:41.680 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at java.lang.Thread.run(Thread.java:761)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937): Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb241ae80: Failure in SSL library, usually a protocol error
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937): error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER (external/boringssl/src/ssl/tls_record.c:192 0xa0428912:0x00000000)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:357)
12-12 19:58:41.681 D/org.jellyfin.sdk.discovery.RecommendedServerDiscovery( 4937):  ... 20 more
12-12 19:58:41.684 D/ServerRepositoryImpl$ad( 4937): Recommendations: 0 great, 1 good, 1 bad
12-12 19:58:41.695 I/org.jellyfin.sdk.api.client.KtorClient( 4937): GET http://10.10.10.10:8096/Branding/Configuration
12-12 19:58:41.805 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): Reading reply...
12-12 19:58:41.896 I/org.jellyfin.sdk.api.client.KtorClient( 4937): GET http://10.10.10.10:8096/Users/Public
12-12 19:58:41.988 I/org.jellyfin.sdk.api.client.KtorClient( 4937): GET http://10.10.10.10:8096/Users/Public
12-12 19:58:42.093 W/OpenGLRenderer( 4937): Points are too far apart 4.000003
12-12 19:58:42.306 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): Reading reply...
12-12 19:58:42.807 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): Reading reply...
12-12 19:58:43.309 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): Reading reply...
12-12 19:58:43.810 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): Reading reply...
12-12 19:58:44.311 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): Reading reply...
12-12 19:58:44.812 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): Reading reply...
12-12 19:58:45.313 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): Reading reply...
12-12 19:58:45.650 I/art     ( 4937): Do full code cache collection, code=205KB, data=251KB
12-12 19:58:45.652 I/art     ( 4937): After code cache collection, code=184KB, data=192KB
12-12 19:58:45.682 I/org.jellyfin.sdk.api.client.KtorClient( 4937): GET http://10.10.10.10:8096/QuickConnect/Initiate
12-12 19:58:45.792 W/art     ( 4937): Before Android 4.1, method double j$.util.concurrent.ThreadLocalRandom.internalNextDouble(double, double) would have incorrectly overridden the package-private method in java.util.Random
12-12 19:58:45.792 W/art     ( 4937): Before Android 4.1, method int j$.util.concurrent.ThreadLocalRandom.internalNextInt(int, int) would have incorrectly overridden the package-private method in java.util.Random
12-12 19:58:45.792 W/art     ( 4937): Before Android 4.1, method long j$.util.concurrent.ThreadLocalRandom.internalNextLong(long, long) would have incorrectly overridden the package-private method in java.util.Random
12-12 19:58:45.814 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): Reading reply...
12-12 19:58:46.316 D/org.jellyfin.sdk.discovery.LocalServerDiscovery( 4937): End
12-12 19:58:50.824 I/org.jellyfin.sdk.api.client.KtorClient( 4937): GET http://10.10.10.10:8096/QuickConnect/Connect?secret=B3BA4428589D546FFFB4E53EBF1A9B303939D13FBBC99CB0EF4E252DFDE2BEBA
12-12 19:58:55.967 I/org.jellyfin.sdk.api.client.KtorClient( 4937): GET http://10.10.10.10:8096/QuickConnect/Connect?secret=B3BA4428589D546FFFB4E53EBF1A9B303939D13FBBC99CB0EF4E252DFDE2BEBA
12-12 19:59:01.114 I/org.jellyfin.sdk.api.client.KtorClient( 4937): GET http://10.10.10.10:8096/QuickConnect/Connect?secret=B3BA4428589D546FFFB4E53EBF1A9B303939D13FBBC99CB0EF4E252DFDE2BEBA
12-12 19:59:01.274 I/org.jellyfin.sdk.api.client.KtorClient( 4937): POST http://10.10.10.10:8096/Users/AuthenticateWithQuickConnect
12-12 19:59:01.466 I/art     ( 4937): Do partial code cache collection, code=207KB, data=233KB
12-12 19:59:01.468 I/art     ( 4937): After code cache collection, code=189KB, data=218KB
12-12 19:59:01.468 I/art     ( 4937): Increasing code cache capacity to 1024KB
12-12 19:59:01.528 E/ACRA    ( 4937): ACRA caught a SecurityException for org.jellyfin.androidtv.debug
12-12 19:59:01.528 E/ACRA    ( 4937): java.lang.SecurityException: uid 10047 cannot explicitly add accounts of type: org.jellyfin.androidtv.debug
12-12 19:59:01.528 E/ACRA    ( 4937):   at android.os.Parcel.readException(Parcel.java:1683)
12-12 19:59:01.528 E/ACRA    ( 4937):   at android.os.Parcel.readException(Parcel.java:1636)
12-12 19:59:01.528 E/ACRA    ( 4937):   at android.accounts.IAccountManager$Stub$Proxy.addAccountExplicitly(IAccountManager.java:995)
12-12 19:59:01.528 E/ACRA    ( 4937):   at android.accounts.AccountManager.addAccountExplicitly(AccountManager.java:733)
12-12 19:59:01.528 E/ACRA    ( 4937):   at org.jellyfin.androidtv.auth.store.AccountManagerStore.putAccount(AccountManagerStore.kt:40)
12-12 19:59:01.528 E/ACRA    ( 4937):   at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl.authenticateFinish(AuthenticationRepository.kt:170)
12-12 19:59:01.528 E/ACRA    ( 4937):   at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl.access$authenticateFinish(AuthenticationRepository.kt:51)
12-12 19:59:01.528 E/ACRA    ( 4937):   at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl$authenticateAuthenticationResult$1.invokeSuspend(AuthenticationRepository.kt:131)
12-12 19:59:01.528 E/ACRA    ( 4937):   at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl$authenticateAuthenticationResult$1.invoke(AuthenticationRepository.kt)
12-12 19:59:01.528 E/ACRA    ( 4937):   at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl$authenticateAuthenticationResult$1.invoke(AuthenticationRepository.kt)
12-12 19:59:01.528 E/ACRA    ( 4937):   at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
12-12 19:59:01.528 E/ACRA    ( 4937):   at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
12-12 19:59:01.528 E/ACRA    ( 4937):   at kotlinx.coroutines.flow.FlowKt__CollectKt.emitAll(Collect.kt:109)
12-12 19:59:01.528 E/ACRA    ( 4937):   at kotlinx.coroutines.flow.FlowKt.emitAll(Unknown Source)
12-12 19:59:01.528 E/ACRA    ( 4937):   at org.jellyfin.androidtv.auth.repository.AuthenticationRepositoryImpl$authenticateQuickConnect$1.invokeSuspend(AuthenticationRepository.kt:115)
12-12 19:59:01.528 E/ACRA    ( 4937):   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
12-12 19:59:01.528 E/ACRA    ( 4937):   at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
12-12 19:59:01.528 E/ACRA    ( 4937):   at android.os.Handler.handleCallback(Handler.java:751)
12-12 19:59:01.528 E/ACRA    ( 4937):   at android.os.Handler.dispatchMessage(Handler.java:95)
12-12 19:59:01.528 E/ACRA    ( 4937):   at android.os.Looper.loop(Looper.java:154)
12-12 19:59:01.528 E/ACRA    ( 4937):   at android.app.ActivityThread.main(ActivityThread.java:6097)
12-12 19:59:01.528 E/ACRA    ( 4937):   at java.lang.reflect.Method.invoke(Native Method)
12-12 19:59:01.528 E/ACRA    ( 4937):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1041)
12-12 19:59:01.528 E/ACRA    ( 4937):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:931)
12-12 19:59:01.528 E/ACRA    ( 4937):   Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@15df74e, Dispatchers.Main.immediate]
12-12 19:59:01.528 D/ACRA    ( 4937): Building report
12-12 19:59:01.529 D/ACRA    ( 4937): Starting collectors with priority FIRST
12-12 19:59:01.530 D/ACRA    ( 4937): Calling collector org.acra.collector.DropBoxCollector
12-12 19:59:01.530 D/ACRA    ( 4937): Collector org.acra.collector.DropBoxCollector completed
12-12 19:59:01.531 D/ACRA    ( 4937): Calling collector org.acra.collector.LogCatCollector
12-12 19:59:01.531 D/ACRA    ( 4937): Calling collector org.acra.collector.StacktraceCollector
12-12 19:59:01.532 D/ACRA    ( 4937): Collector org.acra.collector.StacktraceCollector completed
12-12 19:59:01.534 D/ACRA    ( 4937): Retrieving logcat output (buffer:default)...

App information

App version: 0.15.0-beta.4 (150004)
Package name: org.jellyfin.androidtv.debug
Build:

{"BOARD":"bigfish","BOOTLOADER":"unknown","BRAND":"HiSTBAndroidV6","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"Hi3798CV200","DISPLAY":"Hi3798CV200-eng 7.0 NRD90M eng.root.20211210.100239 release-keys","FINGERPRINT":"HiSTBAndroidV6\/Hi3798CV200\/Hi3798CV200:7.0\/NRD90M\/root12101002:eng\/release-keys","HARDWARE":"bigfish","HOST":"Egreat","ID":"NRD90M","IS_DEBUGGABLE":true,"IS_EMULATOR":false,"MANUFACTURER":"Hisilicon","MODEL":"EGREAT_A5_CN","PERMISSIONS_REVIEW_REQUIRED":false,"PRODUCT":"Hi3798CV200","RADIO":"HiSTBAndroidV600R003C00SPC023","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"release-keys","TIME":1639130559000,"TYPE":"eng","UNKNOWN":"unknown","USER":"root","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"","CODENAME":"REL","INCREMENTAL":"eng.root.20211210.100239","PREVIEW_SDK_INT":0,"RELEASE":"7.0","RESOURCES_SDK_INT":24,"SDK":"24","SDK_INT":24,"SECURITY_PATCH":"2017-04-01"}}

Build config:

{"APPLICATION_ID":"org.jellyfin.androidtv.debug","BUILD_TYPE":"debug","DEBUG":true,"DEVELOPMENT":false,"VERSION_CODE":150004,"VERSION_NAME":"0.15.0-beta.4"}

Device information

Android version: 7.0
Device brand: HiSTBAndroidV6
Device product: Hi3798CV200
Device model: EGREAT_A5_CN

Crash information

Start time: 2022-12-12T19:58:17.729+08:00
Crash time: 2022-12-12T19:59:01.576+08:00

Application version

0.15.0-beta.4

Where did you install the app from?

None

Device information

EGREAT_A5_CN

Android version

Android 7.0

Jellyfin server version

10.8.6

nielsvanvelzen commented 1 year ago

This is likely caused by sideloading the app with a different signature. Try deleting all app data, uninstalling the app and then reinstalling it again.

shinobiii163 commented 1 year ago

I reinstall the app so many times. I can login successfully after reinstall app. If I don't shutdown or reboot device, I can login successfully again. But after I reboot device, app will crash when I try to login.

jellyfin-bot commented 1 year 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.

hypghzy commented 1 year ago

I'm experiencing the exact same problem, is there any chance of fixing that issue? It's realy bothering.

nielsvanvelzen commented 1 year ago

Please try the latest beta for 0.16 and share the crash logs if the issue persists