JDK-7099824 : G1: we should take the pending list lock before doing the remark pause
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs23
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2011-10-11
  • Updated: 2013-09-18
  • Resolved: 2012-01-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8 Other
7u4Fixed 8Fixed hs23Fixed
Related Reports
Relates :  
Description
Since we started processing refs during concurrent marking, with the final ref processing taking place during the remark pause, we should make sure that we hold the pending list lock before doing the remark pause. Otherwise, we could mess up a thread that's accessing the pending list and went into a safepoint while holding said lock.

Comments
EVALUATION http://hg.openjdk.java.net/hsx/hotspot-emb/hotspot/rev/db89aa49298f
10-11-2011

EVALUATION See main CR
04-11-2011

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/db89aa49298f
24-10-2011

SUGGESTED FIX Add the appropriate SurrogateLockerThread::manipulatePLL calls to the VM_CGC_Operation.
13-10-2011

EVALUATION See "Description"
13-10-2011