Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6722112
Votes 0
Synopsis CMS: Incorrect encoding of overflown object arrays during concurrent precleaning
Category hotspot:garbage_collector
Reported Against
Release Fixed hs14(b03), 1.4.2_19-rev(b09) (Bug ID:2166040) , 5.0u18-rev(b03) (Bug ID:2166041) , hs11(b17) (Bug ID:2166206) , hs10(b27) (Bug ID:2169512) , 6u7-rev(b15) (Bug ID:2169513) , 6u12(b01) (Bug ID:2170226) , 5.0u19(b01) (Bug ID:2174432) , 1.4.2_21(b01) (Bug ID:2174450)
State 10-Fix Delivered, bug
Priority: 3-Medium
Related Bugs 6578335 , 6681372 , 6697967 , 6752632
Submit Date 03-JUL-2008
Description
Here's the "evaluation" from 6578335 during whose investigation
this problem was first diagnosed:

What we were doing is that if we overflowed the marking stack
when trying to push a newly marked (now grey)  customer  encountered during
precleaning, we would just dirty the card the  customer  (now marked)
lay on, with the expectation that a later precleaning pass or the final
remark phase (which would pick up all remaining dirty cards) would deal
with the  customer . But of course in the case of an  customer  _array_,
preclean/remark would just scrub the dirty pages not the entire array,
so the part of the  customer  array that protruded off the dirtied page
on to a possibly clean page would not be scanned and if that part
contained references to white objects, those would be lost.

The fix of course is in the case of overflown  customer  arrays,
to dirty all the pages that the newly marked overflown  customer  array
lies on when encoding its greyness for the purposes of rescan (by a
later preclean pass or the subsequent final remark).
Posted Date : 2008-07-03 00:27:41.0
Work Around
No known workaround other than to turn off precleaning entirely: -XX:-CMSPrecleaningEnabled.

Increasing the size of the marking stack via -XX:CMSMarkStackSize{,Max} would
reduce the probability of hitting this bug.
Evaluation
Note that this bug exists at least since 5uXX and possibly in 1.4.2_XX as
well, and right up to current HSX 14. Appropriate subCR's will need to be
filed.
Posted Date : 2008-07-03 00:27:41.0

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/9199f248b0ee
Posted Date : 2008-08-15 12:07:30.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang