JDK-6547371 : Guard at end of card table can be overwritten.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 7
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-04-18
  • Updated: 2012-02-01
  • Resolved: 2007-05-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
Description
When the card table is resized (for example committing space for the card table at
initiation) the guard card at the end of the card table can be overwritten due to
rounding up for page alignment and a commit_memory() call over the region including
the guard card.

This affects assertion checking and verification of the card table.  It does not 
affect the product builds unless verification is being used.

Comments
EVALUATION When resize_covered_region() is called, a call to commit_memory() can result where the region passed to commit_memory() includes the guard card. The guard card is cleared of the last_card value as a side effect of the commit_memory().
18-04-2007