United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6652160 G1: assert(cur_used_bytes == _g1->recalculate_used(),"It should!") at g1CollectorPolicy.cpp:1425
JDK-6652160 : G1: assert(cur_used_bytes == _g1->recalculate_used(),"It should!") at g1CollectorPolicy.cpp:1425

Details
Type:
Bug
Submit Date:
2008-01-18
Status:
Resolved
Updated Date:
2010-04-03
Project Name:
JDK
Resolved Date:
2008-10-07
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs14 (b06)

Related Reports
Backport:
Backport:

Sub Tasks

Description
Failures sighted with PRT:-

jbb on sparc32/fastdebug/c2
gcbasher on sparc32/fastdebug/c2


The assertion is not easily reproducible and can often take several
hours (and many 100's of iterations) to hit (tried on Niagara boxes).

Previous races related to this assertion/invariant have been
fixed in 6561328.

                                    

Comments
EVALUATION

The cause of the bug is the race between the allocation and the concurrent 
cleanup for the modification of the G1CollectedHeap::_summary_bytes_used 
field (G1CollectedHeap::attempt_allocation_slow() and 
ConcurrentMark::completeCleanup()). The quick solution is to just serialize 
these modifications.
                                     
2008-07-30
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/c0f8f7790199
                                     
2008-08-28



Hardware and Software, Engineered to Work Together