JDK-6992998 : CMSWaitDuration=0 causes hangs with +ExplicitGCInvokesConcurrent
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs20
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2010-10-19
  • Updated: 2011-04-20
  • Resolved: 2011-04-20
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 6 JDK 7 Other
6u25Fixed 7Fixed hs20Fixed
Description
-XX:CMSWaitDuration=0 -XX:+ExplicitGCInvokesConcurrent can cause a deadlock because of a race between the setting of the request flag and the CMS thread going into a wait() without checking the disposition of the
flag. CMSWaitDuration=0 is a potential (interim) workaround of sorts for (some instances of) 6412868.

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/build/hotspot/rev/cd3ef3fd20dd
04-12-2010

SUGGESTED FIX Changeset URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/cd3ef3fd20dd
19-10-2010

EVALUATION Small change, probably worth doing sooner rather than later, especially given its relationship wih 6412968. When fixed, this will also have the beneficial effect of (in some configurations) reducing the variance in the latency of concurrent full gc's seen at the caller.
19-10-2010