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

db-shootout crashes with jdk-12 #163

Closed
albertnetymk opened this issue Jun 24, 2019 · 3 comments
Closed

db-shootout crashes with jdk-12 #163

albertnetymk opened this issue Jun 24, 2019 · 3 comments
Assignees
Labels
bug Something isn't working compatibility Relates to platform or system compatibility

Comments

@albertnetymk
Copy link

Downloaded jdk-12.0.1+12 from https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot#x64_linux and renaissance jar from the release page.

Encountered the following crash with java -jar renaissance-mit-0.9.0.jar -r 1 db-shootout:

Error during tear-down: null
java.lang.NullPointerException
        at org.lmdbjava.bench.Chronicle$CommonChronicleMap.teardown(Chronicle.java:131)
        at org.lmdbjava.bench.Chronicle$Reader.teardown(Chronicle.java:210)
        at org.renaissance.database.DbShootout.tearDownAfterAll(DbShootout.scala:81)
        at org.renaissance.RenaissanceBenchmark.runBenchmark(RenaissanceBenchmark.java:97)
        at org.renaissance.RenaissanceSuite$.$anonfun$main$2(renaissance-suite.scala:308)
        at org.renaissance.RenaissanceSuite$.$anonfun$main$2$adapted(renaissance-suite.scala:306)
        at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
        at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
        at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
        at org.renaissance.RenaissanceSuite$.main(renaissance-suite.scala:306)
        at org.renaissance.RenaissanceSuite.main(renaissance-suite.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.renaissance.Launcher.main(Launcher.java:18)
Exception occurred in org.renaissance.database.DbShootout@58ce9668: java.lang.NoSuchFieldException: override
java.lang.AssertionError: java.lang.NoSuchFieldException: override
        at net.openhft.chronicle.core.Jvm.setAccessible(Jvm.java:326)
        at net.openhft.chronicle.core.Jvm.getMethod0(Jvm.java:302)
        at net.openhft.chronicle.core.Jvm.getMethod(Jvm.java:296)
        at net.openhft.chronicle.core.OS.<clinit>(OS.java:78)
        at net.openhft.chronicle.map.ChronicleMapBuilder.<init>(ChronicleMapBuilder.java:206)
        at net.openhft.chronicle.map.ChronicleMapBuilder.of(ChronicleMapBuilder.java:280)
        at net.openhft.chronicle.map.ChronicleMap.of(ChronicleMap.java:71)
        at org.lmdbjava.bench.Chronicle$CommonChronicleMap.setup(Chronicle.java:118)
        at org.lmdbjava.bench.Chronicle$Reader.setup(Chronicle.java:204)
        at org.renaissance.database.DbShootout.setUpBeforeAll(DbShootout.scala:68)
        at org.renaissance.RenaissanceBenchmark.runBenchmark(RenaissanceBenchmark.java:74)
        at org.renaissance.RenaissanceSuite$.$anonfun$main$2(renaissance-suite.scala:308)
        at org.renaissance.RenaissanceSuite$.$anonfun$main$2$adapted(renaissance-suite.scala:306)
        at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
        at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
        at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
        at org.renaissance.RenaissanceSuite$.main(renaissance-suite.scala:306)
        at org.renaissance.RenaissanceSuite.main(renaissance-suite.scala)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.renaissance.Launcher.main(Launcher.java:18)
Caused by: java.lang.NoSuchFieldException: override
        at java.base/java.lang.Class.getDeclaredField(Class.java:2417)
        at net.openhft.chronicle.core.Jvm.setAccessible(Jvm.java:322)
        ... 22 more
The following benchmarks failed: db-shootout

PS: JDK11 doesn't crash, though. It's not super clear to me if this is related to #153.

@vhotspur vhotspur added the bug Something isn't working label Jun 25, 2019
@farquet farquet added the compatibility Relates to platform or system compatibility label Jun 26, 2019
@farquet
Copy link
Collaborator

farquet commented Jun 26, 2019

Thanks @albertnetymk for the report. I don't think it's related to #153, it looks more like a JDK compatibility issue ( #127 ).

@farquet farquet self-assigned this Jul 3, 2019
@farquet farquet changed the title db-shootcut crashes with jdk-12 db-shootout crashes with jdk-12 Apr 29, 2021
@vhotspur
Copy link
Member

vhotspur commented Jun 7, 2021

Small progress notice: I have tried upgrading net.openhft packages to 2.20 and that fails too:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access using Lookup on net.openhft.chronicle.core.Jvm (file:/home/vojta/mff/graal/renaissance/renaissance/harness-202316-18225653424851052513/database/lib/chronicle-core-2.20.7.jar) to class java.lang.reflect.AccessibleObject
WARNING: Please consider reporting this to the maintainers of net.openhft.chronicle.core.Jvm
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Benchmark 'db-shootout' failed with exception:
java.lang.NoSuchMethodError: net.openhft.chronicle.bytes.HeapBytesStore.uninitialized()Lnet/openhft/chronicle/bytes/HeapBytesStore;
	at net.openhft.chronicle.hash.serialization.impl.ByteArrayDataAccess.initTransients(ByteArrayDataAccess.java:46)
	at net.openhft.chronicle.hash.serialization.impl.ByteArrayDataAccess.<init>(ByteArrayDataAccess.java:42)
	at net.openhft.chronicle.hash.serialization.impl.SerializationBuilder.configureByDefault(SerializationBuilder.java:125)
	at net.openhft.chronicle.hash.serialization.impl.SerializationBuilder.<init>(SerializationBuilder.java:48)
	at net.openhft.chronicle.map.ChronicleMapBuilder.<init>(ChronicleMapBuilder.java:215)
	at net.openhft.chronicle.map.ChronicleMapBuilder.of(ChronicleMapBuilder.java:280)
	at net.openhft.chronicle.map.ChronicleMap.of(ChronicleMap.java:71)
	at org.lmdbjava.bench.Chronicle$CommonChronicleMap.setup(Chronicle.java:118)
	at org.lmdbjava.bench.Chronicle$Reader.setup(Chronicle.java:204)
	at org.renaissance.database.DbShootout.setUpBeforeAll(DbShootout.scala:64)
	at org.renaissance.harness.ExecutionDriver.executeBenchmark(ExecutionDriver.java:59)
	at org.renaissance.harness.RenaissanceSuite$.$anonfun$runBenchmarks$1(RenaissanceSuite.scala:133)
	at org.renaissance.harness.RenaissanceSuite$.$anonfun$runBenchmarks$1$adapted(RenaissanceSuite.scala:127)
	at scala.collection.immutable.List.foreach(List.scala:333)
	at org.renaissance.harness.RenaissanceSuite$.runBenchmarks(RenaissanceSuite.scala:127)
	at org.renaissance.harness.RenaissanceSuite$.main(RenaissanceSuite.scala:104)
	at org.renaissance.harness.RenaissanceSuite.main(RenaissanceSuite.scala)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	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)

lbulej added a commit that referenced this issue Jul 1, 2021
This is to avoid out-of-the-box crashes on JVM 12 before we can
resolve issue #163.
@lbulej
Copy link
Member

lbulej commented Dec 14, 2023

There have been significant library updates to db-shootout (see #412) so that it runs with JVM up to version 18, so this issue may be no longer relevant.

@lbulej lbulej closed this as completed Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working compatibility Relates to platform or system compatibility
Projects
None yet
Development

No branches or pull requests

4 participants