United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-8015244 : G1: Verification after a full GC is incorrectly placed.

Details
Type:
Bug
Submit Date:
2013-05-22
Status:
Resolved
Updated Date:
2014-02-12
Project Name:
JDK
Resolved Date:
2013-06-04
Component:
hotspot
OS:
Sub-Component:
gc
CPU:
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs24,hs25
Fixed Versions:
hs25 (b36)

Related Reports
Backport:
Backport:
Backport:
Backport:

Sub Tasks

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
URL:   http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/3a4805ad0005
User:  amurillo
Date:  2013-06-07 19:51:24 +0000

                                     
2013-06-07
URL:   http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/3a4805ad0005
User:  johnc
Date:  2013-06-04 20:50:16 +0000

                                     
2013-06-04
See description
                                     
2013-05-22



Hardware and Software, Engineered to Work Together