6745217: jmap assertion failure
Summary: SA shows exception with core files > 2GB. These changes fix that by correcting the size of CMSBitmap during its allocation.
Reviewed-by: swamyv
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/CMSBitMap.java Mon May 10 13:09:44 2010 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/CMSBitMap.java Sat May 15 18:24:34 2010 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2007-2010 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -78,9 +78,8 @@
}
public BitMap bm() {
- BitMap bitMap = new BitMap((int) (bmWordSize() >> (shifter() + 3) ));
+ BitMap bitMap = new BitMap((int) (bmWordSize() >> shifter() ));
VirtualSpace vs = virtualSpace();
- //bitMap.set_size((int)vs.committedSize());
bitMap.set_map(vs.low());
return bitMap;
}
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java Mon May 10 13:09:44 2010 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java Sat May 15 18:24:34 2010 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2010 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -326,7 +326,13 @@
/** Gets the Java-side thread object for this JavaThread */
public Oop getThreadObj() {
- return VM.getVM().getObjectHeap().newOop(threadObjField.getValue(addr));
+ Oop obj = null;
+ try {
+ obj = VM.getVM().getObjectHeap().newOop(threadObjField.getValue(addr));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return obj;
}
/** Get the Java-side name of this thread */