JDK-8015244 : G1: Verification after a full GC is incorrectly placed.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs24,hs25
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2013-05-22
  • Updated: 2014-02-12
  • Resolved: 2013-06-04
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 JDK 8 Other
7u60Fixed 8Fixed hs25Fixed
Description
The heap verification that occurs after a full GC is incorrectly placed. Currently it takes place before the RSets have been rebuilt and, hence, skips the verification of the RSets during full GCs.

This makes no sense. Many of the issues we have seen with missing barriers manifest themselves as missing rem set entries. We should be verifying that the rebuilt RSets are valid.

The RSet verification code is part of verifying a heap region and is sharedf with the verification that occurs the before GC. Verifying the RSets of a very full heap before a full GC (some of which will most likely be collected during the GC) can be very expensive I propose to only perform such a verification under control of a flag.
Comments
See description
22-05-2013