WalletConnect / WalletConnectKotlinV2

WalletConnect Kotlin SDK v2
Apache License 2.0
197 stars 70 forks source link

ANR on init android-core and web3wallet #977

Open jchau207 opened 1 year ago

jchau207 commented 1 year ago

Describe the bug Our users are encountering ANR during CoreClient.initialize() or Web3Wallet.Initialize

ANR:  Input dispatching timed out (server) is not responding. Waited 5001ms for FocusEvent(hasFocus=false))
        at net.sqlcipher.database.SQLiteCompiledSql.native_compile(SQLiteCompiledSql.java:-2)
        at net.sqlcipher.database.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:89)
        at net.sqlcipher.database.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:62)
        at net.sqlcipher.database.SQLiteProgram.<init>(SQLiteProgram.java:91)
        at net.sqlcipher.database.SQLiteQuery.<init>(SQLiteQuery.java:48)
        at net.sqlcipher.database.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:60)
        at net.sqlcipher.database.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:2016)
        at net.sqlcipher.database.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1902)
        at net.sqlcipher.database.SQLiteDatabase.keyDatabase(SQLiteDatabase.java:2669)
        at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2599)
        at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1247)
        at net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1322)
        at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:166)
        at net.sqlcipher.database.SupportHelper.getWritableDatabase(SupportHelper.java:83)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$database$2.invoke(AndroidSqliteDriver.kt:34)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$database$2.invoke(AndroidSqliteDriver.kt:33)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.getDatabase(AndroidSqliteDriver.kt:33)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.access$getDatabase(AndroidSqliteDriver.kt:23)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$executeQuery$1.invoke(AndroidSqliteDriver.kt:149)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$executeQuery$1.invoke(AndroidSqliteDriver.kt:149)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.execute(AndroidSqliteDriver.kt:123)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.executeQuery(AndroidSqliteDriver.kt:149)
        at com.squareup.sqldelight.db.SqlDriver$DefaultImpls.executeQuery$default(SqlDriver.kt:35)
        at com.squareup.sqldelight.SimpleQuery.execute(Query.kt:69)
        at com.squareup.sqldelight.Query.executeAsOneOrNull(Query.kt:159)
        at com.walletconnect.sign.di.StorageModuleKt$storageModule$1$1.invoke(StorageModule.kt:62)
        at com.walletconnect.sign.di.StorageModuleKt$storageModule$1$1.invoke(StorageModule.kt:60)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:52)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:106)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
        at org.koin.core.scope.Scope.get(Scope.kt:210)
        at com.walletconnect.sign.di.StorageModuleKt$storageModule$1$2.invoke(StorageModule.kt:106)
        at com.walletconnect.sign.di.StorageModuleKt$storageModule$1$2.invoke(StorageModule.kt:69)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:52)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:106)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
        at org.koin.core.scope.Scope.get(Scope.kt:210)
        at com.walletconnect.sign.di.StorageModuleKt$storageModule$1$8.invoke(StorageModule.kt:106)
        at com.walletconnect.sign.di.StorageModuleKt$storageModule$1$8.invoke(StorageModule.kt:93)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:52)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:106)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
        at org.koin.core.scope.Scope.get(Scope.kt:210)
        at com.walletconnect.sign.di.EngineModuleKt$engineModule$1$3.invoke(EngineModule.kt:25)
        at com.walletconnect.sign.di.EngineModuleKt$engineModule$1$3.invoke(EngineModule.kt:19)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:52)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:106)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
        at org.koin.core.scope.Scope.get(Scope.kt:210)
        at com.walletconnect.sign.client.SignProtocol.initialize(SignProtocol.kt:348)
        at com.walletconnect.sign.client.SignClient.initialize(Unknown:17)
        at com.walletconnect.web3.wallet.client.Web3Wallet.initialize(Web3Wallet.kt:93)
        at com.walletconnect.web3.wallet.client.Web3Wallet.initialize$default(Web3Wallet.kt:87)
