WalletConnect / WalletConnectKotlinV2

WalletConnect Kotlin SDK v2
Apache License 2.0
254 stars 86 forks source link

Crash java.lang.UnsatisfiedLinkError "libsqlcipher.so" #1363

Open gvoltr opened 7 months ago

gvoltr commented 7 months ago

Describe the bug Getting crash reports related to WC SDK init

SDK Version

Device (please complete the following information):

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.unstoppabledomains.manager-FXWdIQtxTVeHaN4fJKwQhg==/base.apk"],nativeLibraryDirectories=[/data/app/com.unstoppabledomains.manager-FXWdIQtxTVeHaN4fJKwQhg==/lib/x86, /system/lib, /vendor/lib]]] couldn't find "libsqlcipher.so"
        at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
        at java.lang.System.loadLibrary(System.java:1657)
        at com.walletconnect.android.di.CoreStorageModuleKt.loadSqlCipherLibrary(CoreStorageModule.kt:167)
        at com.walletconnect.android.di.CoreStorageModuleKt.getSupportFactory(CoreStorageModule.kt:160)
        at com.walletconnect.android.di.CoreStorageModuleKt$coreStorageModule$1$1.invoke(CoreStorageModule.kt:187)
        at com.walletconnect.android.di.CoreStorageModuleKt$coreStorageModule$1$1.invoke(CoreStorageModule.kt:182)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:109)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:247)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:233)
        at org.koin.core.scope.Scope.get(Scope.kt:212)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.invoke$createCoreDB(BaseStorageModule.kt:698)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.access$invoke$createCoreDB(BaseStorageModule.kt:27)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$5.invoke(BaseStorageModule.kt:75)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$5.invoke(BaseStorageModule.kt:73)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:109)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:247)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:233)
        at org.koin.core.scope.Scope.get(Scope.kt:212)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$8.invoke(BaseStorageModule.kt:122)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$8.invoke(BaseStorageModule.kt:96)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:109)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:247)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:233)
        at org.koin.core.scope.Scope.get(Scope.kt:212)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$12.invoke(BaseStorageModule.kt:122)
        at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$12.invoke(BaseStorageModule.kt:104)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:109)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:247)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:233)
        at org.koin.core.scope.Scope.get(Scope.kt:212)
        at com.walletconnect.android.internal.common.di.CorePairingModuleKt$corePairingModule$1$1.invoke(CorePairingModule.kt:36)
        at com.walletconnect.android.internal.common.di.CorePairingModuleKt$corePairingModule$1$1.invoke(CorePairingModule.kt:9)
        at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
        at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55)
        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
        at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36)
        at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53)
        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:109)
        at org.koin.core.scope.Scope.resolveValue(Scope.kt:247)
        at org.koin.core.scope.Scope.resolveInstance(Scope.kt:233)
        at org.koin.core.scope.Scope.get(Scope.kt:212)
        at com.walletconnect.android.pairing.client.PairingProtocol.initialize(PairingProtocol.kt:171)
        at com.walletconnect.android.CoreProtocol.initialize(CoreProtocol.kt:98)
        at com.walletconnect.android.CoreClient.initialize(Unknown:39)
        at com.walletconnect.android.CoreInterface$DefaultImpls.initialize$default(CoreInterface.kt:27)
        at com.unstoppabledomains.manager.walletconnect.core.WCInitializer.initializeWC(WCInitializer.kt:41)
        at com.unstoppabledomains.manager.App.setupWC(App.kt:64)
        at com.unstoppabledomains.manager.App.onCreate(App.kt:36)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1119)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5740)
        at android.app.ActivityThread.-wrap1(Unknown)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Method.java:-2)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
jasonwyatt commented 5 months ago

We are also occasionally experiencing this. Seems to be mostly happening on Xiaomi and Samsung devices

marctatham commented 2 months ago

yep, affecting our application as well ➕

Probably a duplicate of: https://github.com/WalletConnect/WalletConnectKotlinV2/issues/1192