-
Bug
-
Resolution: Fixed
-
P2
-
repo-valhalla
This change leads to a crash
diff --git a/test/hotspot/jtreg/compiler/valhalla/inlinetypes/MyAbstract.java b/test/hotspot/jtreg/compiler/valhalla/inlinetypes/MyAbstract.java
index 1d11361113a..c92f94cf448 100644
--- a/test/hotspot/jtreg/compiler/valhalla/inlinetypes/MyAbstract.java
+++ b/test/hotspot/jtreg/compiler/valhalla/inlinetypes/MyAbstract.java
@@ -24,9 +24,14 @@
package compiler.valhalla.inlinetypes;
import jdk.internal.vm.annotation.LooselyConsistentValue;
+import jdk.internal.vm.annotation.NullRestricted;
+import jdk.internal.vm.annotation.Strict;
@LooselyConsistentValue
public abstract value class MyAbstract implements MyInterface {
+ @Strict
+ @NullRestricted
+ MyValue2Inline field = new MyValue2Inline(0, 0);
}
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/merykitty/openjdk/valhalla/src/hotspot/share/oops/instanceKlass.inline.hpp:70), pid=1736, tid=1773
# assert(k != nullptr) failed: Should always be set before being read
#
# JRE version: OpenJDK Runtime Environment (25.0) (fastdebug build 25-internal-adhoc.merykitty.valhalla)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 25-internal-adhoc.merykitty.valhalla, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xfc547f] InlineKlass::collect_fields(GrowableArray<SigEntry>*, float&, int, int)+0x120f
#
Stack: [0x00007f7ce7729000,0x00007f7ce7829000], sp=0x00007f7ce7822370, free space=996k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xfc547f] InlineKlass::collect_fields(GrowableArray<SigEntry>*, float&, int, int)+0x120f (instanceKlass.inline.hpp:70)
V [libjvm.so+0xfc56c1] InlineKlass::initialize_calling_convention(JavaThread*)+0x161 (inlineKlass.cpp:458)
V [libjvm.so+0xa6e952] ClassFileParser::fill_instance_klass(InstanceKlass*, bool, ClassInstanceInfo const&, JavaThread*)+0x2172 (classFileParser.cpp:5477)
V [libjvm.so+0xa6ed31] ClassFileParser::create_instance_klass(bool, ClassInstanceInfo const&, JavaThread*)+0x91 (classFileParser.cpp:5254)
V [libjvm.so+0x13f835a] KlassFactory::create_from_stream(ClassFileStream*, Symbol*, ClassLoaderData*, ClassLoadInfo const&, JavaThread*)+0x2ea (klassFactory.cpp:202)
V [libjvm.so+0x1c369fa] SystemDictionary::resolve_class_from_stream(ClassFileStream*, Symbol*, Handle, ClassLoadInfo const&, JavaThread*)+0xfa (systemDictionary.cpp:875)
V [libjvm.so+0x11f3cac] jvm_define_class_common(char const*, _jobject*, signed char const*, int, _jobject*, char const*, JavaThread*)+0x36c (jvm.cpp:1077)
V [libjvm.so+0x11f3f83] JVM_DefineClassWithSource+0xa3 (jvm.cpp:1244)
diff --git a/test/hotspot/jtreg/compiler/valhalla/inlinetypes/MyAbstract.java b/test/hotspot/jtreg/compiler/valhalla/inlinetypes/MyAbstract.java
index 1d11361113a..c92f94cf448 100644
--- a/test/hotspot/jtreg/compiler/valhalla/inlinetypes/MyAbstract.java
+++ b/test/hotspot/jtreg/compiler/valhalla/inlinetypes/MyAbstract.java
@@ -24,9 +24,14 @@
package compiler.valhalla.inlinetypes;
import jdk.internal.vm.annotation.LooselyConsistentValue;
+import jdk.internal.vm.annotation.NullRestricted;
+import jdk.internal.vm.annotation.Strict;
@LooselyConsistentValue
public abstract value class MyAbstract implements MyInterface {
+ @Strict
+ @NullRestricted
+ MyValue2Inline field = new MyValue2Inline(0, 0);
}
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/merykitty/openjdk/valhalla/src/hotspot/share/oops/instanceKlass.inline.hpp:70), pid=1736, tid=1773
# assert(k != nullptr) failed: Should always be set before being read
#
# JRE version: OpenJDK Runtime Environment (25.0) (fastdebug build 25-internal-adhoc.merykitty.valhalla)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 25-internal-adhoc.merykitty.valhalla, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xfc547f] InlineKlass::collect_fields(GrowableArray<SigEntry>*, float&, int, int)+0x120f
#
Stack: [0x00007f7ce7729000,0x00007f7ce7829000], sp=0x00007f7ce7822370, free space=996k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xfc547f] InlineKlass::collect_fields(GrowableArray<SigEntry>*, float&, int, int)+0x120f (instanceKlass.inline.hpp:70)
V [libjvm.so+0xfc56c1] InlineKlass::initialize_calling_convention(JavaThread*)+0x161 (inlineKlass.cpp:458)
V [libjvm.so+0xa6e952] ClassFileParser::fill_instance_klass(InstanceKlass*, bool, ClassInstanceInfo const&, JavaThread*)+0x2172 (classFileParser.cpp:5477)
V [libjvm.so+0xa6ed31] ClassFileParser::create_instance_klass(bool, ClassInstanceInfo const&, JavaThread*)+0x91 (classFileParser.cpp:5254)
V [libjvm.so+0x13f835a] KlassFactory::create_from_stream(ClassFileStream*, Symbol*, ClassLoaderData*, ClassLoadInfo const&, JavaThread*)+0x2ea (klassFactory.cpp:202)
V [libjvm.so+0x1c369fa] SystemDictionary::resolve_class_from_stream(ClassFileStream*, Symbol*, Handle, ClassLoadInfo const&, JavaThread*)+0xfa (systemDictionary.cpp:875)
V [libjvm.so+0x11f3cac] jvm_define_class_common(char const*, _jobject*, signed char const*, int, _jobject*, char const*, JavaThread*)+0x36c (jvm.cpp:1077)
V [libjvm.so+0x11f3f83] JVM_DefineClassWithSource+0xa3 (jvm.cpp:1244)
- relates to
-
JDK-8355076 [lworld] Incorrect declared_nonstatic_fields computation
-
- Resolved
-
- links to
-
Commit(lworld) openjdk/valhalla/4825d5f6
-
Review(lworld) openjdk/valhalla/1445