adoptium / adoptium/bumblebench

NullPointerException while Running Humble Benchmarks with JDK 11 Hotspot

Open
#24 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.