8212205 (XS) VM asserts after CDS archive has been unmapped
Ioi Lam
ioi.lam at oracle.com
Thu Oct 25 18:22:50 UTC 2018
https://bugs.openjdk.java.net/browse/JDK-8212205
http://cr.openjdk.java.net/~iklam/jdk12/8212205-crash-after-cds-unmap.v01/
This is a silly bug but it happens only rarely, when address space
randomization
causes insufficient memory to be reservable at addresses required by
CDS. In this
case, the CDS archive is unmapped, but we forget to clean up
_shared_metaspace_{base,top}. As a result, the JVM will misidentify
metaspace
objects allocated in certain address ranges to be "shared", in the
following function:
class MetaspaceObj {
bool is_shared() const {
return (((void*)this) < _shared_metaspace_top && ((void*)this) >=
_shared_metaspace_base);
}
}
The fix is to reset those pointers after CDS has been unmapped.
Thanks
- Ioi
More information about the hotspot-runtime-dev
mailing list