RFR (S): CR6899058: G1: Internal error in ptrQueue.cpp:201 in nightly tests
john cuthbertson - Sun Microsystems
John.Cuthbertson at Sun.COM
Fri Nov 20 20:01:58 UTC 2009
Can I have a couple of volunteers to look over the code changes for this
fix? The webrev can be found at
The problem here is a race between GC worker threads on the completed
update buffer queue: one thread can be adding to the queue while
processing a deferred store barrier (from the ReduceInitialCardMarks
feature) under control of a lock, while another thread is removing
completed update buffers (during remembered set updating) using a CAS.
This can cause the consistency checks on the completed update buffer
queue to fail. The fix is to remove elements from the queue under
control of the same lock.
Testing: the failing test (gcl001), SPECjbb2005, refworkload, and jprt.
More information about the hotspot-gc-dev