8212205 (XS) VM asserts after CDS archive has been unmapped

Jiangli Zhou jiangli.zhou at oracle.com
Thu Oct 25 19:20:52 UTC 2018


Hi Ioi,

The fix looks good, but it's probably better to fix it in 
FileMapInfo::stop_sharing_and_unmap() directly?

Thanks,

Jiangli


On 10/25/18 11:22 AM, Ioi Lam wrote:
> 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