-
Bug
-
Resolution: Fixed
-
P4
-
repo-valhalla
These three JTReg tests fail with similar assertion and stack traces:
serviceability/dcmd/vm/ShowReflectionTargetTest.java
serviceability/dcmd/vm/ClassLoaderHierarchyTest.java
serviceability/dcmd/vm/ClassHierarchyTest.java
Assert and stack trace:
# Internal Error (.../src/hotspot/share/oops/reflectionAccessorImplKlassHelper.cpp:79), pid=67127, tid=67136
# assert(cp->tag_at(cpi).is_utf8()) failed: Unexpected constant pool layout for "jdk.internal.reflect.GeneratedConstructorAccessor20", child class of Generated{Method|Constructor}AccessorImplXXX (no UTF8 at cpi 8 (7)).
Current thread (0x00007fc790664800): VMThread "VM Thread" [stack: 0x00007fc7221eb000,0x00007fc7222eb000] [id=67136]
Stack: [0x00007fc7221eb000,0x00007fc7222eb000], sp=0x00007fc7222e9500, free space=1017k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x18f8417] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x2c7
V [libjvm.so+0x18f927f] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
V [libjvm.so+0xb34820] report_vm_error(char const*, int, char const*, char const*, ...)+0x100
V [libjvm.so+0x1616c4e] get_string_from_cp_with_checks(InstanceKlass const*, int)+0x1ee
V [libjvm.so+0x1617978] ReflectionAccessorImplKlassHelper::print_invocation_target(outputStream*, Klass*)+0x198
V [libjvm.so+0xe0ee9d] KlassHierarchy::print_class(outputStream*, KlassInfoEntry*, bool)+0x43d
V [libjvm.so+0xe119a1] KlassHierarchy::print_class_hierarchy(outputStream*, bool, bool, char*)+0x601
V [libjvm.so+0x193b8a2] VM_Operation::evaluate()+0x132
V [libjvm.so+0x1936fce] VMThread::evaluate_operation(VM_Operation*) [clone .constprop.46]+0x18e
V [libjvm.so+0x1937870] VMThread::loop()+0x4c0
V [libjvm.so+0x1937e63] VMThread::run()+0xd3
V [libjvm.so+0x14dc620] thread_native_entry(Thread*)+0x100
VM_Operation (0x00007fc7213b61e0): PrintClassHierarchy, mode: safepoint, requested by thread 0x00007fc7908b6800
The problem occurs with and without EnableValhalla
serviceability/dcmd/vm/ShowReflectionTargetTest.java
serviceability/dcmd/vm/ClassLoaderHierarchyTest.java
serviceability/dcmd/vm/ClassHierarchyTest.java
Assert and stack trace:
# Internal Error (.../src/hotspot/share/oops/reflectionAccessorImplKlassHelper.cpp:79), pid=67127, tid=67136
# assert(cp->tag_at(cpi).is_utf8()) failed: Unexpected constant pool layout for "jdk.internal.reflect.GeneratedConstructorAccessor20", child class of Generated{Method|Constructor}AccessorImplXXX (no UTF8 at cpi 8 (7)).
Current thread (0x00007fc790664800): VMThread "VM Thread" [stack: 0x00007fc7221eb000,0x00007fc7222eb000] [id=67136]
Stack: [0x00007fc7221eb000,0x00007fc7222eb000], sp=0x00007fc7222e9500, free space=1017k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x18f8417] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x2c7
V [libjvm.so+0x18f927f] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
V [libjvm.so+0xb34820] report_vm_error(char const*, int, char const*, char const*, ...)+0x100
V [libjvm.so+0x1616c4e] get_string_from_cp_with_checks(InstanceKlass const*, int)+0x1ee
V [libjvm.so+0x1617978] ReflectionAccessorImplKlassHelper::print_invocation_target(outputStream*, Klass*)+0x198
V [libjvm.so+0xe0ee9d] KlassHierarchy::print_class(outputStream*, KlassInfoEntry*, bool)+0x43d
V [libjvm.so+0xe119a1] KlassHierarchy::print_class_hierarchy(outputStream*, bool, bool, char*)+0x601
V [libjvm.so+0x193b8a2] VM_Operation::evaluate()+0x132
V [libjvm.so+0x1936fce] VMThread::evaluate_operation(VM_Operation*) [clone .constprop.46]+0x18e
V [libjvm.so+0x1937870] VMThread::loop()+0x4c0
V [libjvm.so+0x1937e63] VMThread::run()+0xd3
V [libjvm.so+0x14dc620] thread_native_entry(Thread*)+0x100
VM_Operation (0x00007fc7213b61e0): PrintClassHierarchy, mode: safepoint, requested by thread 0x00007fc7908b6800
The problem occurs with and without EnableValhalla
- relates to
-
JDK-8203343 VM.{metaspace|classloaders|classhierarchy...} jcmd should show invocation targets for Generated{Method|Constructor}AccessorImpl classes
- Resolved
-
JDK-8210510 JCMD's dependency on hardcoded Constant Pool indexes should be eliminated
- Closed
-
JDK-8203849 DelegatingClassLoader name could be used to indicate reflected class
- Closed