RFR(XXS) 8241244 CDS dynamic dump asserts in ArchivePtrBitmapCleaner::do_bit
Ioi Lam
ioi.lam at oracle.com
Mon Mar 23 03:49:23 UTC 2020
https://bugs.openjdk.java.net/browse/JDK-8241244
http://cr.openjdk.java.net/~iklam/jdk15/8241244-dynamic-cds-redefined-class.v01/
In the failing test case, some classes in the base archive (e.g.,
java.lang.Throwable) are redefined by JFR before the dynamic archive is
dumped. The assert happens when java/lang/InternalError is destined for
the dynamic archive, but its vtable contains a redefined method of the
Throwable class. This method is neither in the base archive, nor in the
dynamic archive, causing the assert to fail.
The fix is: if a class (or any of its super-types) has been redefined,
do not dump this class into the dynamic CDS archive.
Note - this fix is not needed for the static archive dumping (java
-Xshare:dump), as class redefinition cannot happen.
Thanks
- Ioi
More information about the hotspot-runtime-dev
mailing list