Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Look into SqlCipher issue being reported by OpenSea #859

Closed
Talhaali00 opened this issue May 9, 2023 · 1 comment
Closed

Look into SqlCipher issue being reported by OpenSea #859

Talhaali00 opened this issue May 9, 2023 · 1 comment
Assignees
Labels

Comments

@Talhaali00
Copy link
Contributor

Talhaali00 commented May 9, 2023

OpenSea has reported that they're seeing crash reports caused by SqlCipher in BOM 1.9.1. This issue is rarely seen on newer devices such as the Galaxy S23+.
Here is a link showing a potential fix.

Stacktrace:

Fatal Exception: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/io.opensea-3ICwnQ-BLCXCYQ9g35IzEg==/base.apk"],nativeLibraryDirectories=[/data/app/io.opensea-3ICwnQ-BLCXCYQ9g35IzEg==/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 net.sqlcipher.database.SQLiteDatabase$1.loadLibraries(SQLiteDatabase.java:227)
       at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:244)
       at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:223)
       at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:216)
       at net.sqlcipher.database.SupportHelper.<init>(SupportHelper.java:31)
       at net.sqlcipher.database.SupportFactory.create(SupportFactory.java:43)
       at com.squareup.sqldelight.android.AndroidSqliteDriver.<init>(AndroidSqliteDriver.kt:56)
       at com.squareup.sqldelight.android.AndroidSqliteDriver.<init>(AndroidSqliteDriver.kt:46)
       at com.walletconnect.android.di.CoreStorageModuleKt$coreStorageModule$1$1.invoke(CoreStorageModule.kt:154)
       at com.walletconnect.android.di.CoreStorageModuleKt$coreStorageModule$1$1.invoke(CoreStorageModule.kt:153)
       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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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.invoke$createCoreDB(BaseStorageModule.kt:468)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.access$invoke$createCoreDB(BaseStorageModule.kt:14)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$4.invoke(BaseStorageModule.kt:57)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$4.invoke(BaseStorageModule.kt:55)
       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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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:84)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$7.invoke(BaseStorageModule.kt:68)
       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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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:84)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$9.invoke(BaseStorageModule.kt:72)
       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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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.java:147)
       at com.walletconnect.android.CoreClient.initialize(CoreClient.java:67)
       at com.walletconnect.android.CoreClient.initialize$default(CoreClient.java:34)
       at io.opensea.walletconnect.v2.RealCoreClientWrapper.initialize(RealCoreClientWrapper.java:40)
       at io.opensea.walletconnect.v2.WalletConnectV2Initializer.initialize$impl_release(WalletConnectV2Initializer.java:36)
       at io.opensea.walletconnect.v2.WalletConnectV2Initializer$onCreate$1.invokeSuspend(WalletConnectV2Initializer.kt:25)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
       at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
       at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
       at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:570)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
@Talhaali00 Talhaali00 converted this from a draft issue May 9, 2023
@arein arein added the accepted label May 9, 2023
@Talhaali00
Copy link
Contributor Author

S23+ stacktrace

Fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: library "libsqlcipher.so" not found
       at java.lang.Runtime.loadLibrary0(Runtime.java:1077)
       at java.lang.Runtime.loadLibrary0(Runtime.java:998)
       at java.lang.System.loadLibrary(System.java:1656)
       at net.sqlcipher.database.SQLiteDatabase$1.loadLibraries(SQLiteDatabase.java:227)
       at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:244)
       at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:223)
       at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:216)
       at net.sqlcipher.database.SupportHelper.<init>(SupportHelper.java:31)
       at net.sqlcipher.database.SupportFactory.create(SupportFactory.java:43)
       at com.squareup.sqldelight.android.AndroidSqliteDriver.<init>(AndroidSqliteDriver.kt:56)
       at com.squareup.sqldelight.android.AndroidSqliteDriver.<init>(AndroidSqliteDriver.kt:46)
       at com.walletconnect.android.di.CoreStorageModuleKt$coreStorageModule$1$1.invoke(CoreStorageModule.kt:154)
       at com.walletconnect.android.di.CoreStorageModuleKt$coreStorageModule$1$1.invoke(CoreStorageModule.kt:153)
       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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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.invoke$createCoreDB(BaseStorageModule.kt:468)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1.access$invoke$createCoreDB(BaseStorageModule.kt:14)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$4.invoke(BaseStorageModule.kt:57)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$4.invoke(BaseStorageModule.kt:55)
       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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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:84)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$7.invoke(BaseStorageModule.kt:68)
       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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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:84)
       at com.walletconnect.android.internal.common.di.BaseStorageModuleKt$baseStorageModule$1$9.invoke(BaseStorageModule.kt:72)
       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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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.java:51)
       at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.java:20)
       at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
       at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.java: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.java:147)
       at com.walletconnect.android.CoreClient.initialize(CoreClient.java:67)
       at com.walletconnect.android.CoreClient.initialize$default(CoreClient.java:34)
       at io.opensea.walletconnect.v2.RealCoreClientWrapper.initialize(RealCoreClientWrapper.java:40)
       at io.opensea.walletconnect.v2.WalletConnectV2Initializer.initialize$impl_release(WalletConnectV2Initializer.java:36)
       at io.opensea.walletconnect.v2.WalletConnectV2Initializer$onCreate$1.invokeSuspend(WalletConnectV2Initializer.kt:25)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
       at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
       at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
       at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:570)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

@kacperoak kacperoak moved this from Prioritised to Code Review in Kotlin SDK May 9, 2023
@kacperoak kacperoak moved this from Code Review to Done in Kotlin SDK May 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

3 participants