Hi, On Thu, 2025-09-11 at 10:59 +1000, David Holmes wrote: > Hi, > > At present we don't really expect statx to work on Musl-C IIUC the code > correctly, but Musl-C 1.2.5 has added it: > > > This release adds extension functions statx > > so likely our code needs adjusting to match what is now provided.
This is likely an incompatibility of the statx support that was added for Linux with https://bugs.openjdk.org/browse/JDK-8316304 and musl 1.2.5. Is there a bug for this? If not I can open one. Thanks, Severin > On 10/09/2025 10:54 pm, Konstantin Kletschke wrote: > > Hello, > > > > I am used to crosscompile openjdk for cortex-a[7|8|9] manually or using > > buildroot framework without severe Problems. > > ARM EABIhf 32Bit. > > > > However recently I got in contact with a customer's rootfs using > > musl-1.2.5 instead of musl-1.2.4 which I was used to and had no problems > > with. > > > > Severe debugging resulted in the crash whenever musl-1.2.5 was used in > > the target (regardeless what musl version was used to crosscompile and > > regardeless with java I tried, correto-24, openjdk-21, openjdk-24). > > > > I tested with a helloworld downloaded from github somewhere. > > "java -jar helloworld.jar" crashes. Unzippping the jar and using > > "java -cp . HelloWorld" works! > > > > Crashes looks something like those: > > > > # SIGSEGV (0xb) at pc=0x7693e018, pid=8026, tid=8027 > > # > > # JRE version: OpenJDK Runtime Environment (21.0+21) (build 21+21) > > # Java VM: OpenJDK Server VM (21+21, mixed mode, serial gc, linux-arm) > > # Problematic frame: > > # V [libjvm.so+0x61e018] > > > > FATAL ERROR in native method: Null object passed to JNI > > at sun.nio.fs.UnixNativeDispatcher.stat0(java.base@21/Native Method) > > at sun.nio.fs.UnixNativeDispatcher.stat(java.base@21/Unknown Source) > > at sun.nio.fs.UnixFileAttributes.get(java.base@21/Unknown Source) > > at > > sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(java.base@21/Unknown > > Source) > > at sun.nio.fs.UnixFileSystemProvider.readAttributes(java.base@21/Unknown > > Source) > > at > > sun.nio.fs.LinuxFileSystemProvider.readAttributes(java.base@21/Unknown > > Source) > > at java.nio.file.Files.readAttributes(java.base@21/Unknown Source) > > at java.util.zip.ZipFile$Source.get(java.base@21/Unknown Source) > > at java.util.zip.ZipFile$CleanableResource.<init>(java.base@21/Unknown > > Source) > > at java.util.zip.ZipFile.<init>(java.base@21/Unknown Source) > > at java.util.zip.ZipFile.<init>(java.base@21/Unknown Source) > > at java.util.jar.JarFile.<init>(java.base@21/Unknown Source) > > at java.util.jar.JarFile.<init>(java.base@21/Unknown Source) > > at java.util.jar.JarFile.<init>(java.base@21/Unknown Source) > > at sun.launcher.LauncherHelper.getMainClassFromJar(java.base@21/Unknown > > Source) > > at sun.launcher.LauncherHelper.loadMainClass(java.base@21/Unknown Source) > > at sun.launcher.LauncherHelper.checkAndLoadMain(java.base@21/Unknown > > Source) > > Aborted > > > > > > With 1.2.4 everything works fine. > > > > > > Farther debugging revealed that following fix in Java allowed to run it > > with 1.2.5: > > > > Index: > > openjdk-21.0.9+6/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c > > =================================================================== > > --- > > openjdk-21.0.9+6.orig/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c > > +++ > > openjdk-21.0.9+6/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c > > @@ -430,7 +430,7 @@ Java_sun_nio_fs_UnixNativeDispatcher_ini > > capabilities |= sun_nio_fs_UnixNativeDispatcher_SUPPORTS_BIRTHTIME; > > #endif > > #if defined(__linux__) > > - my_statx_func = (statx_func*) dlsym(RTLD_DEFAULT, "statx"); > > + my_statx_func = NULL; > > if (my_statx_func != NULL) { > > capabilities |= > > sun_nio_fs_UnixNativeDispatcher_SUPPORTS_BIRTHTIME; > > } > > > > > > May be this has something to do with the stat ./. stat64 stuff changed > > in musl from 1.2.4 to 1.2.5 or so. > > I already headed to the musl people but I am not shure if its placed > > better over there or here. I also already showed up at client-libs-dev > > but was told to be come over here. > > > > Kind Regards > > Konstantin > >
