jellyfin / jellyfin-androidtv

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

0.14 branch crashes on server selection #1920

Closed Andy2244 closed 2 years ago

Andy2244 commented 2 years ago

Describe the bug

The root cause is https://github.com/jellyfin/jellyfin-androidtv/commit/777657709df93222f22f70ef4a2c3e30ed6299e3 So reverting this commit, avoids the crash.

Logs

---------------------------- PROCESS STARTED (17747) for package org.jellyfin.androidtv.debug ----------------------------
ACRA                    org.jellyfin.androidtv.debug         D  ACRA processName='org.jellyfin.androidtv.debug'
ACRA                    org.jellyfin.androidtv.debug         I  ACRA is enabled for org.jellyfin.androidtv.debug, initializing...
ACRA                    org.jellyfin.androidtv.debug         D  SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@8b8ba6d
ACRA                    org.jellyfin.androidtv.debug         D  ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.collector.Collector]
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.ConfigurationCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.CustomDataCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.DeviceFeaturesCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.DeviceIdCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.DisplayManagerCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.DropBoxCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.LogCatCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.LogFileCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.MediaCodecListCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.MemoryInfoCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.PackageManagerCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.ReflectionCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.SettingsCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.SharedPreferencesCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.SimpleValuesCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.StacktraceCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.ThreadCollector
ACRA                    org.jellyfin.androidtv.debug         D  Loaded Collector of type org.acra.collector.TimeCollector
ACRA                    org.jellyfin.androidtv.debug         D  SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@8b8ba6d
ACRA                    org.jellyfin.androidtv.debug         D  ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.scheduler.SenderSchedulerFactory]
ACRA                    org.jellyfin.androidtv.debug         D  SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@8b8ba6d
ACRA                    org.jellyfin.androidtv.debug         D  ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.config.ReportingAdministrator]
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden field Landroid/os/Trace;->TRACE_TAG_APP:J (light greylist, reflection)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Landroid/os/Trace;->isTagEnabled(J)Z (light greylist, reflection)
WM-WrkMgrInitializer    org.jellyfin.androidtv.debug         D  Initializing WorkManager with default configuration.
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Ldalvik/system/CloseGuard;->setEnabled(Z)V (light greylist, reflection)
LogInitializer          org.jellyfin.androidtv.debug         I  Debug tree planted
SessionRepositoryImpl   org.jellyfin.androidtv.debug         D  Restoring session
SessionRepositoryImpl   org.jellyfin.androidtv.debug         D  Updating current session. userId=null apiBindingSuccess=true
DisplayPreferencesStore org.jellyfin.androidtv.debug         E  Unable to retrieve displaypreferences. (displayPreferencesId=livetv, app=jellyfin-androidtv)
                                                                org.jellyfin.sdk.api.client.exception.MissingUserIdException: Required value userId is null. Provide it by setting ApiClient.userId or passing it in the function call.
                                                                    at org.jellyfin.sdk.api.operations.DisplayPreferencesApi.getDisplayPreferences$default(DisplayPreferencesApi.kt:32)
                                                                    at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update$suspendImpl(DisplayPreferencesStore.kt:59)
                                                                    at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update(Unknown Source:0)
                                                                    at org.jellyfin.androidtv.preference.PreferencesRepository.onSessionChanged(PreferencesRepository.kt:31)
                                                                    at org.jellyfin.androidtv.auth.repository.SessionRepositoryImpl.setCurrentSession(SessionRepository.kt:150)
                                                                    at org.jellyfin.androidtv.auth.repository.SessionRepositoryImpl.restoreSession(SessionRepository.kt:77)
                                                                    at org.jellyfin.androidtv.SessionInitializer$create$1.invokeSuspend(SessionInitializer.kt:21)
                                                                    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                    at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:367)
                                                                    at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
                                                                    at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
                                                                    at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
                                                                    at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
                                                                    at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
                                                                    at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
                                                                    at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
                                                                    at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
                                                                    at org.jellyfin.androidtv.SessionInitializer.create(SessionInitializer.kt:20)
                                                                    at org.jellyfin.androidtv.SessionInitializer.create(SessionInitializer.kt:12)
                                                                    at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:180)
                                                                    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:238)
                                                                    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:206)
                                                                    at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:45)
                                                                    at android.content.ContentProvider.attachInfo(ContentProvider.java:1917)
                                                                    at android.content.ContentProvider.attachInfo(ContentProvider.java:1892)
                                                                    at android.app.ActivityThread.installProvider(ActivityThread.java:6391)
                                                                    at android.app.ActivityThread.installContentProviders(ActivityThread.java:5938)
                                                                    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5853)
                                                                    at android.app.ActivityThread.access$1100(ActivityThread.java:199)
                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
                                                                    at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                    at android.os.Looper.loop(Looper.java:193)
                                                                    at android.app.ActivityThread.main(ActivityThread.java:6669)
                                                                    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)
DisplayPreferencesStore org.jellyfin.androidtv.debug         I  Creating an empty DisplayPreferencesDto for next commit.
DisplayPreferencesStore org.jellyfin.androidtv.debug         E  Unable to retrieve displaypreferences. (displayPreferencesId=usersettings, app=emby)
                                                                org.jellyfin.sdk.api.client.exception.MissingUserIdException: Required value userId is null. Provide it by setting ApiClient.userId or passing it in the function call.
                                                                    at org.jellyfin.sdk.api.operations.DisplayPreferencesApi.getDisplayPreferences$default(DisplayPreferencesApi.kt:32)
                                                                    at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update$suspendImpl(DisplayPreferencesStore.kt:59)
                                                                    at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update(Unknown Source:0)
                                                                    at org.jellyfin.androidtv.preference.PreferencesRepository.onSessionChanged(PreferencesRepository.kt:32)
                                                                    at org.jellyfin.androidtv.auth.repository.SessionRepositoryImpl.setCurrentSession(SessionRepository.kt:150)
                                                                    at org.jellyfin.androidtv.auth.repository.SessionRepositoryImpl.restoreSession(SessionRepository.kt:77)
                                                                    at org.jellyfin.androidtv.SessionInitializer$create$1.invokeSuspend(SessionInitializer.kt:21)
                                                                    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                    at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:367)
                                                                    at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
                                                                    at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
                                                                    at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
                                                                    at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
                                                                    at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
                                                                    at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
                                                                    at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
                                                                    at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
                                                                    at org.jellyfin.androidtv.SessionInitializer.create(SessionInitializer.kt:20)
                                                                    at org.jellyfin.androidtv.SessionInitializer.create(SessionInitializer.kt:12)
                                                                    at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:180)
                                                                    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:238)
                                                                    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:206)
                                                                    at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:45)
                                                                    at android.content.ContentProvider.attachInfo(ContentProvider.java:1917)
                                                                    at android.content.ContentProvider.attachInfo(ContentProvider.java:1892)
                                                                    at android.app.ActivityThread.installProvider(ActivityThread.java:6391)
                                                                    at android.app.ActivityThread.installContentProviders(ActivityThread.java:5938)
                                                                    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5853)
                                                                    at android.app.ActivityThread.access$1100(ActivityThread.java:199)
                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
                                                                    at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                    at android.os.Looper.loop(Looper.java:193)
                                                                    at android.app.ActivityThread.main(ActivityThread.java:6669)
                                                                    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)
DisplayPreferencesStore org.jellyfin.androidtv.debug         I  Creating an empty DisplayPreferencesDto for next commit.
ACRA                    org.jellyfin.androidtv.debug         D  ACRA processName='org.jellyfin.androidtv.debug'
MigrationContext        org.jellyfin.androidtv.debug         I  Requested migration from -1 to 6. Found 3 migrations in total.
libEGL                  org.jellyfin.androidtv.debug         D  loaded /vendor/lib/egl/libGLES_mali.so
ACRA                    org.jellyfin.androidtv.debug         D  onActivityCreated class org.jellyfin.androidtv.ui.startup.StartupActivity
BackgroundService       org.jellyfin.androidtv.debug         I  Adding BackgroundServiceFragment to activity
ACRA                    org.jellyfin.androidtv.debug         D  onActivityStarted class org.jellyfin.androidtv.ui.startup.StartupActivity
JellyfinAp...n$onCreate org.jellyfin.androidtv.debug         I  Process lifecycle started
SessionRepositoryImpl   org.jellyfin.androidtv.debug         D  Restoring session
SessionRepositoryImpl   org.jellyfin.androidtv.debug         D  Updating current session. userId=null apiBindingSuccess=true
DisplayPreferencesStore org.jellyfin.androidtv.debug         E  Unable to retrieve displaypreferences. (displayPreferencesId=livetv, app=jellyfin-androidtv)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E  org.jellyfin.sdk.api.client.exception.MissingUserIdException: Required value userId is null. Provide it by setting ApiClient.userId or passing it in the function call.
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.sdk.api.operations.DisplayPreferencesApi.getDisplayPreferences$default(DisplayPreferencesApi.kt:32)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update$suspendImpl(DisplayPreferencesStore.kt:59)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update(Unknown Source:0)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.preference.PreferencesRepository.onSessionChanged(PreferencesRepository.kt:31)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.auth.repository.SessionRepositoryImpl.setCurrentSession(SessionRepository.kt:150)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.auth.repository.SessionRepositoryImpl.restoreSession(SessionRepository.kt:77)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.JellyfinApplication$onCreate$1$onStart$1.invokeSuspend(JellyfinApplication.kt:58)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:367)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.JellyfinApplication$onCreate$1.onStart(JellyfinApplication.kt:57)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.FullLifecycleObserverAdapter.onStateChanged(FullLifecycleObserverAdapter.java:39)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:271)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:313)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:151)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.ProcessLifecycleOwner.activityStarted(ProcessLifecycleOwner.java:113)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.ProcessLifecycleOwner$2.onStart(ProcessLifecycleOwner.java:84)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.ReportFragment.dispatchStart(ReportFragment.java:88)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.ReportFragment.onStart(ReportFragment.java:108)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.Fragment.performStart(Fragment.java:2548)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1334)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1576)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1637)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3046)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:3003)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentController.dispatchStart(FragmentController.java:193)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.Activity.performStart(Activity.java:7165)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2937)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.os.Handler.dispatchMessage(Handler.java:106)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.os.Looper.loop(Looper.java:193)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.ActivityThread.main(ActivityThread.java:6669)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at java.lang.reflect.Method.invoke(Native Method)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E  Unable to retrieve displaypreferences. (displayPreferencesId=usersettings, app=emby)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E  org.jellyfin.sdk.api.client.exception.MissingUserIdException: Required value userId is null. Provide it by setting ApiClient.userId or passing it in the function call.
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.sdk.api.operations.DisplayPreferencesApi.getDisplayPreferences$default(DisplayPreferencesApi.kt:32)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update$suspendImpl(DisplayPreferencesStore.kt:59)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.preference.store.DisplayPreferencesStore.update(Unknown Source:0)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.preference.PreferencesRepository.onSessionChanged(PreferencesRepository.kt:32)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.auth.repository.SessionRepositoryImpl.setCurrentSession(SessionRepository.kt:150)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.auth.repository.SessionRepositoryImpl.restoreSession(SessionRepository.kt:77)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.JellyfinApplication$onCreate$1$onStart$1.invokeSuspend(JellyfinApplication.kt:58)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:367)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at org.jellyfin.androidtv.JellyfinApplication$onCreate$1.onStart(JellyfinApplication.kt:57)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.FullLifecycleObserverAdapter.onStateChanged(FullLifecycleObserverAdapter.java:39)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:271)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:313)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:151)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.ProcessLifecycleOwner.activityStarted(ProcessLifecycleOwner.java:113)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.ProcessLifecycleOwner$2.onStart(ProcessLifecycleOwner.java:84)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.ReportFragment.dispatchStart(ReportFragment.java:88)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at androidx.lifecycle.ReportFragment.onStart(ReportFragment.java:108)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.Fragment.performStart(Fragment.java:2548)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1334)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1576)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1637)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3046)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:3003)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.FragmentController.dispatchStart(FragmentController.java:193)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.Activity.performStart(Activity.java:7165)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2937)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.os.Handler.dispatchMessage(Handler.java:106)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.os.Looper.loop(Looper.java:193)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at android.app.ActivityThread.main(ActivityThread.java:6669)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at java.lang.reflect.Method.invoke(Native Method)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
DisplayPreferencesStore org.jellyfin.androidtv.debug         E      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
ACRA                    org.jellyfin.androidtv.debug         D  onActivityResumed class org.jellyfin.androidtv.ui.startup.StartupActivity
Background...ceFragment org.jellyfin.androidtv.debug         D  Restoring background drawable
OpenGLRenderer          org.jellyfin.androidtv.debug         D  Skia GL Pipeline
ACRA                    org.jellyfin.androidtv.debug         D  SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@8b8ba6d
ACRA                    org.jellyfin.androidtv.debug         D  ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.startup.StartupProcessor]
ACRA                    org.jellyfin.androidtv.debug         D  Loaded StartupProcessor of type org.acra.startup.UnapprovedStartupProcessor
MediaManager            org.jellyfin.androidtv.debug         D  clearing the audio queue
ConfigStore             org.jellyfin.androidtv.debug         I  android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
ConfigStore             org.jellyfin.androidtv.debug         I  android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
OpenGLRenderer          org.jellyfin.androidtv.debug         I  Initialized EGL, version 1.4
OpenGLRenderer          org.jellyfin.androidtv.debug         D  Swap behavior 0
mali_winsys             org.jellyfin.androidtv.debug         D  EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
LocalServerDiscovery    org.jellyfin.androidtv.debug         I  Starting discovery with timeout of 500ms
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Discovering via /255.255.255.255
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Finished sending broadcasts, listening for responses
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Reading reply...
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Received message "{"Address":"http://192.168.1.101:8096","Id":"91a8a4347a3044df8144db5378c1c9a2","Name":"MEDIAPC","EndpointAddress":null}"
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Reading reply...
OpenGLRenderer          org.jellyfin.androidtv.debug         I  Davey! duration=702ms; Flags=0, IntendedVsync=1455276042205, Vsync=1455692708855, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=1455703806243, AnimationStart=1455703915354, PerformTraversalsStart=1455705354280, DrawStart=1455816571354, SyncQueued=1455832040317, SyncStart=1455832194020, IssueDrawCommandsStart=1455832401576, SwapBuffers=1455977138835, FrameCompleted=1455978491279, DequeueBufferDuration=3763000, QueueBufferDuration=369000, 
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V (light greylist, reflection)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V (light greylist, reflection)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Landroid/os/Trace;->traceCounter(JLjava/lang/String;I)V (light greylist, reflection)
ThemeUtils              org.jellyfin.androidtv.debug         E  View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden field Landroid/graphics/Insets;->left:I (light greylist, linking)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden field Landroid/graphics/Insets;->top:I (light greylist, linking)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden field Landroid/graphics/Insets;->right:I (light greylist, linking)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden field Landroid/graphics/Insets;->bottom:I (light greylist, linking)
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Reading reply...
chatty                  org.jellyfin.androidtv.debug         I  uid=10076(org.jellyfin.androidtv.debug) DefaultDispatch identical 6 lines
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Reading reply...
ServerRepo...$addServer org.jellyfin.androidtv.debug         D  Adding server http://192.168.1.101:8096
AddressCandidateHelper  org.jellyfin.androidtv.debug         D  Input is http://192.168.1.101:8096
AddressCandidateHelper  org.jellyfin.androidtv.debug         D  Adding common candidates
AddressCandidateHelper  org.jellyfin.androidtv.debug         D  Adding protocol candidates
AddressCandidateHelper  org.jellyfin.androidtv.debug         D  Adding port candidates
ServerRepo...$addServer org.jellyfin.androidtv.debug         D  Found 2 candidates
ThemeUtils              org.jellyfin.androidtv.debug         E  View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
Recommende...rDiscovery org.jellyfin.androidtv.debug         I  Requesting public system info for https://192.168.1.101:8096
KtorClient              org.jellyfin.androidtv.debug         I  GET https://192.168.1.101:8096/System/Info/Public
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Reading reply...
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V (light greylist, reflection)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setHostname(Ljava/lang/String;)V (light greylist, reflection)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B (light greylist, reflection)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setAlpnProtocols([B)V (light greylist, reflection)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (light greylist, reflection)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (light greylist, reflection)
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden method Ldalvik/system/CloseGuard;->warnIfOpen()V (light greylist, reflection)
NetworkSecurityConfig   org.jellyfin.androidtv.debug         D  No Network Security Config specified, using platform default
androidtv.debu          org.jellyfin.androidtv.debug         W  Accessing hidden field Landroid/view/View;->mAccessibilityDelegate:Landroid/view/View$AccessibilityDelegate; (light greylist, reflection)
ACRA                    org.jellyfin.androidtv.debug         E  ACRA caught a SSLHandshakeException for org.jellyfin.androidtv.debug
                                                                javax.net.ssl.SSLHandshakeException: Handshake failed
                                                                    at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:286)
                                                                    at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379)
                                                                    at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)
                                                                    at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)
                                                                    at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
                                                                    at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
                                                                    at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
                                                                    at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
                                                                    at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
                                                                    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
                                                                    at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
                                                                    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
                                                                    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
                                                                    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
                                                                    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
                                                                    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
                                                                    at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
                                                                    at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
                                                                    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:764)
                                                                    Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@b5b80bf, Dispatchers.Main.immediate]
                                                                Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x941ce4c8: Failure in SSL library, usually a protocol error
                                                                error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER (external/boringssl/src/ssl/tls_record.cc:242 0xa33aef0b:0x00000000)
                                                                    at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
                                                                    at com.android.org.conscrypt.NativeSsl.doHandshake(NativeSsl.java:375)
                                                                    at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:224)
                                                                    ... 20 more
ACRA                    org.jellyfin.androidtv.debug         D  Building report
ACRA                    org.jellyfin.androidtv.debug         D  Starting collectors with priority FIRST
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.DropBoxCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.DropBoxCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.StacktraceCollector
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.LogCatCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.StacktraceCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Retrieving logcat output (buffer:default)...
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.LogCatCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Finished collectors with priority FIRST
ACRA                    org.jellyfin.androidtv.debug         D  Starting collectors with priority NORMAL
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.ConfigurationCollector
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.DeviceFeaturesCollector
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.CustomDataCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.CustomDataCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.MemoryInfoCollector
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.DisplayManagerCollector
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.DeviceIdCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.DeviceIdCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.DeviceFeaturesCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.PackageManagerCollector
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.SimpleValuesCollector
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.SharedPreferencesCollector
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.ReflectionCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.SharedPreferencesCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.SettingsCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.PackageManagerCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.SettingsCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.TimeCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.SimpleValuesCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.TimeCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.ConfigurationCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.DisplayManagerCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.ReflectionCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.MemoryInfoCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Finished collectors with priority NORMAL
ACRA                    org.jellyfin.androidtv.debug         D  Starting collectors with priority LATE
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.LogFileCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.LogFileCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.ThreadCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.ThreadCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Calling collector org.acra.collector.MediaCodecListCollector
ACRA                    org.jellyfin.androidtv.debug         D  Collector org.acra.collector.MediaCodecListCollector completed
ACRA                    org.jellyfin.androidtv.debug         D  Finished collectors with priority LATE
ACRA                    org.jellyfin.androidtv.debug         D  Finishing activities prior to killing the Process
ACRA                    org.jellyfin.androidtv.debug         D  Finished class org.jellyfin.androidtv.ui.startup.StartupActivity
ACRA                    org.jellyfin.androidtv.debug         D  Writing crash report file /data/user/0/org.jellyfin.androidtv.debug/app_ACRA-unapproved/2022-08-02T12:32:08.586+02:00.stacktrace
androidtv.debu          org.jellyfin.androidtv.debug         I  Background concurrent copying GC freed 11466(1171KB) AllocSpace objects, 9(216KB) LOS objects, 49% free, 3MB/6MB, paused 1.398ms total 115.825ms
ACRA                    org.jellyfin.androidtv.debug         D  SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@8b8ba6d
ACRA                    org.jellyfin.androidtv.debug         D  ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.interaction.ReportInteraction]
ACRA                    org.jellyfin.androidtv.debug         D  Checking plugin Configurations : [org.acra.config.ToastConfiguration@72797bc] for class : class org.acra.config.ToastConfiguration
ACRA                    org.jellyfin.androidtv.debug         D  Checking plugin Configuration : org.acra.config.ToastConfiguration@72797bc against plugin class : class org.acra.config.ToastConfiguration
ACRA                    org.jellyfin.androidtv.debug         D  Loaded ReportInteraction of type org.acra.interaction.ToastInteraction
ACRA                    org.jellyfin.androidtv.debug         D  Calling ReportInteraction of class org.acra.interaction.ToastInteraction
ACRA                    org.jellyfin.androidtv.debug         D  Checking plugin Configurations : [org.acra.config.ToastConfiguration@72797bc] for class : class org.acra.config.ToastConfiguration
ACRA                    org.jellyfin.androidtv.debug         D  Checking plugin Configuration : org.acra.config.ToastConfiguration@72797bc against plugin class : class org.acra.config.ToastConfiguration
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Reading reply...
ndroid.systemu          com.android.systemui                 E  Failed to open APK '/data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk' I/O error
ResourcesManager        com.android.systemui                 E  failed to add asset path /data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk
ndroid.systemu          com.android.systemui                 E  Failed to open APK '/data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk' I/O error
ResourcesManager        com.android.systemui                 E  failed to add asset path /data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk
ndroid.systemu          com.android.systemui                 E  Failed to open APK '/data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk' I/O error
ResourcesManager        com.android.systemui                 E  failed to add asset path /data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk
ndroid.systemu          com.android.systemui                 E  Failed to open APK '/data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk' I/O error
ResourcesManager        com.android.systemui                 E  failed to add asset path /data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk
mali_winsys             org.jellyfin.androidtv.debug         D  EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Reading reply...
ndroid.systemu          com.android.systemui                 E  Failed to open APK '/data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk' I/O error
ResourcesManager        com.android.systemui                 E  failed to add asset path /data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk
ndroid.systemu          com.android.systemui                 E  Failed to open APK '/data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk' I/O error
ResourcesManager        com.android.systemui                 E  failed to add asset path /data/app/org.jellyfin.androidtv.debug-DEiHxEeu0_E2hOPk4pHffw==/base.apk
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Reading reply...
chatty                  org.jellyfin.androidtv.debug         I  uid=10076(org.jellyfin.androidtv.debug) DefaultDispatch identical 1 line
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  Reading reply...
LocalServerDiscovery    org.jellyfin.androidtv.debug         D  End
libEGL                  org.jellyfin.androidtv.debug         W  EGLNativeWindowType 0x94515008 disconnect failed
ACRA                    org.jellyfin.androidtv.debug         D  Mark 2022-08-02T12:32:08.586+02:00.stacktrace as approved.
ACRA                    org.jellyfin.androidtv.debug         D  Schedule report sending
ACRA                    org.jellyfin.androidtv.debug         D  Using PluginLoader to find ReportSender factories
ACRA                    org.jellyfin.androidtv.debug         D  SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@8b8ba6d
ACRA                    org.jellyfin.androidtv.debug         D  Loaded plugin from class : class org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSenderFactory
ACRA                    org.jellyfin.androidtv.debug         D  ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.sender.ReportSenderFactory]
ACRA                    org.jellyfin.androidtv.debug         D  reportSenderFactories : [org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSenderFactory@4122a04]
ACRA                    org.jellyfin.androidtv.debug         D  Adding reportSender : org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSender@7a14bed
ACRA                    org.jellyfin.androidtv.debug         D  Using PluginLoader to find ReportSender factories
ACRA                    org.jellyfin.androidtv.debug         D  SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@8b8ba6d
ACRA                    org.jellyfin.androidtv.debug         D  Loaded plugin from class : class org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSenderFactory
ACRA                    org.jellyfin.androidtv.debug         D  ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.sender.ReportSenderFactory]
ACRA                    org.jellyfin.androidtv.debug         D  reportSenderFactories : [org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSenderFactory@b1dba22]
ACRA                    org.jellyfin.androidtv.debug         D  Adding reportSender : org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSender@2aaccb3
ACRA                    org.jellyfin.androidtv.debug         D  Wait for Interactions + worker ended. Kill Application ? true
Process                 org.jellyfin.androidtv.debug         I  Sending signal. PID: 17747 SIG: 9
 ENDED (17747) for package org.jellyfin.androidtv.debug ----------------------------
InputDispatcher         system_process                       E  channel '1af8ba9 org.jellyfin.androidtv.debug/org.jellyfin.androidtv.ui.startup.StartupActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
 STARTED (17957) for package org.jellyfin.androidtv.debug ----------------------------
ACRA                    org.jellyfin.androidtv.debug         D  ACRA processName='org.jellyfin.androidtv.debug:acra'
ACRA                    org.jellyfin.androidtv.debug         D  Not initialising ACRA to listen for uncaught Exceptions as this is the SendWorker process and we only send reports, we don't capture them to avoid infinite loops
ACRA                    org.jellyfin.androidtv.debug         D  Registered content provider for authority org.jellyfin.androidtv.debug.acra
ACRA                    org.jellyfin.androidtv.debug         D  ACRA processName='org.jellyfin.androidtv.debug:acra'
ACRA                    org.jellyfin.androidtv.debug         D  About to start sending reports from SenderService
ACRA                    org.jellyfin.androidtv.debug         D  Using PluginLoader to find ReportSender factories
ACRA                    org.jellyfin.androidtv.debug         D  SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@e85bb38
ACRA                    org.jellyfin.androidtv.debug         D  Loaded plugin from class : class org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSenderFactory
ACRA                    org.jellyfin.androidtv.debug         D  ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.sender.ReportSenderFactory]
ACRA                    org.jellyfin.androidtv.debug         D  reportSenderFactories : [org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSenderFactory@34bf711]
ACRA                    org.jellyfin.androidtv.debug         D  Adding reportSender : org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSender@1e5c4b9
ACRA                    org.jellyfin.androidtv.debug         I  Sending report /data/user/0/org.jellyfin.androidtv.debug/app_ACRA-approved/2022-08-02T12:32:08.586+02:00.stacktrace
ACRA                    org.jellyfin.androidtv.debug         D  Sending report using org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSender
ACRA                    org.jellyfin.androidtv.debug         E  Failed to send crash reports for /data/user/0/org.jellyfin.androidtv.debug/app_ACRA-approved/2022-08-02T12:32:08.586+02:00.stacktrace
                                                                org.acra.sender.ReportSenderException: Policy marked this task as incomplete. ACRA will try to send this report again.
                                                                    at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.kt:109)
                                                                    at org.acra.sender.ReportDistributor.distribute(ReportDistributor.kt:65)
                                                                    at org.acra.sender.SendingConductor.sendReports(SendingConductor.kt:50)
                                                                    at org.acra.sender.JobSenderService.onStartJob$lambda-0(JobSenderService.kt:24)
                                                                    at org.acra.sender.JobSenderService.$r8$lambda$8hqjpgI4F1h0OfXMJ-OHV3fLVWk(Unknown Source:0)
                                                                    at org.acra.sender.JobSenderService$$ExternalSyntheticLambda0.run(Unknown Source:8)
                                                                    at java.lang.Thread.run(Thread.java:764)
                                                                Caused by: org.acra.sender.ReportSenderException: Unable to send crash report to server
                                                                    at org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSender.send(TelemetryService.kt:84)
                                                                    at org.acra.sender.ReportSender.send(ReportSender.kt:59)
                                                                    at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.kt:101)
                                                                    at org.acra.sender.ReportDistributor.distribute(ReportDistributor.kt:65) 
                                                                    at org.acra.sender.SendingConductor.sendReports(SendingConductor.kt:50) 
                                                                    at org.acra.sender.JobSenderService.onStartJob$lambda-0(JobSenderService.kt:24) 
                                                                    at org.acra.sender.JobSenderService.$r8$lambda$8hqjpgI4F1h0OfXMJ-OHV3fLVWk(Unknown Source:0) 
                                                                    at org.acra.sender.JobSenderService$$ExternalSyntheticLambda0.run(Unknown Source:8) 
                                                                    at java.lang.Thread.run(Thread.java:764) 
                                                                Caused by: org.acra.sender.ReportSenderException: No telemetry crash report URL available.
                                                                    at org.jellyfin.androidtv.telemetry.TelemetryService$AcraReportSender.send(TelemetryService.kt:59)
                                                                    at org.acra.sender.ReportSender.send(ReportSender.kt:59) 
                                                                    at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.kt:101) 
                                                                    at org.acra.sender.ReportDistributor.distribute(ReportDistributor.kt:65) 
                                                                    at org.acra.sender.SendingConductor.sendReports(SendingConductor.kt:50) 
                                                                    at org.acra.sender.JobSenderService.onStartJob$lambda-0(JobSenderService.kt:24) 
                                                                    at org.acra.sender.JobSenderService.$r8$lambda$8hqjpgI4F1h0OfXMJ-OHV3fLVWk(Unknown Source:0) 
                                                                    at org.acra.sender.JobSenderService$$ExternalSyntheticLambda0.run(Unknown Source:8) 
                                                                    at java.lang.Thread.run(Thread.java:764) 
ACRA                    org.jellyfin.androidtv.debug         D  Finished sending reports from SenderService

Application version

0.14

Where did you install the app from?

Sideloaded APK

Device information

Zidoo Z9X

Android version

Android 9

Jellyfin server version

10.8.1-3

nielsvanvelzen commented 2 years ago

Created https://github.com/jellyfin/jellyfin-sdk-kotlin/issues/448 to replace this issue. Will look into it for 0.14.1.

For now, just make sure your https configuration is correct.

Andy2244 commented 2 years ago

For now, just make sure your https configuration is correct.

What you mean? I have https disabled on the server and the client should use the normal http/8096 address?

Andy2244 commented 2 years ago

So the client gets just the http server adress via: LocalServerDiscovery org.jellyfin.androidtv.debug D Received message "{"Address":"http://192.168.1.101:8096","Id":"91a8a4347a3044df8144db5378c1c9a2","Name":"MEDIAPC","EndpointAddress":null}"

Yet in addServer() via val addressCandidates = jellyfin.discovery.getAddressCandidates(address) It adds the https candidate as first entry, which than crashes in jellyfin.discovery.getRecommendedServers() via:

Recommende...rDiscovery org.jellyfin.androidtv.debug         I  Requesting public system info for https://192.168.1.101:8096
KtorClient              org.jellyfin.androidtv.debug         I  GET https://192.168.1.101:8096/System/Info/Public

So why are we trying a https connection here, if the server already send the configured and valid http server address?

nielsvanvelzen commented 2 years ago

I tested the app again and now I understand the issue. Looks like the RecommendedServerDiscovery always crashes due to the SSL error. Working on a fix for 0.14.0 now.

nielsvanvelzen commented 2 years ago

Fixed on both master and release branch

Andy2244 commented 2 years ago

cool thanks