6812971: SA: re-attaching to process fails
authorpoonam
Sun, 15 Mar 2009 18:11:46 -0700
changeset 2262 51ebd610829b
parent 2140 07437c6a4cd4
child 2263 f73ef83db2ab
6812971: SA: re-attaching to process fails Summary: After attaching, de-attaching SA from a process, the second time attach() call fails. This happens because in VM.initialize(), Universe does not get re-initialized before it is accessed. Reviewed-by: swamyv
hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Thu Mar 05 22:07:29 2009 -0500
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Sun Mar 15 18:11:46 2009 -0700
@@ -342,11 +342,13 @@
       throw new RuntimeException("Attempt to initialize VM twice");
     }
     soleInstance = new VM(db, debugger, debugger.getMachineDescription().isBigEndian());
-    debugger.putHeapConst(Universe.getHeapBase(), soleInstance.getHeapOopSize(),
-                          soleInstance.logMinObjAlignmentInBytes);
+
     for (Iterator iter = vmInitializedObservers.iterator(); iter.hasNext(); ) {
       ((Observer) iter.next()).update(null, null);
     }
+
+    debugger.putHeapConst(Universe.getHeapBase(), soleInstance.getHeapOopSize(),
+                        soleInstance.logMinObjAlignmentInBytes);
   }
 
   /** This is used by the debugging system */