|
Quick Lists
|
|
Bug ID:
|
6745217
|
|
Votes
|
0
|
|
Synopsis
|
jmap throws sun.jvm.hotspot.utilities.AssertionFailure: BitMap index out of bounds (1.5.0_15-b04)
|
|
Category
|
java:serviceability
|
|
Reported Against
|
b04
|
|
Release Fixed
|
5.0u18-rev(b05)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
|
|
Submit Date
|
05-SEP-2008
|
|
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 customer 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
Posted Date : 2008-09-05 11:28:12.0
|
|
Work Around
|
N/A
|
|
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
Posted Date : 2008-11-06 06:17:36.0
|
|
Comments
|
Submitted On 24-JAN-2009
I got the same on a
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)
Attaching to process ID 6866, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 10.0-b23
finding class loader instances ..Finding object size using Printezis bits and skipping over...
sun.jvm.hotspot.utilities.AssertionFailure: BitMap index out of bounds
at sun.jvm.hotspot.utilities.Assert.that(Assert.java:32)
at sun.jvm.hotspot.utilities.BitMap.at(BitMap.java:44)
at sun.jvm.hotspot.memory.CMSBitMap.isMarked(CMSBitMap.java:108)
at sun.jvm.hotspot.memory.CMSCollector.blockSizeUsingPrintezisBits(CMSCollector.java:63)
at sun.jvm.hotspot.memory.CompactibleFreeListSpace.getLiveRegions(CompactibleFreeListSpace.java:116)
at sun.jvm.hotspot.oops.ObjectHeap$LiveRegionsCollector.doSpace(ObjectHeap.java:534)
at sun.jvm.hotspot.memory.ConcurrentMarkSweepGeneration.spaceIterate(ConcurrentMarkSweepGeneration.java:66)
at sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions(ObjectHeap.java:559)
at sun.jvm.hotspot.oops.ObjectHeap.iterateSubtypes(ObjectHeap.java:399)
at sun.jvm.hotspot.oops.ObjectHeap.iterateObjectsOfKlass(ObjectHeap.java:259)
at sun.jvm.hotspot.oops.ObjectHeap.iterateObjectsOfKlass(ObjectHeap.java:271)
at sun.jvm.hotspot.tools.PermStat.printClassLoaderStatistics(PermStat.java:121)
at sun.jvm.hotspot.tools.PermStat.run(PermStat.java:67)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
at sun.jvm.hotspot.tools.PermStat.main(PermStat.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.tools.jmap.JMap.runTool(JMap.java:178)
at sun.tools.jmap.JMap.main(JMap.java:110)
done.
computing per loader stat ..done.
please wait.. computing livenessFinding object size using Printezis bits and skipping over...
liveness analysis may be inaccurate ...
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |