Flipper for Android crashes on startup on systems using a 16KB Page size
andrewfarm opened this issue Β· comments
π Bug Report
As described in https://developer.android.com/guide/practices/page-sizes, Android 15 adds support for devices that use a 16KB page size. When running an app set up with Flipper on one of these devices, the following crash occurs:
09:54:50.541 E FATAL EXCEPTION: FlipperEventBaseThread
Process: [process name], PID: 6072
java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_STRTAB in "/data/app/[...]/lib/x86_64/libfbjni.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1081)
at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
at java.lang.System.loadLibrary(System.java:1765)
at com.facebook.soloader.nativeloader.SystemDelegate.loadLibrary(SystemDelegate.java:24)
at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:52)
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)
09:54:50.544 E FATAL EXCEPTION: FlipperConnectionThread
Process: [process name], PID: 6072
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
Set up Flipper in an Android app. Run the app on an emulator with a system image that uses a 16KB page size.
Environment
Android Emulator 35.1.4
Google APIs Experimental 16k Page Size Intel x86_64 Atom System Image - API Level VanillaIceCream - Revision 1
com.facebook.soloader:soloader:0.11.0
com.facebook.flipper:flipper:0.250.0
com.facebook.flipper:flipper-network-plugin:0.250.0
com.facebook.stetho:stetho:1.6.0
com.facebook.stetho:stetho-okhttp3:1.6.0
We are seeing similar behavior, when going through the steps described here, thelibflipper.so
is being marked as UNALIGNED
+1. I think the flipper library owners need to do something similar to how things were handled here
Solution:
https://developer.android.com/guide/practices/page-sizes#cmake
+1. I think the flipper library owners need to do something similar to how things were handled here
Solution: https://developer.android.com/guide/practices/page-sizes#cmake
Yes, we need build again to support 16kb page size