Libannotate.so Error

Description
We have integrated new 5.0+ Android Meeting SDK, in the sample app, we were able to initializeSDK successfully, when we are trying to join meeting see below 2 exceptions.

  1. JNI layer
    java_vm_ext.cc:579] JNI DETECTED ERROR IN APPLICATION: JNI CallIntMethodV called with pending exception java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol “__emutls_get_address” referenced by “/data/app/~~6TGQUSNNFDeKGu1_RghDQg==/com.xxx.xxxx-QPOMuX6bGfZCa83E7FyIFQ==/base.apk!/lib/arm64-v8a/libannotate.so”…
    java_vm_ext.cc:579] at void java.lang.Runtime.loadLibrary0(java.lang.ClassLoader, java.lang.Class, java.lang.String) (Runtime.java:1077)
    java_vm_ext.cc:579] at void java.lang.Runtime.loadLibrary0(java.lang.Class, java.lang.String) (Runtime.java:998)
    java_vm_ext.cc:579] at void java.lang.System.loadLibrary(java.lang.String) (System.java:1656)
    java_vm_ext.cc:579] at void com.zipow.videobox.mainboard.module.ZmSdkMainBoard.loadSDKConfAppNativeModules() (:8)
    java_vm_ext.cc:579] at void com.zipow.videobox.mainboard.module.ZmSdkMainBoard.createConfAppForSdk(java.lang.String) (:8)
    java_vm_ext.cc:579] at void com.zipow.videobox.VideoBoxApplication.initConfAppForSDK(java.lang.String) (:23)
    java_vm_ext.cc:579] at int com.zipow.videobox.VideoBoxApplication.startConfServiceForSDK(android.os.Bundle) (:8)
    java_vm_ext.cc:579] at int com.zipow.videobox.ptapp.ConfProcessMgr.createConfProcess(java.lang.String) (:13)
    java_vm_ext.cc:579] at void com.zipow.videobox.mainboard.Mainboard.notifyUrlActionImpl(java.lang.String) (:-2)
    java_vm_ext.cc:579] at void com.zipow.videobox.mainboard.Mainboard.notifyUrlAction(java.lang.String) (:5)

  2. Shared PReference Null pointer exception,

    Unable to start activity ComponentInfo{com.xxxx.xxxx/com.zipow.videobox.JoinByURLActivity}: java.lang.NullPointerException: Attempt to invoke interface method ‘android.content.SharedPreferences$Editor android.content.SharedPreferences.edit()’ on a null object reference
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4035)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)

Which Android Meeting SDK version?
v5.11.3.7251

  • Device: Samsung M30, Pixel 2XL

  • OS: [e.g. Android 10, 11]

  • The same credentials works fine to initialise the SDK

1 Like

1st crash is experienced by us as well, please provide any suggestion for that.

1 Like

Just to give more details on this

  • We have SIP module (pjsua2), which has the JNI libs libc++_shared, libpjsua2
  • When we try to integrate Zoom SDK(mobilertc and commonlib) we are getting compile exception saying

2 files found with path ‘lib/arm64-v8a/libc++_shared.so’ from inputs:

  • pjsua2/build/intermediates/library_jni/debug/jni/arm64-v8a/libc++_shared.so
  • /mobilertc/build/.transforms/445b8adf65ed1845334c5eaf41712982/transformed/jetified-mobilertc/jni/arm64-v8a/libc++_shared.so

I tried to use packageOptions pickfirst like below to resolve this

android{
  packagingOptions {
      pickFirst 'lib/x86/libc++_shared.so'
      pickFirst 'lib/x86_64/libc++_shared.so'
      pickFirst 'lib/armeabi-v7a/libc++_shared.so'
      pickFirst 'lib/arm64-v8a/libc++_shared.so'
  }
}

With this I am able to run the project with this I tried to invoke below

  • Initialise Zoom SDK - Success
  • When I am trying to join the call

ZoomSDK.getInstance().getMeetingService().joinMeetingWithParams

