adoptium / adoptium/bumblebench
NullPointerException while Running Humble Benchmarks with JDK 11 Hotspot
- Dominant language
- Java
- Stars
- 27
- Forks
- 32
- PR merge metrics
- No merged PRs in 30d
Description
### Problem Description
Running Humble benchmarks with JDK 11 Hotspot gives NullPointerException as shown below. This benchmark works with JDK 8 Hotpot and JDK 11 and 8 OpenJ9.
I'm trying to add BumbleBench targets for testing at Adopt as part of AdoptOpenJDK/openjdk-tests#1379.
### Error
```
15:46:53 Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException
15:46:53 at net.adoptopenjdk.bumblebench.core.Util.freshlyLoadedClass(Util.java:185)
15:46:53 at net.adoptopenjdk.bumblebench.core.Util.newInstanceOfPossiblyFreshlyLoadedClass(Util.java:221)
15:46:53 at net.adoptopenjdk.bumblebench.core.Util.newInstanceOfFreshlyLoadedClass(Util.java:208)
15:46:53 at net.adoptopenjdk.bumblebench.core.HumbleBench$DelayThread.(HumbleBench.java:134)
15:46:53 at net.adoptopenjdk.bumblebench.core.HumbleBench.(HumbleBench.java:57)
15:46:53 at net.adoptopenjdk.bumblebench.humble.DistinctStringsEqualsBench.(DistinctStringsEqualsBench.java:35)
15:46:53 at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
15:46:53 at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
15:46:53 at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
15:46:53 at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
15:46:53 at java.base/java.lang.Class.newInstance(Class.java:584)
15:46:53 at net.adoptopenjdk.bumblebench.core.Launcher.main(Launcher.java:55)
15:46:53 Caused by: java.lang.NullPointerException
15:46:53 at java.base/java.lang.reflect.Method.invoke(Method.java:559)
15:46:53 at net.adoptopenjdk.bumblebench.core.Util.readFully(Util.java:194)
15:46:53 at net.adoptopenjdk.bumblebench.core.Util.freshlyLoadedClass(Util.java:182)
15:46:53 ... 11 more
15:46:53
15:46:53 bumbleBench-DistinctStringsEqualsBench_0_FAILED
```
### To Reproduce
1) Remove the implementation constraint for the tests such as DistinctStringsEqualsBench (https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/perf/bumbleBench/playlist.xml)
2) Use the bumbleBench-DistinctStringsEqualsBench target on TestKitGen with the relevant SDK
Contributor guide
Research direction
Start in net.adoptopenjdk.bumblebench.core.Util.java around freshlyLoadedClass (line 185) and read the readFully path around line 194, then follow construction from HumbleBench.java. Reproduce with the bumbleBench-DistinctStringsEqualsBench target on JDK 11 HotSpot after checking playlist.xml; done means the benchmark runs without the reported NullPointerException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- performance, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100