You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linux s390x (issue is independent of distro, test run was on SLES)
System architecture (CPU type, bitness of the JVM)
s390x also known as zarch_64 (64bit)
Complete description of the problem
The SAPJVM8 JDK8 port on linux s390x unfortunately has system property os.arch == zArch_64 and not s390x.
This leads to an UnsatisfiedLinkError when running the Renaissance Java benchmark.
Probably adding a architecture name mapping might help to solve the issue , see
static String getCanonicalArchitecture(String arch, int platform) {
arch = arch.toLowerCase().trim();
if ("zarch_64".equals(arch)) {
arch = "s390x";
}
Steps to reproduce
run the renaissance benchmark on Linux s390x, sub benchmark db-shootout
sapjvm_8/bin/java -jar renaissance-gpl-0.13.0-4-g2755c79.jar db-shootout
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-zarch_64/libjnidispatch.so) not found in resource path
...
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1033)
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:989)
at com.sun.jna.Native.(Native.java:195)
at net.openhft.chronicle.hash.impl.util.jna.PosixFallocate.(PosixFallocate.java:18)
at net.openhft.chronicle.hash.impl.VanillaChronicleHash.map(VanillaChronicleHash.java:977)
at net.openhft.chronicle.hash.impl.VanillaChronicleHash.createMappedStoreAndSegments(VanillaChronicleHash.java:485)
at net.openhft.chronicle.map.ChronicleMapBuilder.createWithNewFile(ChronicleMapBuilder.java:1748)
at net.openhft.chronicle.map.ChronicleMapBuilder.createWithFile(ChronicleMapBuilder.java:1652)
at net.openhft.chronicle.map.ChronicleMapBuilder.createPersistedTo(ChronicleMapBuilder.java:1552)
at org.lmdbjava.bench.Chronicle$CommonChronicleMap.setup(Chronicle.java:122)
at org.lmdbjava.bench.Chronicle$Reader.setup(Chronicle.java:204)
at org.renaissance.database.DbShootout.setUpBeforeAll(DbShootout.scala:65)
at org.renaissance.harness.ExecutionDriver.executeBenchmark(ExecutionDriver.java:82)
at org.renaissance.harness.RenaissanceSuite$.$anonfun$runBenchmarks$1(RenaissanceSuite.scala:140)
at org.renaissance.harness.RenaissanceSuite$.$anonfun$runBenchmarks$1$adapted(RenaissanceSuite.scala:136)
at scala.collection.immutable.List.foreach(List.scala:333)
at org.renaissance.harness.RenaissanceSuite$.runBenchmarks(RenaissanceSuite.scala:136)
at org.renaissance.harness.RenaissanceSuite$.main(RenaissanceSuite.scala:117)
at org.renaissance.harness.RenaissanceSuite.main(RenaissanceSuite.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.renaissance.core.Launcher.loadAndInvokeHarnessClass(Launcher.java:114)
at org.renaissance.core.Launcher.launchHarnessClass(Launcher.java:73)
at org.renaissance.core.Launcher.main(Launcher.java:37)
Please test running the JVM with the system property jna.prefix set to linux-s390x that overrides the auto-detection (at least for library loading). If that works, I see no problem adding the special case.
Please test running the JVM with the system property jna.prefix set to linux-s390x that overrides the auto-detection (at least for library loading). If that works, I see no problem adding the special case.
Provide complete information about the problem
jna-platform-5.9.0.jar
SAPJVM 8 on linux s390x
Linux s390x (issue is independent of distro, test run was on SLES)
s390x also known as zarch_64 (64bit)
The SAPJVM8 JDK8 port on linux s390x unfortunately has system property os.arch == zArch_64 and not s390x.
This leads to an UnsatisfiedLinkError when running the Renaissance Java benchmark.
Probably adding a architecture name mapping might help to solve the issue , see
jna/src/com/sun/jna/Platform.java
Line 237 in 5ac6161
run the renaissance benchmark on Linux s390x, sub benchmark db-shootout
sapjvm_8/bin/java -jar renaissance-gpl-0.13.0-4-g2755c79.jar db-shootout
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-zarch_64/libjnidispatch.so) not found in resource path
...
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1033)
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:989)
at com.sun.jna.Native.(Native.java:195)
at net.openhft.chronicle.hash.impl.util.jna.PosixFallocate.(PosixFallocate.java:18)
at net.openhft.chronicle.hash.impl.VanillaChronicleHash.map(VanillaChronicleHash.java:977)
at net.openhft.chronicle.hash.impl.VanillaChronicleHash.createMappedStoreAndSegments(VanillaChronicleHash.java:485)
at net.openhft.chronicle.map.ChronicleMapBuilder.createWithNewFile(ChronicleMapBuilder.java:1748)
at net.openhft.chronicle.map.ChronicleMapBuilder.createWithFile(ChronicleMapBuilder.java:1652)
at net.openhft.chronicle.map.ChronicleMapBuilder.createPersistedTo(ChronicleMapBuilder.java:1552)
at org.lmdbjava.bench.Chronicle$CommonChronicleMap.setup(Chronicle.java:122)
at org.lmdbjava.bench.Chronicle$Reader.setup(Chronicle.java:204)
at org.renaissance.database.DbShootout.setUpBeforeAll(DbShootout.scala:65)
at org.renaissance.harness.ExecutionDriver.executeBenchmark(ExecutionDriver.java:82)
at org.renaissance.harness.RenaissanceSuite$.$anonfun$runBenchmarks$1(RenaissanceSuite.scala:140)
at org.renaissance.harness.RenaissanceSuite$.$anonfun$runBenchmarks$1$adapted(RenaissanceSuite.scala:136)
at scala.collection.immutable.List.foreach(List.scala:333)
at org.renaissance.harness.RenaissanceSuite$.runBenchmarks(RenaissanceSuite.scala:136)
at org.renaissance.harness.RenaissanceSuite$.main(RenaissanceSuite.scala:117)
at org.renaissance.harness.RenaissanceSuite.main(RenaissanceSuite.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.renaissance.core.Launcher.loadAndInvokeHarnessClass(Launcher.java:114)
at org.renaissance.core.Launcher.launchHarnessClass(Launcher.java:73)
at org.renaissance.core.Launcher.main(Launcher.java:37)
See also the issue renaissance-benchmarks/renaissance#296 (comment)
at the renaissance-benchmarks suite . There the renaissance-gpl-0.13.0-4-g2755c79.jar can be found .
The text was updated successfully, but these errors were encountered: