United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6745217 jmap throws sun.jvm.hotspot.utilities.AssertionFailure: BitMap index out of bounds (1.5.0_15-b04)
JDK-6745217 : jmap throws sun.jvm.hotspot.utilities.AssertionFailure: BitMap index out of bounds (1.5.0_15-b04)

Details
Type:
Bug
Submit Date:
2008-09-05
Status:
Resolved
Updated Date:
2012-02-01
Project Name:
JDK
Resolved Date:
2009-04-06
Component:
hotspot
OS:
solaris_10
Sub-Component:
svc
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
5.0u15
Fixed Versions:
5.0u18-rev (b05)

Related Reports
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:

Sub Tasks

Description
$ jmap -heap:format=b `which java` core.647
Attaching to core core.647 from executable /home/xoladm/_JDK/jdk1.5.0_15/bin/java, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 1.5.0_15-b04
Finding object size using Printezis bits and skipping over...
Exception in thread "main" sun.jvm.hotspot.utilities.AssertionFailure: BitMap index out of bounds
at sun.jvm.hotspot.utilities.Assert.that(Assert.java:15)
at sun.jvm.hotspot.utilities.BitMap.at(BitMap.java:30)
at sun.jvm.hotspot.memory.CMSBitMap.isMarked(CMSBitMap.java:91)
at sun.jvm.hotspot.memory.CMSCollector.blockSizeUsingPrintezisBits(CMSCollector.java:46)
at sun.jvm.hotspot.memory.CompactibleFreeListSpace.getLiveRegions(CompactibleFreeListSpace.java:100)
at sun.jvm.hotspot.oops.ObjectHeap$LiveRegionsCollector.doSpace(ObjectHeap.java:514)
at sun.jvm.hotspot.memory.ConcurrentMarkSweepGeneration.spaceIterate(ConcurrentMarkSweepGeneration.java:49)
at sun.jvm.hotspot.oops.ObjectHeap.addPermGenLiveRegions(ObjectHeap.java:479)
at sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions(ObjectHeap.java:559)
at sun.jvm.hotspot.oops.ObjectHeap.iterate(ObjectHeap.java:226)
at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.write(AbstractHeapGraphWriter.java:34)
at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter.java:399)
at sun.jvm.hotspot.tools.JMap.writeHeapHprofBin(JMap.java:133)
at sun.jvm.hotspot.tools.JMap.writeHeapHprofBin(JMap.java:143)
at sun.jvm.hotspot.tools.JMap.run(JMap.java:71)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:204)
at sun.jvm.hotspot.tools.JMap.main(JMap.java:126)

Note: Solaris 10 x86

                                    

Comments
EVALUATION

Correcting the size of BitMap in CMSBitMap.java fixes this problem.

Change 
 BitMap bitMap = new BitMap((int) (bmWordSize() >> (shifter() + 3) ));

to

 BitMap bitMap = new BitMap((int) (bmWordSize() >> shifter() ));

in agent/src/share/classes/sun/jvm/hotspot/memory/CMSBitMap.java
                                     
2008-11-06
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/9d4dd91c4a0a
                                     
2010-05-17
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/9d4dd91c4a0a
                                     
2010-05-19
EVALUATION

This bug is fixed in 6u22 and 6u23 releases.
                                     
2010-12-10
EVALUATION

http://hg.openjdk.java.net/hsx/hsx17/baseline/rev/4ec48c301281
                                     
2011-04-22



Hardware and Software, Engineered to Work Together