ANR:  Input dispatching timed out (server) is not responding. Waited 8002ms for MotionEvent)
        at net.sqlcipher.database.SQLiteDatabase.native_execSQL(SQLiteDatabase.java:-2)
        at net.sqlcipher.database.SQLiteDatabase.execSQL(SQLiteDatabase.java:2439)
        at net.sqlcipher.database.SQLiteDatabase.endTransaction(SQLiteDatabase.java:834)
        at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:188)
        at net.sqlcipher.database.SupportHelper.getWritableDatabase(SupportHelper.java:83)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$database$2.invoke(AndroidSqliteDriver.kt:34)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$database$2.invoke(AndroidSqliteDriver.kt:33)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.getDatabase(AndroidSqliteDriver.kt:33)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.access$getDatabase(AndroidSqliteDriver.kt:23)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$executeQuery$1.invoke(AndroidSqliteDriver.kt:149)
        at com.squareup.sqldelight.android.AndroidSqliteDriver$executeQuery$1.invoke(AndroidSqliteDriver.kt:149)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.execute(AndroidSqliteDriver.kt:123)
        at com.squareup.sqldelight.android.AndroidSqliteDriver.executeQuery(AndroidSqliteDriver.kt:149)
        at com.squareup.sqldelight.db.SqlDriver$DefaultImpls.executeQuery$default(SqlDriver.kt:35)
        at com.squareup.sqldelight.SimpleQuery.execute(Query.kt:69)
        at com.squareup.sqldelight.Query.executeAsOneOrNull(Query.kt:159)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$4.invoke(BaseStorageModule.kt:58)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$4.invoke(BaseStorageModule.kt:56)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:52)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:106)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
        at org.koin.core.scope.Scope.get(Scope.kt:210)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$7.invoke(BaseStorageModule.kt:87)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$7.invoke(BaseStorageModule.kt:69)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:52)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:106)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
        at org.koin.core.scope.Scope.get(Scope.kt:210)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$9.invoke(BaseStorageModule.kt:87)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$9.invoke(BaseStorageModule.kt:73)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:52)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:106)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
        at org.koin.core.scope.Scope.get(Scope.kt:210)
        at com.walletconnect.android.internal.common.di.CorePairingModuleKt$corePairingModule$1$1.invoke(CorePairingModule.kt:18)
        at com.walletconnect.android.internal.common.di.CorePairingModuleKt$corePairingModule$1$1.invoke(CorePairingModule.kt:10)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:52)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:106)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
        at org.koin.core.scope.Scope.get(Scope.kt:210)
        at com.walletconnect.android.pairing.client.PairingProtocol.initialize$sdk_release(PairingProtocol.kt:147)
        at com.walletconnect.android.CoreClient.initialize(CoreClient.kt:79)
        at com.walletconnect.android.CoreClient.initialize$default(CoreClient.kt:44)
        at com.bitcoin.walletconnect.v2.WCClientV2.<init>(WCClientV2.kt:67)

SDK Version

To Reproduce Steps to reproduce the behavior:

  1. user Dagger to to inject CoreClient.initialize/Web3Wallet.initialize
  2. ANR happen during initalization

Expected behavior No ANR

Screenshots If applicable, add screenshots to help explain your problem.

Device (please complete the following information):

jakubuid commented 1 year ago

@jchau207 Could you provide please a code snippet where you initialize SDKs?

jchau207 commented 1 year ago

We created a library wrapper around the SDK, we initialize via Hilt/Dagger in our app:

    @Singleton
    @Provides
    fun providesWalletConnect(@ApplicationContext context: Context, applicationLifecycle: Lifecycle): WalletConnect {
        return WalletConnect.getInstance(
            sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context),
            coroutineScope = applicationLifecycle.coroutineScope,
            application = context as Application
        )
    }
