JDK-8010090 : GC ID has the wrong type
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs24
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-03-14
  • Updated: 2013-06-26
  • Resolved: 2013-04-23
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.

To download the current JDK release, click here.
JDK 7 Other
7u40Fixed hs24Fixed
In gcTrace.hpp the type of GCId is unit, but in trace.xml the type is ULONG.
The type should be ulong all over.
Verified on JDK: 1.7.0_40 b28 HS:24.0 b46

A similar issue is found in the compiler events where the Compiler ID has the type INTEGER (which is signed) but should really be UINT. This bug will be used to fix both these issues.

I think we should be using UINT in the trace.xml file. No reason to change the GCId to a long since there are other limitations (CollectedHeap::_total_collections) that are unsigned int. So, unless we extend those also to long I think we will mostly just be wasting the extra 32 bits in the tracing.