JDK-6792421 : assert(_bitMap->isMarked(addr+size-1),"inconsistent Printezis mark")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 7
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2009-01-12
  • Updated: 2010-05-09
  • Resolved: 2009-02-27
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
6u18Fixed 7Fixed hs15Fixed
This assertion failed.

assert(_bitMap->isMarked(addr+size-1),"inconsistent Printezis mark")

The oop looks like at constantPoolCacheKlass.

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/9a25e0c45327

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/9a25e0c45327

EVALUATION There is a window during the allocation of a constant pool cache during a rewrite() in which the return of size() of a constant pool cache oop is not the final size and is inconsistent with the allocation done for that constant pool cache oop. This inconsistency is the source of the assertion failure regarding the P-bits. This inconsistency is visible during CMS concurrent precleaning.