Skip to content

java.lang.UnsatisfiedLinkError: dlopen failed: library "liblkjingle_peerconnection_so.so" not found #572

Description

@tamimattafi

Describe the bug
The app crashes on some devices (According to Firebase Crashlytics report).
These devices are used by Play Store review team (Installed from .aab), we couldn't reproduce this crash using our devices and .apk files.

To Reproduce
Steps to reproduce the behavior (Version 2.11.0):

  1. Create Application class and link it in the Android Manifest
  2. Call Livekit.init(...) in onCreate

Expected behavior
The app successfully loads the .so library without crashes.

Stack trace

Fatal Exception: java.lang.RuntimeException: Unable to create application com.example.app.AndroidApplication: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "liblkjingle_peerconnection_so.so" not found
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6767)
       at android.app.ActivityThread.access$1500(ActivityThread.java:256)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2091)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7870)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)
       
Caused by java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "liblkjingle_peerconnection_so.so" not found
       at java.util.concurrent.FutureTask.report(FutureTask.java:123)
       at java.util.concurrent.FutureTask.get(FutureTask.java:193)
       at io.livekit.android.webrtc.peerconnection.RTCThreadUtilsKt.executeBlockingOnRTCThread(RTCThreadUtils.kt:87)
       at io.livekit.android.dagger.RTCModule.libWebrtcInitialization(RTCModule.java:97)
       at io.livekit.android.LiveKit.init(LiveKit.java:72)
       at com.example.app.AndroidApplication.onPreparing(AndroidApplication.kt:42)
       at com.example.app.BaseApplication.start(BaseApplication.java:44)
       at com.example.app.AndroidApplication.onCreate(AndroidApplication.kt:37)
       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1223)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6762)
       at android.app.ActivityThread.access$1500(ActivityThread.java:256)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2091)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7870)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)
       
Caused by java.lang.UnsatisfiedLinkError: dlopen failed: library "liblkjingle_peerconnection_so.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 livekit.org.webrtc.NativeLibrary$DefaultLoader.load(NativeLibrary.java:20)
       at livekit.org.webrtc.NativeLibrary.initialize(NativeLibrary.java:41)
       at livekit.org.webrtc.PeerConnectionFactory.initialize(PeerConnectionFactory.java:297)
       at io.livekit.android.dagger.RTCModule$libWebrtcInitialization$1.invoke(RTCModule.kt:100)
       at io.livekit.android.dagger.RTCModule$libWebrtcInitialization$1.invoke(RTCModule.kt:97)
       at io.livekit.android.webrtc.peerconnection.RTCThreadUtilsKt.executeBlockingOnRTCThread$lambda$1(RTCThreadUtils.kt:87)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:920)

Device Info:
According to Firebase Crashlytics, the app crashes on these devices:

  • Pixel 6 Pro - Android 12
  • OnePlus8Pro - Android 11
  • Android SDK Built For Arm64 - Android 12

Additional context
The app wasn't rolled out, these reports came during app review in Play Console. None of these reports came from our devices, which used .apk or deployed from Android Studio.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions