United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7023747 G1: too strict assert in RefineRecordRefsIntoCSCardTableEntryClosure::do_card_ptr in g1RemSet.cpp
JDK-7023747 : G1: too strict assert in RefineRecordRefsIntoCSCardTableEntryClosure::do_card_ptr in g1RemSet.cpp

Details
Type:
Bug
Submit Date:
2011-03-02
Status:
Closed
Updated Date:
2011-04-24
Project Name:
JDK
Resolved Date:
2011-04-24
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs21
Fixed Versions:
hs21 (b05)

Related Reports
Backport:

Sub Tasks

Description
The assert in RefineRecordRefsIntoCSCardTableEntryClosure::do_card_ptr() in g1RemSet.cpp is too strict.

It wants to check that the worker id is less than the number of gc workers. It does this by checking against the default value of the number of gc workser. But this value can be overridden on the command line. So the assert should check against the actual value being used.

                                    

Comments
SUGGESTED FIX

Change the assert to:

 assert(worker_i < (int)ParallelGCThreads, "should be a GC worker");
                                     
2011-03-02
EVALUATION

See description.
                                     
2011-03-02
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/04d1138b4cce
                                     
2011-03-07
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/04d1138b4cce
                                     
2011-03-21
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/04d1138b4cce
                                     
2011-03-25



Hardware and Software, Engineered to Work Together