Looks fine. Please also add this bug id to @bug in
On 23/02/2018 12:41 PM, Leonid Mesnik wrote:
Could you please review following fix which update implementation of
Klass::external_name for anonymous classes.
Previously external_name tried to add hashcode of corresponding java_mirror for InstanceKlass
if it exists. However the java_mirror could be incorrect during GC. Also external_name might
tries to calculate hash_code if it was not “pre-calculated” during class verification. See
JDK-8197442 <https://bugs.openjdk.java.net/browse/JDK-8197442> [Graal]
runtime/Metaspace/DefineClass.java crashes with "biases should not be seen by VM thread
The suggested fix is to print address of corresponding InstanceKlass instead of
hashcode. It allows to identify anonymous classes and allows to use external_name at
any time. The hashcode for java_mirror is still pre-calculated in verifier.cpp since
ik->java_mirror()->identity_hash() still might be used during safepoint. As a
regression test I updated one of tests which redefine classes and easily reproduce
problem when executed with full logging enabled.
Test java/lang/StackWalker/VerifyStackTrace.java is update to match new pattern.