JDK-8187896 : SA: ConstantPool::_resolved_references missing in heap dump by SA
Type:Bug
Component:hotspot
Sub-Component:svc-agent
Affected Version:9,10
Priority:P3
Status:Open
Resolution:Unresolved
OS:generic
CPU:generic
Submitted:2017-09-25
Updated:2023-08-18
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
The changes of JDK-8081323 have to be replicated in SA in HeapHprofBinWriter.java.
Comments
The objects will still be in the hprof file, because of entire heap is always dumped (including unreachable objects). What is missing is generating root records for the ConstantPool::_resolved_references. Without them, an hprof reader might think some objects are no longer live when they in fact are.
18-08-2023
With JDK-8205534, the SymbolTable dependency has been removed from SA.
=============================================================
====snippet from Coleen on adding resolved references in the heap dump====
=============================================================
Did you see the changes for:
[8u-backport] RFR: JDK-8081323: ConstantPool::_resolved_references is missing in heap dump
on hotspot-dev? Fairoz backported a change that I had to include the java heap memory for resolved references in the heapdump.
http://cr.openjdk.java.net/~fmatte/8081323/webrev.00/
You can do this without the SymbolTable by referring to the Symbol in vmSymbols for "<resolved_references>".
Seems like it should be easier than that though. But this change would be good for the SA since it also has a heap dump.
05-07-2018
Dumping of the constant pool itself by the SA heapdumper seems missing ?