RFR(XS) 8230674 Heap dumps should exclude dormant CDS archived objects

Ioi Lam ioi.lam at oracle.com
Fri Sep 6 02:27:38 UTC 2019


https://bugs.openjdk.java.net/browse/JDK-8230674
http://cr.openjdk.java.net/~iklam/jdk14/8230674-heap-dump-exclude-dormant-oops.v01

Please review this small fix:

When CDS is in use, archived objects are memory-mapped into the heap 
(currently
G1GC only). These objects are partitioned into "subgraphs". Some of these
subgraphs may not be loaded (e.g., those related to 
jdk.internal.math.FDBigInteger)
at the time a heap dump is requested.

When a subgraph is not loaded, some of the objects in this subgraph may 
belong to
a class that's not yet loaded.

The bug happens when such an "dormant" object is dumped, but its class
is not dumped because the class is not in the system dictionary.

There is already code in DumperSupport::dump_instance() that tries to 
handle
dormant objects, but it needs to be extended to cover arrays, as well as and
references from non-dormant object/arrays to dormant ones.


Thanks
- Ioi


More information about the serviceability-dev mailing list