Realm-js: [6.0.0] Android crash - cannot locate symbol "_ZN5realm4util9Scheduler12make_defaultEv" referenced by ".../librealmreact.so"

Created on 16 May 2020  路  11Comments  路  Source: realm/realm-js

Actual Results

java.lang.UnsatisfiedLinkError: couldn't find DSO to load: librealmreact.so caused by: dlopen failed: cannot locate symbol "_ZN5realm4util9Scheduler12make_defaultEv" referenced by "/data/app/appname/lib/arm64/librealmreact.so"... result: 0
at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:825)
at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:673)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:611)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:559)
at io.realm.react.RealmReactModule.(RealmReactModule.java:56)
at io.realm.react.RealmReactPackage.createNativeModules(RealmReactPackage.java:31)
at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.java:42)
at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:42)
at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1298)
at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1269)
at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1194)
at com.facebook.react.ReactInstanceManager.access$1000(ReactInstanceManager.java:132)
at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:996)
at java.lang.Thread.run(Thread.java:919)

Steps to Reproduce

Upgrade from 5.0.5, build and run application

5.0.5 is working, but 6.0.0 is not

Version of Realm and Tooling

  • Realm JS SDK Version: 6.0.0
  • Node or React Native: node 12.16.3 / 0.62.2
  • Client OS & Version: macOS Catalina version 10.15.5 Beta 4 (19F83c)
  • Which debugger for React Native: None
O-Community T-Bug

Most helpful comment

We have released v6.0.1 with a fix.

All 11 comments

i have same problem

Have the same problem

java.lang.UnsatisfiedLinkError: couldn't find DSO to load: librealmreact.so caused by: dlopen failed: 
cannot locate symbol "_ZN5realm4util9Scheduler12make_defaultEv" referenced by "/data
/app/com.appname-JqujoKSvN0CSa6Nf6Oy5FA==/lib/arm64/librealmreact.so"...
        at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:738)
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:591)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:529)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:484)
        at io.realm.react.RealmReactModule.<clinit>(RealmReactModule.java:56)
        at io.realm.react.RealmReactPackage.createNativeModules(RealmReactPackage.java:31)
        at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.java:42)
        at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:41)
        at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1215)
        at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1185)
        at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1123)
        at com.facebook.react.ReactInstanceManager.access$900(ReactInstanceManager.java:124)
        at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:948)
        at java.lang.Thread.run(Thread.java:764)

OS: Windows

"react": "16.9.0",
"react-native": "0.60.6",
"realm": "^6.0.0",

I tried to resolve it following old issues that were mainly connected with the target architecture. Is x64 still isn't compatible?

app/build.graddle

defaultConfig {
       ...
        ndk {
            abiFilters 'armeabi-v7a','arm64-v8a'
        }
    ...
    splits {
        abi {
            ...
            include "armeabi-v7a", "x86"
        }
    }
}
...
applicationVariants.all { variant ->
        variant.outputs.each { output ->
            ...
            def versionCodes = ["armeabi-v7a": 1, "x86": 2]
            ...
            }

        }
    }

I followed all instruction during the package installation

added to settings.graddle:

include ':realm'
project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android')

added to build.graddle dependency:

implementation project(':realm')

and finally added to MainApplication.java

...
import io.realm.react.RealmReactPackage;
...
 @Override
protected List<ReactPackage> getPackages() {
          @SuppressWarnings("UnnecessaryLocalVariable")
          ...
          packages.add(new RealmReactPackage());

          return packages;
}

Can confitm it works on version 5.0.5

We have released v6.0.1 with a fix.

We have released v6.0.1 with a fix.

it works debug mode after update but when i build release apk giving me same error.

I haven't tried a release apk, but I've created multiple release app bundles on Android with v6.0.1 and it's been working fine.

@PBird You might have to clear the build cache after upgrading.

@PBird You might have to clear the build cache after upgrading.

i tried still same problem.

No it's not working in "realm": "^6.0.1"
My app is getting crashed with error
Please help @kneth

i fixed with
def enableProguardInReleaseBuilds = false in app/build.gradle

i fixed with
def enableProguardInReleaseBuilds = false in app/build.gradle

Why should I disable proguard what if someone hacks into my app

Was this page helpful?
0 / 5 - 0 ratings