and the above exception continues

@appgolive.test @melodyonetwo12 , thanks for bringing this to our attention. We’ll look into this and get back to you shortly.

1 Like

@appgolive.test @melodyonetwo12 ,

Are you seeing this behavior when testing with the sample or only with the integrated application?

Sample app is working as expected because there is no conflict of the another lib, in my case the SIP lib is using the same lib and zoom using the same.

I tried to bring the SIP lib to the Sample app and the it’s the same issue.

@michael.zoom / @donte.zoom : Is there any update on above issue ?

Any update on this ?

@appgolive.test
Thank you for following up on this. Can you try to add the SDK required SDK’s required dependencies and see if that resolves the expectation you are seeing? Here a helpful developer forum post on this matter :

@donte.zoom , thats for the response. I m surprised that if the conflict is JNI layer as per the the logs, the regular dependency update mobilertc would solve this issue ?

I’m currently running into this same issue. Did the above suggestion solve the issue?

1 Like

This answer solves a different issue (and the dependencies are all present inside mobilertc/build.gradle).

The problem we’re experiencing is that the file libc++_shared.so is included twice (both by zoom and by another library), so if we use the pickFirst, the libc++_shared.so included in mobilertc.aar gets excluded and thus the join meeting can’t happen like this stacktrace shows:

E/AndroidRuntime(24299): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "**__emutls_get_address**" referenced by "/data/app/~~sg86A7GpgPaFNO3sZUpiKw==/xxx-flinoSjPs0QGiOE4wmhpxg==/base.apk!/lib/arm64-v8a/libannotate.so"...
E/AndroidRuntime(24299): at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
E/AndroidRuntime(24299): at java.lang.Runtime.loadLibrary0(Runtime.java:1008)
E/AndroidRuntime(24299): at java.lang.System.loadLibrary(System.java:1664)
E/AndroidRuntime(24299): at com.zipow.videobox.mainboard.module.ZmSdkMainBoard.loadSDKConfAppNativeModules(Unknown Source:43)
E/AndroidRuntime(24299): at com.zipow.videobox.mainboard.module.ZmSdkMainBoard.createConfAppForSdk(Unknown Source:36)
E/AndroidRuntime(24299): at com.zipow.videobox.VideoBoxApplication.initConfAppForSDK(Unknown Source:57)
E/AndroidRuntime(24299): at com.zipow.videobox.VideoBoxApplication.startConfServiceForSDK(Unknown Source:29)
E/AndroidRuntime(24299): at com.zipow.videobox.ptapp.ConfProcessMgr.createConfProcess(Unknown Source:55)
E/AndroidRuntime(24299): at com.zipow.videobox.mainboard.Mainboard.notifyUrlActionImpl(Native Method)
E/AndroidRuntime(24299): at com.zipow.videobox.mainboard.Mainboard.notifyUrlAction(Unknown Source:11)

The problem doesn’t happen if we include only the zoom library without other libraries that have the libc++_shared.so file.

@donte.zoom , thanks for the response. we tried this if we say pick first the other library is not finding the libc++_shared.so. We need the lib to be available for other lib as well/. Any clue on this ?

@appgolive.test,

Thank you for following up on this. I’ve been tied up with Zoomtopia, but I am looking into this and will get back to you with what I learn.

@appgolive.test,

Can you share which build.gradle file you added the packageOptions pickfirst ?

Here is the pickfirst added in build.gradle.

android{
  packagingOptions {
      pickFirst 'lib/x86/libc++_shared.so'
      pickFirst 'lib/x86_64/libc++_shared.so'
      pickFirst 'lib/armeabi-v7a/libc++_shared.so'
      pickFirst 'lib/arm64-v8a/libc++_shared.so'
  }
}

Thanks @appgolive.test! Looking into this and will share updates as they become available.

2 Likes

I have the same problem. The last ZoomSDK that worked for me was 5.10.3.5614, however, 5.11.0.6883 does not.

@donte.zoom Thnx for looking into this! Looking forward!