Finally a test case for the ClassNotFound
Christian Thalinger
christian.thalinger at oracle.com
Fri Aug 26 04:48:15 PDT 2011
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 at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20110826/4509f11f/attachment-0001.html
More information about the mlvm-dev
mailing list