WCClientV2(
    callbacks: ClientCallback,
    application: Application,
    val wcSessionStorage: WCSessionStore<WCSessionStoreModel.WCV2SessionStoreItem>,
    private val coroutineScope: LifecycleCoroutineScope
) : WalletConnect<WCSession.WCSessionV2, WCSessionStoreModel.WCV2SessionStoreItem, WCReconnectModel.WCV2Model> {

    private var accountAddressesPerChainId: Map<Int, List<String>>? = null

    private var currentActiveSession: Wallet.Model.Session? = null

    private var callbacks: ClientCallback? = null

    private val gson = GsonBuilder()
        .serializeNulls()
        .registerTypeAdapter(ethTransactionSerializer)
        .create()

    init {

        this.callbacks = callbacks

        val serverUrl = "wss://${BuildConfig.RELAY_URL}?projectId=${BuildConfig.WC_V2_PROJECT_ID}"
        val appMetaData = Core.Model.AppMetaData(
            name = "BWallet",
            description = "Multi-coin crypto wallet",
            url = "",
            icons = listOf("https://www.bitcoin.com/icons/icon-256x256.png"),
            redirect = "kotlin-web3wallet:/request"
        )

        CoreClient.initialize(
            relayServerUrl = serverUrl,
            connectionType = ConnectionType.AUTOMATIC,
            application = application,
            metaData = appMetaData
        ) { error ->
        }

        Web3Wallet.initialize(Wallet.Params.Init(core = CoreClient)) { error ->
            Timber.e("Web3Wallet.initialize error $error")
        }
}
jakubuid commented 1 year ago

@jchau207 can you share the number of affected users?

jchau207 commented 1 year ago

@jakubuid

~133 users are affected by this with some users encountering multiple times

Screen Shot 2023-07-06 at 11 58 20
jasonwyatt commented 6 months ago

We are also having issues with ANRs in this codepath.

# Crashlytics - Stack trace
# Application: [redacted]
# Platform: android
# Version: [redacted]
# Issue: a6642327c605098649a32a24f3018dbe
# Session: 65E6908B0365000165F95E78242FA170_DNE_0_v2
# Date: Mon Mar 04 2024 19:25:59 GMT-0800 (Pacific Standard Time)

main (runnable):tid=1 systid=26105 
       at app.cash.sqldelight.EnumColumnAdapterKt.EnumColumnAdapter(EnumColumnAdapter.kt:30)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$3.invoke(BaseStorageModule.kt:66)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$3.invoke(BaseStorageModule.kt:66)
       at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:51)
       at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116)
       at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
       at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
       at org.koin.core.scope.Scope.get(Scope.kt:210)
       at org.koin.core.scope.Scope.get$default(Scope.kt:133)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.invoke$createCoreDB(BaseStorageModule.kt:27)
       at org.koin.core.scope.Scope.get$default(Scope.java:133)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.invoke$createCoreDB(BaseStorageModule.kt:29)
       at org.koin.core.scope.Scope.get$default(Scope.java:133)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.invoke$createCoreDB(BaseStorageModule.kt:30)
       at org.koin.core.scope.Scope.get$default(Scope.java:133)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.invoke$createCoreDB(BaseStorageModule.kt:33)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.invoke(BaseStorageModule.kt:24)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.access$invoke$createCoreDB(BaseStorageModule.kt:24)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$5.invoke(BaseStorageModule.kt:73)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$5.invoke(BaseStorageModule.kt:71)
       at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:51)
       at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116)
       at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
       at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
       at org.koin.core.scope.Scope.get(Scope.kt:210)
       at org.koin.core.scope.Scope.get$default(Scope.kt:133)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$8.invoke(BaseStorageModule.kt:84)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$8.invoke(BaseStorageModule.kt:84)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$8.invoke(BaseStorageModule.kt:84)
       at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:51)
       at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116)
       at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
       at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
       at org.koin.core.scope.Scope.get(Scope.kt:210)
       at org.koin.core.scope.Scope.get$default(Scope.kt:133)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$11.invoke(BaseStorageModule.kt:90)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$11.invoke(BaseStorageModule.kt:90)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$11.invoke(BaseStorageModule.kt:90)
       at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:51)
       at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116)
       at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
       at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
       at org.koin.core.scope.Scope.get(Scope.kt:210)
       at org.koin.core.scope.Scope.get$default(Scope.kt:133)
       at com.walletconnect.android.internal.common.di.CorePairingModuleKt$corePairingModule$1$1.invoke(CorePairingModule.kt:9)
       at com.walletconnect.android.internal.common.di.CorePairingModuleKt$corePairingModule$1$1.invoke(CorePairingModule.kt:9)
       at com.walletconnect.android.internal.common.di.CorePairingModuleKt$corePairingModule$1$1.invoke(CorePairingModule.kt:9)
       at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:51)
       at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
       at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:116)
       at org.koin.core.scope.Scope.resolveValue(Scope.kt:246)
       at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
       at org.koin.core.scope.Scope.get(Scope.kt:210)
       at org.koin.core.scope.Scope.get$default(Scope.kt:133)
       at com.walletconnect.android.pairing.client.PairingProtocol.initialize(PairingProtocol.kt:26)
       at com.walletconnect.android.CoreProtocol.initialize(CoreProtocol.kt:92)
       at com.walletconnect.android.CoreClient.initialize(CoreClient.kt)
       at com.walletconnect.android.CoreInterface$DefaultImpls.initialize$default(CoreInterface.kt:25)
       [redacted]
       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1268)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6927)
       at android.app.ActivityThread.-$$Nest$mhandleBindApplication(unavailable)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2219)
       at android.os.Handler.dispatchMessage(Handler.java:111)
       at android.os.Looper.loopOnce(Looper.java:238)
       at android.os.Looper.loop(Looper.java:357)
       at android.app.ActivityThread.main(ActivityThread.java:8088)
       at java.lang.reflect.Method.invoke(Native method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:957)

pool-20-thread-1 (timed waiting):tid=2 systid=27138 
       at java.lang.Object.wait(Native method)
       at java.lang.Object.wait(Object.java:386)
       at com.google.android.gms.internal.measurement.zzbz.zzb(com.google.android.gms:play-services-measurement-base@@21.3.0:2)
       at com.google.android.gms.internal.measurement.zzbz.zzd(com.google.android.gms:play-services-measurement-base@@21.3.0:1)
       at com.google.android.gms.internal.measurement.zzef.zzl(com.google.android.gms:play-services-measurement-sdk-api@@21.3.0:3)
       at com.google.firebase.analytics.zzb.call(com.google.android.gms:play-services-measurement-api@@21.3.0:1)
       at com.google.android.gms.tasks.zzz.run(com.google.android.gms:play-services-tasks@@18.0.2:1)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

ReferenceQueueDaemon (waiting):tid=9 systid=26134 
       at java.lang.Object.wait(Native method)
       at java.lang.Object.wait(Object.java:386)
       at java.lang.Object.wait(Object.java:524)
       at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:239)
       at java.lang.Daemons$Daemon.run(Daemons.java:145)
       at java.lang.Thread.run(Thread.java:1012)

FinalizerDaemon (waiting):tid=11 systid=26135 
       at java.lang.Object.wait(Native method)
       at java.lang.Object.wait(Object.java:386)
       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:210)
       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:231)
       at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:309)
       at java.lang.Daemons$Daemon.run(Daemons.java:145)
       at java.lang.Thread.run(Thread.java:1012)

FinalizerWatchdogDaemon (waiting):tid=12 systid=26136 
       at java.lang.Object.wait(Native method)
       at java.lang.Object.wait(Object.java:386)
       at java.lang.Object.wait(Object.java:524)
       at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:428)
       at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:408)
       at java.lang.Daemons$Daemon.run(Daemons.java:145)
       at java.lang.Thread.run(Thread.java:1012)

GmsDynamite (waiting):tid=26 systid=26322 
       at java.lang.Object.wait(Native method)
       at java.lang.Object.wait(Object.java:386)
       at java.lang.Object.wait(Object.java:524)
       at com.google.android.gms.dynamite.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2)

Measurement Worker (timed waiting):tid=38 systid=26483 
       at java.lang.Object.wait(Native method)
       at java.lang.Object.wait(Object.java:386)
       at m.kt.run(:com.google.android.gms.dynamite_measurementdynamite@240713038@24.07.13 (190400-0):71)

DefaultDispatcher-worker-1 (timed waiting):tid=3 systid=27187 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

DefaultDispatcher-worker-2 (timed waiting):tid=4 systid=27188 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

WifiManagerThread (native):tid=5 systid=27205 
#00 pc 0xaca68 libc.so (__epoll_pwait + 8) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x17ebc libutils.so (android::Looper::pollInner + 188) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#02 pc 0x17da0 libutils.so (android::Looper::pollOnce + 112) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#03 pc 0x161a2c libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce + 44) (BuildId: 3d034d09af561109718da7fea59f28ba)
       at android.os.MessageQueue.nativePollOnce(Native method)
       at android.os.MessageQueue.next(MessageQueue.java:342)
       at android.os.Looper.loopOnce(Looper.java:182)
       at android.os.Looper.loop(Looper.java:357)
       at android.os.HandlerThread.run(HandlerThread.java:85)

Signal Catcher (runnable):tid=6 systid=26127 
#00 pc 0x4bf790 libart.so (art::DumpNativeStack + 108) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#01 pc 0x4b2940 libart.so (art::Thread::DumpStack const + 388) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#02 pc 0x4b2280 libart.so (art::DumpCheckpoint::Run + 164) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#03 pc 0x3b52c4 libart.so (art::ThreadList::RunCheckpoint + 452) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#04 pc 0x4ca8fc libart.so (art::ThreadList::Dump + 232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#05 pc 0x4ca260 libart.so (art::ThreadList::DumpForSigQuit + 244) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#06 pc 0x4c7b00 libart.so (art::Runtime::DumpForSigQuit + 48) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#07 pc 0x4c6ff0 libart.so (art::SignalCatcher::HandleSigQuit + 452) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#08 pc 0x4c6b68 libart.so (art::SignalCatcher::Run + 264) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#09 pc 0xc16dc libc.so (__pthread_start + 204) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#10 pc 0x54b30 libc.so (__start_thread + 64) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)

HeapTaskDaemon (waiting):tid=7 systid=26133 
#00 pc 0x4f760 libc.so (syscall + 32) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x28d79c libart.so (art::ConditionVariable::TimedWait + 252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#02 pc 0x39e358 libart.so (art::gc::TaskProcessor::GetTask + 196) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#03 pc 0x39e214 libart.so (art::gc::TaskProcessor::RunAllTasks + 48) (BuildId: 02bec5940be704b863f6514fc7d81c41)
       at dalvik.system.VMRuntime.runHeapTasks(Native method)
       at java.lang.Daemons$HeapTaskDaemon.runInternal(Daemons.java:687)
       at java.lang.Daemons$Daemon.run(Daemons.java:145)
       at java.lang.Thread.run(Thread.java:1012)

perfetto_hprof_listener (native):tid=8 systid=26131 
#00 pc 0xab7a4 libc.so (read + 4) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x26510 libperfetto_hprof.so (void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ArtPlugin_Initialize::$_7> > + 316) (BuildId: 888fccb98ffaab10da6d2a68e2c3df1c)
#02 pc 0xc16dc libc.so (__pthread_start + 204) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#03 pc 0x54b30 libc.so (__start_thread + 64) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)

Jit thread pool worker thread 0 (native):tid=10 systid=26132 
#00 pc 0x4f75c libc.so (syscall + 28) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x232858 libart.so (art::ConditionVariable::WaitHoldingLocks + 140) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#02 pc 0x5a7514 libart.so (art::ThreadPool::GetTask + 120) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#03 pc 0x5a7300 libart.so (art::ThreadPoolWorker::Run + 136) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#04 pc 0x5a71dc libart.so (art::ThreadPoolWorker::Callback + 164) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#05 pc 0xc16dc libc.so (__pthread_start + 204) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#06 pc 0x54b30 libc.so (__start_thread + 64) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)

binder:26105_1 (native):tid=13 systid=26143 
#00 pc 0xaba84 libc.so (__ioctl + 4) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x5db9c libc.so (ioctl + 156) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#02 pc 0x5b378 libbinder.so (android::IPCThreadState::talkWithDriver + 280) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#03 pc 0x5b668 libbinder.so (android::IPCThreadState::getAndExecuteCommand + 24) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#04 pc 0x5bf84 libbinder.so (android::IPCThreadState::joinThreadPool + 68) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#05 pc 0x8bdc8 libbinder.so (android::PoolThread::threadLoop + 24) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#06 pc 0x13440 libutils.so (android::Thread::_threadLoop + 416) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#07 pc 0xca67c libandroid_runtime.so (android::AndroidRuntime::javaThreadShell + 140) (BuildId: 3d034d09af561109718da7fea59f28ba)
#08 pc 0xc16dc libc.so (__pthread_start + 204) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#09 pc 0x54b30 libc.so (__start_thread + 64) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)

binder:26105_2 (native):tid=14 systid=26151 
#00 pc 0xaba84 libc.so (__ioctl + 4) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x5db9c libc.so (ioctl + 156) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#02 pc 0x5b378 libbinder.so (android::IPCThreadState::talkWithDriver + 280) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#03 pc 0x5b668 libbinder.so (android::IPCThreadState::getAndExecuteCommand + 24) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#04 pc 0x5bf84 libbinder.so (android::IPCThreadState::joinThreadPool + 68) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#05 pc 0x8bdc8 libbinder.so (android::PoolThread::threadLoop + 24) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#06 pc 0x13440 libutils.so (android::Thread::_threadLoop + 416) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#07 pc 0xca67c libandroid_runtime.so (android::AndroidRuntime::javaThreadShell + 140) (BuildId: 3d034d09af561109718da7fea59f28ba)
#08 pc 0xc16dc libc.so (__pthread_start + 204) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#09 pc 0x54b30 libc.so (__start_thread + 64) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)

binder:26105_3 (native):tid=15 systid=26154 
#00 pc 0xaba84 libc.so (__ioctl + 4) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x5db9c libc.so (ioctl + 156) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#02 pc 0x5b378 libbinder.so (android::IPCThreadState::talkWithDriver + 280) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#03 pc 0x5b668 libbinder.so (android::IPCThreadState::getAndExecuteCommand + 24) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#04 pc 0x5bf84 libbinder.so (android::IPCThreadState::joinThreadPool + 68) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#05 pc 0x8bdc8 libbinder.so (android::PoolThread::threadLoop + 24) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#06 pc 0x13440 libutils.so (android::Thread::_threadLoop + 416) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#07 pc 0xca67c libandroid_runtime.so (android::AndroidRuntime::javaThreadShell + 140) (BuildId: 3d034d09af561109718da7fea59f28ba)
#08 pc 0xc16dc libc.so (__pthread_start + 204) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#09 pc 0x54b30 libc.so (__start_thread + 64) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)

binder:26105_4 (native):tid=16 systid=26156 
#00 pc 0x4f75c libc.so (syscall + 28) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x232858 libart.so (art::ConditionVariable::WaitHoldingLocks + 140) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#02 pc 0x55dcbc libart.so (art::JNI<false>::CallBooleanMethodV + 952) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#03 pc 0xc17b8 libandroid_runtime.so (_JNIEnv::CallBooleanMethod + 120) (BuildId: 3d034d09af561109718da7fea59f28ba)
#04 pc 0x17483c libandroid_runtime.so (JavaBBinder::onTransact + 156) (BuildId: 3d034d09af561109718da7fea59f28ba)
#05 pc 0x50a4c libbinder.so (android::BBinder::transact + 236) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#06 pc 0x5bbb4 libbinder.so (android::IPCThreadState::executeCommand + 1012) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#07 pc 0x5b6f0 libbinder.so (android::IPCThreadState::getAndExecuteCommand + 160) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#08 pc 0x5bf84 libbinder.so (android::IPCThreadState::joinThreadPool + 68) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#09 pc 0x8bdc8 libbinder.so (android::PoolThread::threadLoop + 24) (BuildId: 06d25d0fbf9dd245041b80a4d2204ff6)
#10 pc 0x13440 libutils.so (android::Thread::_threadLoop + 416) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#11 pc 0xca67c libandroid_runtime.so (android::AndroidRuntime::javaThreadShell + 140) (BuildId: 3d034d09af561109718da7fea59f28ba)
#12 pc 0xc16dc libc.so (__pthread_start + 204) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#13 pc 0x54b30 libc.so (__start_thread + 64) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)

Profile Saver (native):tid=17 systid=26218 
#00 pc 0x4f75c libc.so (syscall + 28) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x232858 libart.so (art::ConditionVariable::WaitHoldingLocks + 140) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#02 pc 0x3cfc2c libart.so (art::ProfileSaver::Run + 864) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#03 pc 0x3c5e70 libart.so (art::ProfileSaver::RunProfileSaverThread + 152) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#04 pc 0xc16dc libc.so (__pthread_start + 204) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#05 pc 0x54b30 libc.so (__start_thread + 64) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)

pool-2-thread-1 (waiting):tid=18 systid=26242 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

Firebase-Messaging-Init (waiting):tid=19 systid=26274 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2)
       at java.lang.Thread.run(Thread.java:1012)

pool-7-thread-1 (waiting):tid=20 systid=26271 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

ScionFrontendApi (timed waiting):tid=21 systid=26301 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
       at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:460)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

Firebase-Messaging-Topics-Io (waiting):tid=22 systid=26277 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2)
       at java.lang.Thread.run(Thread.java:1012)

Crashlytics Exception Handler1 (waiting):tid=23 systid=26303 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67)
       at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
       at java.lang.Thread.run(Thread.java:1012)

com.google.firebase.crashlytics.startup1 (waiting):tid=24 systid=26315 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67)
       at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
       at java.lang.Thread.run(Thread.java:1012)

Firebase Background Thread #0 (waiting):tid=25 systid=26316 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:1012)

awaitEvenIfOnMainThread task continuation executor1 (waiting):tid=27 systid=26323 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67)
       at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
       at java.lang.Thread.run(Thread.java:1012)

Firebase Blocking Thread #0 (timed waiting):tid=28 systid=26324 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
       at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
       at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:1012)

