Skip to content

SoLoader causes instrumented tests to crash #94

Closed
@CiaraSouthgateTR

Description

@CiaraSouthgateTR

Bug Report

SoLoader looks for libfbjni in the .test path during instrumented tests. I am not sure how it makes that decision, since package name still reports without .test.
Since the tests use a debug variant, I don't see a way to prevent Flipper loading during instrumented tests.

java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/app/com.appscoop.takingroot.staging.test-1Dt01Y4N51I9qkS3sSAU3w==/base.apk!/lib/x86/libfbjni.so" not found
  at java.lang.Runtime.load0(Runtime.java:938)
  at java.lang.System.load(System.java:1631)
  at com.facebook.soloader.SoLoader$1.load(SoLoader.java:529)
  at com.facebook.soloader.DirectApkSoSource.loadLibrary(DirectApkSoSource.java:77)
  at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1038)
  at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:914)
  at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:826)
  at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:773)
  at com.facebook.soloader.NativeLoaderToSoLoaderDelegate.loadLibrary(NativeLoaderToSoLoaderDelegate.java:29)
  at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:51)
  at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:30)
  at com.facebook.jni.HybridData.<clinit>(HybridData.java:34)
  at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
libfbjni.so not found on /vendor/lib
libfbjni.so not found on /system/lib
couldn't find DSO to load: libfbjni.so
 SoSource 0: com.facebook.soloader.DirectorySoSource[root = /data/app/com.appscoop.takingroot.staging-_zWOlH2oMX4dVzDGOq6zXw==/lib/x86 flags = 0]
 SoSource 1: com.facebook.soloader.DirectApkSoSource[root = /data/app/com.appscoop.takingroot.staging.test-1Dt01Y4N51I9qkS3sSAU3w==/base.apk!/lib/x86]
 SoSource 2: com.facebook.soloader.DirectorySoSource[root = /vendor/lib flags = 2]
 SoSource 3: com.facebook.soloader.DirectorySoSource[root = /system/lib flags = 2]
 Native lib dir: /data/app/com.appscoop.takingroot.staging-_zWOlH2oMX4dVzDGOq6zXw==/lib/x86
 result: 0
FATAL EXCEPTION: FlipperEventBaseThread
Process: com.appscoop.takingroot.staging, PID: 5862
java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so
    SoSource 0: com.facebook.soloader.DirectorySoSource[root = /data/app/com.appscoop.takingroot.staging-_zWOlH2oMX4dVzDGOq6zXw==/lib/x86 flags = 0]
    SoSource 1: com.facebook.soloader.DirectApkSoSource[root = /data/app/com.appscoop.takingroot.staging.test-1Dt01Y4N51I9qkS3sSAU3w==/base.apk!/lib/x86]
    SoSource 2: com.facebook.soloader.DirectorySoSource[root = /vendor/lib flags = 2]
    SoSource 3: com.facebook.soloader.DirectorySoSource[root = /system/lib flags = 2]
    Native lib dir: /data/app/com.appscoop.takingroot.staging-_zWOlH2oMX4dVzDGOq6zXw==/lib/x86
result: 0
    at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1098)
    at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:914)
    at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:826)
    at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:773)
    at com.facebook.soloader.NativeLoaderToSoLoaderDelegate.loadLibrary(NativeLoaderToSoLoaderDelegate.java:29)
    at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:51)
    at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:30)
    at com.facebook.jni.HybridData.<clinit>(HybridData.java:34)
    at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
FATAL EXCEPTION: FlipperConnectionThread
Process: com.appscoop.takingroot.staging, PID: 5862
 java.lang.NoClassDefFoundError: <clinit> failed for class com.facebook.flipper.android.EventBase; see exception in other thread
    at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)

To Reproduce

Run an instrumented test

Environment

Android API 31
debugImplementation 'com.facebook.flipper:flipper:0.137.0'
debugImplementation 'com.facebook.soloader:soloader:0.10.3'
releaseImplementation 'com.facebook.flipper:flipper-noop:0.137.0'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions