Closed
Description
- Version of JNA and related jars
5.16.0@aar - Version and vendor of the java virtual machine
ART, Android 15
System.getProperty("java.vm.version") = "2.1.0" - Operating system
Android 15 with 16 KB page size - System architecture (CPU type, bitness of the JVM)
arm64-v8a - Complete description of the problem
Loading jnidispatch usingSystem.loadLibrary("jnidispatch")
is OK on Android 15 or less with 4 KB page size, but is not OK (leads to SIGSEGV crash) on Android 15 with 16 KB page size (support of this page size in Android 15 is described in docs).
System.loadLibrary("jnidispatch")
is called on Android platform inloadNativeDispatchLibrary
function that is called in static block of JNA classNative
, so you cannot properly use, for example,Native.load
function on Android 15 with 16 KB page size.
To test this behaviour, we used the corresponding Android Studio emulator and Google Pixel 8 and Google Pixel 9 physical devices with 16 KB mode enabled.
Info about emulator:
Emulator version: 35.1.13-11943732 (HVF 14.5.0)
Host machine: macOS 14.5
Api level: 35
Type: Google APIs PlayStore Page Size 16 KB
Info about Google Pixel 8:
Api level: 35
Build number: AP41.240925.009
Info about Google Pixel 9:
Api level: 35
Build number: BP11.241121.010
- Steps to reproduce
You can find minimal sample here. Launching this app on Android 15, 16-KB-based emulator or some Google Pixel physical devices with 16 KB mode enabled will lead to SIGSEGV crash, full log with dump.
Related issue: #1618
Metadata
Metadata
Assignees
Labels
No labels