I can confirm the NCDFE. This could be a duplicate of: 7055941: JSR 292 method handle invocation causes excessive deoptimization for types not on boot class path
The workaround is to put the runtime on the boot class path. I also can confirm that the second run of Hanoi is slower with JDK 7. This is the call site invalidation. A recent version of HotSpot runs both Hanois at the same speed. -- Christian On Aug 26, 2011, at 2:00 AM, Mark Roos wrote: > The error I see is that at random times when I am executing Smalltalk on jvm > I get occasional a ClassDefNotFound > during an InvokeExact. Usually when I am doing a demo. After lots of trying > I have a test which fails every time > for me. When it fails the stack depth varies from 1 or 2 invokeExacts to > lots. And its never in the same place or > aligned with anything I can see. Not allways the same method of mine for > instance. > > This test seems to cause the following error on server versions of JDK 7 but > not windows client. And seems to happen > when hotspot gets aggressive on code which was running. Once it happens it > continues on that call site. > Tried on Windows XP, 7 and recent OSX port. Also on the 8/8 Bsd Port from > Stephen but it has other > errors. > > Its at ftp.roos.com user=javadev pw=mlvm RtalkTest.zip. The .gob files are > the smalltalk source code > and the libs are optional debug agents ( not used by this test). > > when run ( java -server -cp RtalkTest.jar ri/experiment2/RtalkTest ) it: > reads and loads the smalltalk image from the .gobs > does an initial Hanoi recursion > does lots of string handling similar to socket rad writes > lists the GWT depths > invalidates the call sites > runs some stuff again to re bootstrap the sites > runs the same Hanoi again. > > Takes a minute or so on my mac. Fails about half way > > Thrashes pretty well all of the facets I am using and generates some pretty > long GWT chains. > > Other than the trap its interesting that the second Hanoi is much slower than > the first. > > Let me know how I can help > > regards > mark > > java.lang.NoClassDefFoundError: ri/core/rtalk/RtObject > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at rtPbc.r204.block$2(RiRmtViewCode addClasses:toList:indent::62) > at > ri.core.rtalk.RtPrimitives.primBlockInvokeWithWith(RtPrimitives.java:1178) > at rtPbc.r111.invoke(RtBlock2Arg value:value:) > at rtPbc.r101.invoke(SortedCollection sort:to::103) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at rtPbc.r100.invoke(SortedCollection reSort:4) > at rtPbc.r103.invoke(SortedCollection addAll::13) > at rtPbc.r205.invoke(Collection asSortedCollection::14) > at rtPbc.r204.invoke(RiRmtViewCode addClasses:toList:indent::72) > at rtPbc.r204.block$1(RiRmtViewCode addClasses:toList:indent::47) > at > ri.core.rtalk.RtPrimitives.primBlockInvokeWith(RtPrimitives.java:1172) > at rtPbc.r46.invoke(RtBlock1Arg value:) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at rtPbc.r45.invoke(OrderedCollection do::14) > at rtPbc.r204.invoke(RiRmtViewCode addClasses:toList:indent::73) > at rtPbc.r184.invoke(RiRmtViewCode classList:48) > at rtPbc.r161.invoke(RiRmtViewCode viewerDefBrowserOn::501) > at rtPbc.r147.invoke(RiRmtViewCode subscribe::53) > at rtPbc.r146.invoke(RiRmtViewCode handleSystemMessage::28) > at rtPbc.r85.block$3(RiSystemMessageManager handleMessage::78) > at > ri.core.rtalk.RtPrimitives.primBlockInvokeWith(RtPrimitives.java:1172) > at rtPbc.r46.invoke(RtBlock1Arg value:) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at java.lang.invoke.MethodHandle.invokeExact(MethodHandle.java) > at rtPbc.r45.invoke(OrderedCollection do::14) > at rtPbc.r85.invoke(RiSystemMessageManager handleMessage::85) > at rtPbc.r5.invoke(RiSystemMessageManager class receiveMessage::10) > at ri.core.rtalk.RtCallSite.sendSmToRtalk(RtCallSite.java:456) > at ri.experiment2.RtalkTest.testSM(RtalkTest.java:205) > at ri.experiment2.RtalkTest.testImageLoadFile(RtalkTest.java:138) > at ri.experiment2.RtalkTest.main(RtalkTest.java:25) > > _______________________________________________ > mlvm-dev mailing list > mlvm-dev@openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
_______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev