United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6935821 G1: threads created during marking do not active their SATB queues
JDK-6935821 : G1: threads created during marking do not active their SATB queues

Details
Type:
Bug
Submit Date:
2010-03-17
Status:
Closed
Updated Date:
2011-04-23
Project Name:
JDK
Resolved Date:
2011-04-23
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
hs17,hs18
Fixed Versions:
hs18 (b02)

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

Sub Tasks

Description
When a thread is created, its SATB queue is always is initialized with the active field set to false. If a thread is created during a concurrent marking phase, this will cause all updates done by that thread not to be enqueued on SATB buffers. This can result in incomplete marking issues.

We have investigating marking issues in G1 as part of 6666145 and this is the one that's causing the most failures. See the Evaluation of that CR for a bit more info.

                                    

Comments
EVALUATION

ChangeSet=http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/d4197f8d516a,ChangeRequest=6935821
                                     
2010-03-23
EVALUATION

http://hg.openjdk.java.net/hsx/hsx17/baseline/rev/6a778ef9ee4f,ChangeRequest=6935821
                                     
2010-03-25
EVALUATION

http://hg.openjdk.java.net/hsx/hsx17/master/rev/6a778ef9ee4f,ChangeRequest=6935821
                                     
2010-03-26
SUGGESTED FIX

Make sure the active field of the SATB queues of newly-created threads is true if the thread is created during a marking cycle. One way to do this to read the active field from the SATB queue set with which the SATB queues are associated with. I also added asserts to the code that sets the active fields of the SATB queues to true / false at the start / end of a marking cycle to make sure that all queues have the same active value which matches what we expect.
                                     
2010-03-17
EVALUATION

See Description.
                                     
2010-03-17



Hardware and Software, Engineered to Work Together