<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"><base href="x-msg://2385/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Yunda,<div><br></div><div>Thanks for the patch. I have created issue JDK-8009456 to track this and can sponsor the fix as soon as we get a Review of the fix.</div><div><br></div><div>/Staffan</div><div><br><div><div>On 28 feb 2013, at 04:59, 云达(Yunda) <<a href="mailto:yunda.mly@taobao.com">yunda.mly@taobao.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div lang="ZH-CN" link="blue" vlink="purple" style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1"><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">Hi all,</span></div><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> </span></p><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">I found that when I detached a java process and attached another java process, the “universe” command of CLHSDB didn’t show the right information. But when I restarted CLHSDB and attached to the same process the problem disappeared:</span></div><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> </span></p><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">hsdb> attach 29211</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">Attaching to process 29211, please wait...</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">hsdb> universe</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">Heap Parameters:</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">ParallelScavengeHeap [ PSYoungGen [ eden = [0x00000000ee200000,0x00000000ee289aa8,0x00000000eef70000] , from = [0x00000000ef1a0000,0x00000000ef1a0000,0x00000000ef3d0000] , to = [0x00000000eef70000,0x00000000eef70000,0x00000000ef1a0000] ] PSOldGen [ [0x00000000ca600000,0x00000000ca600000,0x00000000cc9c0000] ] ] hsdb></span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">hsdb> detach</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">hsdb> attach 29887</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">Attaching to process 29887, please wait...</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">hsdb> universe</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">Heap Parameters:</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><b><span lang="EN-US" style="font-size: 12pt; color: red; ">unknown subtype of CollectedHeap</span></b><span lang="EN-US" style="font-size: 12pt; "><span class="Apple-converted-space"> </span>@ 0x0000000000d56fb0 (0x00000000ca600000,0x0000000100000000)</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">hsdb> quit</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">[~]$ java -cp .:$JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">hsdb> attach 29887</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">Attaching to process 29887, please wait...</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">hsdb> universe</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">Heap Parameters:</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><b><span lang="EN-US" style="font-size: 12pt; color: red; ">ParallelScavengeHeap</span></b><span lang="EN-US" style="font-size: 12pt; color: red; "> </span><span lang="EN-US" style="font-size: 12pt; ">[ PSYoungGen [ eden = [0x00000000ee200000,0x00000000ee289a68,0x00000000eef70000] , from = [0x00000000ef1a0000,0x00000000ef1a0000,0x00000000ef3d0000] , to = [0x00000000eef70000,0x00000000eef70000,0x00000000ef1a0000] ] PSOldGen [ [0x00000000ca600000,0x00000000ca600000,0x00000000cc9c0000] ] ] hsdb></span></div><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> </span></p><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">I think it’s caused by the wrong definition of “typeToVtbl” field of BasicTypeDataBase. Since typeToVtbl should be recreated every time SA attaches to a new process, it should not be static. So I made a small patch fo fix it:</span></div><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> </span></p><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">diff -r ec2eddfed950 agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">--- a/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java Tue Feb 26 14:09:52 2013 +0100</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">+++ b/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java Thu Feb 28 11:57:55 2013 +0800</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">@@ -150,7 +150,7 @@</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> return VM.getVM().getOopSize();</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> }</span></div><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "></span></p><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">- static HashMap typeToVtbl = new HashMap();</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">+ private HashMap typeToVtbl = new HashMap();</span></div><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "></span></p><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> private Address vtblForType(Type type) {</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> Address vtblAddr = (Address)typeToVtbl.get(type);</span></div><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> </span></p><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> </span></p><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">After applying this patch, the problem I mentioned above disappeared.</span></div><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; "> </span></p><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">Regards,</span></div><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US" style="font-size: 12pt; ">Yunda</span></div><p class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US"> </span></p></div><br><hr><font face="Arial" color="Gray" size="1"><br>This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you.<br><br>本电邮(包括任何附件)可能含有机密资料并受法律保护。如您不是正确的收件人,请您立即删除本邮件。请不要将本电邮进行复制并用作任何其他用途、或透露本邮件之内容。谢谢。<br></font></div></blockquote></div><br></div></body></html>