-
Bug
-
Resolution: Fixed
-
P3
-
8, 11, 15, 16
-
b17
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8256987 | 15u-cpu | Severin Gehwolf | P3 | Resolved | Fixed | master |
JDK-8256185 | 15.0.2 | Severin Gehwolf | P3 | Resolved | Fixed | b06 |
JDK-8257834 | 11.0.11-oracle | Dukebot | P3 | Resolved | Fixed | b01 |
JDK-8254025 | 11.0.10 | Severin Gehwolf | P3 | Resolved | Fixed | b01 |
JDK-8259566 | openjdk8u292 | Severin Gehwolf | P3 | Resolved | Fixed | b01 |
JDK-8257416 | 8u291 | Kevin Walls | P3 | Resolved | Fixed | b01 |
JDK-8262615 | emb-8u291 | Kevin Walls | P3 | Resolved | Fixed | team |
When GraalVM is building its points-to analysis graph using jdk11u-dev, we see the JVM process fail with the following NPE:
Caused by: java.lang.NullPointerException
at java.base/java.lang.ClassValue$ClassValueMap.loadFromCache(ClassValue.java:535)
at java.base/java.lang.ClassValue$ClassValueMap.probeHomeLocation(ClassValue.java:541)
at java.base/java.lang.ClassValue.get(ClassValue.java:101)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotJVMCIMetaAccessContext.fromClass(HotSpotJVMCIMetaAccessContext.java:163)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass(HotSpotJVMCIRuntime.java:339)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.fromObjectClass(HotSpotResolvedObjectTypeImpl.java:83)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.fromMetaspace(HotSpotResolvedObjectTypeImpl.java:97)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVM.resolveTypeInPool(Native Method)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotConstantPool.loadReferencedType(HotSpotConstantPool.java:727)
at java.base/jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
The issue is with ClassValue.ClassValueMap.cacheArray field, which can sometimes be seen as null.
A discussion was started in core-lib-devs (see https://mail.openjdk.java.net/pipermail/core-libs-dev/2020-August/068086.html ) which confirmed the possibility of such issue and ideas were provided for potential fixes.
As a side note: an Oracle GraalVM distribution uses a special Oracle Labs JDK as base that has a more modern JVMCI stack compared to JDK 11, hence this issue is unlikely to be seen in that environment.
A fix will be sent for RFR shortly.
Caused by: java.lang.NullPointerException
at java.base/java.lang.ClassValue$ClassValueMap.loadFromCache(ClassValue.java:535)
at java.base/java.lang.ClassValue$ClassValueMap.probeHomeLocation(ClassValue.java:541)
at java.base/java.lang.ClassValue.get(ClassValue.java:101)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotJVMCIMetaAccessContext.fromClass(HotSpotJVMCIMetaAccessContext.java:163)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass(HotSpotJVMCIRuntime.java:339)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.fromObjectClass(HotSpotResolvedObjectTypeImpl.java:83)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.fromMetaspace(HotSpotResolvedObjectTypeImpl.java:97)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVM.resolveTypeInPool(Native Method)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotConstantPool.loadReferencedType(HotSpotConstantPool.java:727)
at java.base/jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
The issue is with ClassValue.ClassValueMap.cacheArray field, which can sometimes be seen as null.
A discussion was started in core-lib-devs (see https://mail.openjdk.java.net/pipermail/core-libs-dev/2020-August/068086.html ) which confirmed the possibility of such issue and ideas were provided for potential fixes.
As a side note: an Oracle GraalVM distribution uses a special Oracle Labs JDK as base that has a more modern JVMCI stack compared to JDK 11, hence this issue is unlikely to be seen in that environment.
A fix will be sent for RFR shortly.
- backported by
-
JDK-8254025 NPE on ClassValue.ClassValueMap.cacheArray
- Resolved
-
JDK-8256185 NPE on ClassValue.ClassValueMap.cacheArray
- Resolved
-
JDK-8256987 NPE on ClassValue.ClassValueMap.cacheArray
- Resolved
-
JDK-8257416 NPE on ClassValue.ClassValueMap.cacheArray
- Resolved
-
JDK-8257834 NPE on ClassValue.ClassValueMap.cacheArray
- Resolved
-
JDK-8259566 NPE on ClassValue.ClassValueMap.cacheArray
- Resolved
-
JDK-8262615 NPE on ClassValue.ClassValueMap.cacheArray
- Resolved
(2 backported by, 2 links to)