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: 6819891
Votes 0
Synopsis ParNew: Fix work queue overflow code to deal correctly with +UseCompressedOops
Category hotspot:garbage_collector
Reported Against
Release Fixed hs14(b13), 6u14(b04) (Bug ID:2174627)
State 10-Fix Delivered, bug
Priority: 1-Very High
Related Bugs 6774607 , 6824570
Submit Date 19-MAR-2009
Description
The fix for 6774607 was insufficient. Fix it correctly this time by using compressed pointers for linking up the overflown objects. The old fix in 6774607 was still vbulnerable in the case where the overflown  customer  was an  customer  array whose size is
larger than ParGCArrayScanChunk.
Posted Date : 2009-03-19 23:36:06.0
Work Around
-XX:-UseParNewGC

OR

-XX:-UseCompressedOops

OR

-XX:ParGCArrayScanChunk=<LARGER THAN LARGEST OBJECT ARRAY EVER ALLOCATED BY PROGRAM>

Each of these three alternatives however can adversely (sometimes very adversely)
affect performance.
In particular, the last workaround above, of increasing the default value of
ParGCArrayScanChunk is a bit of a Catch-22, in the sense that increasing
the value can (if the user's program uses large arrays) actually
increase the incidence of work queue overflow (and thus adversely
affect performance). However, despite the overflow, the program will
continue to work properly in that case. On the other hand, with a small
value for the option, the chances of overflow are now much reduced
(even in the presence of very large object arrays in the heap); however,
were such an overflow to occur, involving an object array, then we would
be vulnerable to corrupting the heap and/or crashing in GC.
Evaluation
See suggested fix section.
Posted Date : 2009-03-19 23:40:30.0

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/cea947c8a988
Posted Date : 2009-03-29 01:45:31.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang