RFR 8180627: gc/gctests/Steal/steal001: guarantee(cp->cache() == NULL) failed
harold seigel
harold.seigel at oracle.com
Tue Aug 1 14:36:04 UTC 2017
Hi,
Please review this JDK-10 fix for JDK-8180627. Test
gctests/Steal/steal001 was occasionally failing when an
OutOfMemoryError exception happened to get thrown while linking a
class. The exception caused the class's linking to fail, but the JVM
did not properly clean up the constant pool cache of the partially
linked class. This caused the verifier to assert when the test tried
again to link the class because the verifier did not expect the unlinked
class to have an existing constant pool cache.
Open Webrev: http://cr.openjdk.java.net/~hseigel/bug_8180627/webrev/
JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8180627
The fix was tested with the JCK Lang and VM tests, the JTreg hotspot,
java/io, java/lang, java/util and other tests, the co-located NSK tests,
RBT tier2 - tier5 tests, and with JPRT.
Additionally, the fix was tested by temporarily throwing an
OutOfMemoryError exception in
ConstantPool::initialize_resolved_references() and then checking that
the verifier stopped asserting once the fix was included in the JVM build.
(Thanks to Coleen for suggesting the fix.)
Thanks, Harold
More information about the hotspot-runtime-dev
mailing list