United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7028845 CMS: 6984287 broke parallel reference processing in CMS
JDK-7028845 : CMS: 6984287 broke parallel reference processing in CMS

Details
Type:
Bug
Submit Date:
2011-03-18
Status:
Resolved
Updated Date:
2011-05-27
Project Name:
JDK
Resolved Date:
2011-05-26
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs20,hs21
Fixed Versions:

Related Reports
Backport:
Backport:
Backport:
Relates:
Relates:
Relates:

Sub Tasks

Description
The changes for 6984287 broke parallel reference porocessing with the CMS collector.

The fix for 6668573 provided a temporary fix for it in hs21 (JDK 7), but hs20 (6u25)
is still broken.

I am filing this CR, just so that someone searching bugster for the problem
is able to find it and as necessary is able to backport the necessary
fixes, or make use of the temporary fixes to provide a cleaner fix
in the future.

For the purposes of tracking and for process reasons, I will create a subCR for hs20 and
close this, the JDK 7/hs21 CR as a duplicate of 6668573 since it contains
a fix for that problem.

To reproduce the problem run with the flags: -XX:+UseConcMarkSweepGC -XX:+ParallelRefProcEnabled.
The JVM will either hang or crash during the first stage of parallel reference processing,
usually when attempting to terminate a parallel work phase.

                                    

Comments
EVALUATION

The CMSRefProcTaskProxy object needs its terminator object to
be initialized to the correct number of threads. Otherwise,
you get a hang or crash.
                                     
2011-03-18
SUGGESTED FIX

See evaluation section, and the fix described in 6984287 and in 6668573.
                                     
2011-03-18



Hardware and Software, Engineered to Work Together