Firebase Background Thread #1 (waiting):tid=29 systid=26327 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:1012)

WM.task-1 (waiting):tid=30 systid=26356 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

Firebase Blocking Thread #3 (timed waiting):tid=31 systid=26334 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
       at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
       at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:1012)

Firebase Blocking Thread #1 (timed waiting):tid=32 systid=26332 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
       at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
       at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:1012)

Firebase Blocking Thread #2 (timed waiting):tid=33 systid=26333 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
       at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
       at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:1012)

ConnectivityThread (native):tid=34 systid=26443 
#00 pc 0xaca68 libc.so (__epoll_pwait + 8) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x17ebc libutils.so (android::Looper::pollInner + 188) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#02 pc 0x17da0 libutils.so (android::Looper::pollOnce + 112) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#03 pc 0x161a2c libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce + 44) (BuildId: 3d034d09af561109718da7fea59f28ba)
       at android.os.MessageQueue.nativePollOnce(Native method)
       at android.os.MessageQueue.next(MessageQueue.java:342)
       at android.os.Looper.loopOnce(Looper.java:182)
       at android.os.Looper.loop(Looper.java:357)
       at android.os.HandlerThread.run(HandlerThread.java:85)

WM.task-2 (waiting):tid=35 systid=26458 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

WM.task-3 (waiting):tid=36 systid=26464 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

WM.task-4 (waiting):tid=37 systid=26472 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

queued-work-looper (native):tid=39 systid=26528 
#00 pc 0xaca68 libc.so (__epoll_pwait + 8) (BuildId: 17a12b6978edb6241cd9e72d2d65a578)
#01 pc 0x17ebc libutils.so (android::Looper::pollInner + 188) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#02 pc 0x17da0 libutils.so (android::Looper::pollOnce + 112) (BuildId: 10aac5d4a671e4110bc00c9b69d83d8a)
#03 pc 0x161a2c libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce + 44) (BuildId: 3d034d09af561109718da7fea59f28ba)
       at android.os.MessageQueue.nativePollOnce(Native method)
       at android.os.MessageQueue.next(MessageQueue.java:342)
       at android.os.Looper.loopOnce(Looper.java:182)
       at android.os.Looper.loop(Looper.java:357)
       at android.os.HandlerThread.run(HandlerThread.java:85)

Firebase Background Thread #2 (waiting):tid=40 systid=26544 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:1012)

Firebase Background Thread #3 (waiting):tid=41 systid=26641 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:1012)

kotlinx.coroutines.DefaultExecutor (timed waiting):tid=42 systid=27212 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
       at kotlinx.coroutines.DefaultExecutor.run(DefaultExecutor.kt:122)
       at java.lang.Thread.run(Thread.java:1012)

DefaultDispatcher-worker-3 (timed waiting):tid=43 systid=27225 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

RxSchedulerPurge-1 (timed waiting):tid=44 systid=27311 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1188)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

RxCachedWorkerPoolEvictor-1 (timed waiting):tid=45 systid=27312 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1188)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

DefaultDispatcher-worker-5 (timed waiting):tid=46 systid=27674 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

DefaultDispatcher-worker-4 (timed waiting):tid=47 systid=27673 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

DefaultDispatcher-worker-7 (timed waiting):tid=48 systid=27680 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

RxComputationThreadPool-1 (waiting):tid=49 systid=27677 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

DefaultDispatcher-worker-8 (timed waiting):tid=50 systid=27676 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

DefaultDispatcher-worker-6 (timed waiting):tid=51 systid=27675 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

RxComputationThreadPool-8 (waiting):tid=52 systid=27687 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

RxComputationThreadPool-2 (waiting):tid=53 systid=27682 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

RxComputationThreadPool-4 (waiting):tid=54 systid=27684 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

RxComputationThreadPool-3 (waiting):tid=55 systid=27683 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

DefaultDispatcher-worker-11 (timed waiting):tid=56 systid=27679 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

DefaultDispatcher-worker-9 (timed waiting):tid=57 systid=27681 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

RxComputationThreadPool-6 (waiting):tid=58 systid=27686 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

DefaultDispatcher-worker-10 (timed waiting):tid=59 systid=27678 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

RxComputationThreadPool-7 (waiting):tid=60 systid=27688 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)

RxComputationThreadPool-5 (waiting):tid=61 systid=27685 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
       at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
       at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)