Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flipper for Android crashes on startup on systems using a 16KB Page size #5634

Open
andrewfarm opened this issue Jun 13, 2024 · 6 comments
Open

Comments

@andrewfarm
Copy link

🐛 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

@cyn-ph
Copy link

cyn-ph commented Jun 19, 2024

We are seeing similar behavior, when going through the steps described here, thelibflipper.so is being marked as UNALIGNED

@RyanNewsom
Copy link

RyanNewsom commented Jul 25, 2024

+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

@vegeta2102
Copy link

+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

@tomkricensky
Copy link

tomkricensky commented Sep 4, 2024

Android 15 was released to AOSP yesterday https://android-developers.googleblog.com/2024/09/android-15-is-released-to-aosp.html

Do you expect this to be prioritized any time soon?

Thanks for your work on open source software.

Edit: There is a release date now https://www.androidheadlines.com/exclusive-android-15-ota-google-pixel

@SlavaLypchenko
Copy link

Any workaround?

@dazza5000
Copy link

I think we need to make sure there are updates to the child dependencies and then create a PR with the updates

Do we know which child libraries need to be updated?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants