JDK-6533850 : Regression in the gc_baseline caused by || RefProc (assertion "FreeList RACE DETECTED")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-03-13
  • Updated: 2012-02-01
  • Resolved: 2007-04-24
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
6u4Fixed 7Fixed hs10Fixed
Related Reports
Relates :  
Test case:


The regression is due to optimization I did for ParNew: I moved
thread state flushing into a separate method and made it serial (without locking). But when LowMemoryDetector is enabled a "thread-sensitive" code could be executed (like Mutex::owned_by_self()).

EVALUATION The fix temporary disables LowMemoryDetector for SharedHeap::fill_region_with_object.

SUGGESTED FIX The fix is to execute flushing in it's own thread.