java.lang.NoClassDefFoundError: com/oracle/truffle/api/TruffleRuntimeAccess while running with self built Graal JDK
Doug Simon
doug.simon at oracle.com
Mon Nov 23 23:38:50 UTC 2015
Sorry, I’m not that familiar with the sl command so didn’t see the issue straight away. You need to use the --jdk option. E.g.:
dsimon at kurz ~/g/graal-compiler> mx -v --jdk jvmci sl ../truffle/truffle/com.oracle.truffle.sl.test/src/tests/HelloWorld.sl
/Users/dsimon/graal/graal-jvmci-8/jdk1.8.0_65/product/bin/java -jvmci -d64 -Djvmci.compiler=graal -Xbootclasspath/p:/Users/dsimon/graal/truffle/mxbuild/dists/truffle-api.jar -cp /Users/dsimon/graal/truffle/mxbuild/dists/truffle-api.jar:/Users/dsimon/graal/truffle/mxbuild/truffle/com.oracle.truffle.sl/bin com.oracle.truffle.sl.SLLanguage ../truffle/truffle/com.oracle.truffle.sl.test/src/tests/HelloWorld.sl
Hello World!
-Doug
> On 24 Nov 2015, at 00:30, Renze Torensma <renzetorensma at gmail.com> wrote:
>
> When I select the Oracle JDK it works:
>
> Renzes-MacBook-Air:graal-compiler Renze$ mx -v sl ../truffle/truffle/com.oracle.truffle.sl.test/src/tests/HelloWorld.sl
> Please select a default JDK:
> [1] Java 1.8.0_66 (1.8) from /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home
> [2] Java 1.8.0_60 (1.8) from /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
> [3] Java 1.7.0_75 (1.7) from /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
> [4] Java 1.6.0_65 (1.6) from /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
> [5] <other>
> Enter number of selection: 2
> /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java -d64 -cp /Users/Renze/Desktop/Scriptie/Workspace/graal/truffle/mxbuild/dists/truffle-api.jar:/Users/Renze/Desktop/Scriptie/Workspace/graal/truffle/mxbuild/truffle/com.oracle.truffle.sl/bin com.oracle.truffle.sl.SLLanguage ../truffle/truffle/com.oracle.truffle.sl.test/src/tests/HelloWorld.sl
> Hello World!
>
>
> When I select the Graal JDK I get the same error:
>
> Renzes-MacBook-Air:graal-compiler Renze$ mx -v sl ../truffle/truffle/com.oracle.truffle.sl.test/src/tests/HelloWorld.sl
> Please select a default JDK:
> [1] Java 1.8.0_66 (1.8) from /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home
> [2] Java 1.8.0_60 (1.8) from /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
> [3] Java 1.7.0_75 (1.7) from /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
> [4] Java 1.6.0_65 (1.6) from /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
> [5] <other>
> Enter number of selection: 5
> Enter path of JDK: /Users/Renze/Desktop/Scriptie/Workspace/graal/jvmci/jdk1.8.0_60/product
> /Users/Renze/Desktop/Scriptie/Workspace/graal/jvmci/jdk1.8.0_60/product/bin/java -d64 -cp /Users/Renze/Desktop/Scriptie/Workspace/graal/truffle/mxbuild/dists/truffle-api.jar:/Users/Renze/Desktop/Scriptie/Workspace/graal/truffle/mxbuild/truffle/com.oracle.truffle.sl/bin com.oracle.truffle.sl.SLLanguage ../truffle/truffle/com.oracle.truffle.sl.test/src/tests/HelloWorld.sl
> Exception in thread "main" java.lang.InternalError
> at com.oracle.truffle.api.Truffle$1.run(Truffle.java:86)
> at com.oracle.truffle.api.Truffle$1.run(Truffle.java:1)
> at java.security.AccessController.doPrivileged(Native Method)
> at com.oracle.truffle.api.Truffle.initRuntime(Truffle.java:47)
> at com.oracle.truffle.api.Truffle.<clinit>(Truffle.java:37)
> at com.oracle.truffle.api.impl.Accessor.<clinit>(Accessor.java:270)
> at com.oracle.truffle.api.TruffleLanguage.<clinit>(TruffleLanguage.java:441)
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at com.oracle.truffle.api.Truffle$1.run(Truffle.java:83)
> ... 6 more
> Caused by: java.lang.NoClassDefFoundError: com/oracle/truffle/api/TruffleRuntimeAccess (suppress with -Djvmci.service.suppressNoClassDefFoundError=true)
> at jdk.vm.ci.service.Services$1.computeValue(Services.java:59)
> at jdk.vm.ci.service.Services$1.computeValue(Services.java:50)
> at java.lang.ClassValue.getFromHashMap(ClassValue.java:227)
> at java.lang.ClassValue.getFromBackup(ClassValue.java:209)
> at java.lang.ClassValue.get(ClassValue.java:115)
> at jdk.vm.ci.service.Services.loadSingle(Services.java:105)
> ... 11 more
> Caused by: java.lang.ClassNotFoundException: com.oracle.truffle.api.TruffleRuntimeAccess
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at jdk.vm.ci.service.Services.getServiceImpls(Native Method)
> at jdk.vm.ci.service.Services.access$000(Services.java:37)
> at jdk.vm.ci.service.Services$1.computeValue(Services.java:54)
> ... 16 more
> [exit code: 1]
> File "/Users/Renze/Desktop/Scriptie/Workspace/mx/mx.py", line 11500, in <module>
> main()
> File "/Users/Renze/Desktop/Scriptie/Workspace/mx/mx.py", line 11484, in main
> retcode = c(command_args)
> File "/Users/Renze/Desktop/Scriptie/Workspace/graal/truffle/mx.truffle/mx_truffle.py", line 46, in sl
> mx.run_java(vmArgs + ['-cp', mx.classpath(["TRUFFLE_API", "com.oracle.truffle.sl"]), "com.oracle.truffle.sl.SLLanguage"] + slArgs)
> File "/Users/Renze/Desktop/Scriptie/Workspace/mx/mx.py", line 6435, in run_java
> return jdk.run_java(args, nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd, timeout=timeout, env=env, addDefaultArgs=addDefaultArgs)
> File "/Users/Renze/Desktop/Scriptie/Workspace/mx/mx.py", line 6893, in run_java
> return run(cmd, nonZeroIsFatal=nonZeroIsFatal, out=out, err=err, cwd=cwd)
> File "/Users/Renze/Desktop/Scriptie/Workspace/mx/mx.py", line 6620, in run
> abort(retcode)
> File "/Users/Renze/Desktop/Scriptie/Workspace/mx/mx.py", line 7109, in abort
> traceback.print_stack()
>
>
> Renze
>
>> On 24 nov. 2015, at 00:13, Doug Simon <doug.simon at oracle.com> wrote:
>>
>> What happens when you run this in your graal-compiler directory:
>>
>> mx -v sl ../truffle/truffle/com.oracle.truffle.sl.test/src/tests/HelloWorld.sl
>>
>> -Doug
>>
>>> On 23 Nov 2015, at 23:56, Renze Torensma <renzetorensma at gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> After following the instructions on the wiki page for building a Graal VM (https://wiki.openjdk.java.net/display/Graal/Instructions <https://wiki.openjdk.java.net/display/Graal/Instructions>) and setting up Eclipse (https://wiki.openjdk.java.net/display/Graal/Eclipse <https://wiki.openjdk.java.net/display/Graal/Eclipse>) I managed to get SL running on a normal JDK (1.8.0_60) but when I select the Graal JDK I built (same version, 1.8.0_60) as alternative JRE I get a java.lang.InternalError:
>>>
>>> Exception in thread "main" java.lang.InternalError
>>> at com.oracle.truffle.api.Truffle$1.run(Truffle.java:86)
>>> at com.oracle.truffle.api.Truffle$1.run(Truffle.java:1)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at com.oracle.truffle.api.Truffle.initRuntime(Truffle.java:47)
>>> at com.oracle.truffle.api.Truffle.<clinit>(Truffle.java:37)
>>> at com.oracle.truffle.api.impl.Accessor.<clinit>(Accessor.java:270)
>>> at com.oracle.truffle.api.TruffleLanguage.<clinit>(TruffleLanguage.java:441)
>>> Caused by: java.lang.reflect.InvocationTargetException
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:497)
>>> at com.oracle.truffle.api.Truffle$1.run(Truffle.java:83)
>>> ... 6 more
>>> Caused by: java.lang.NoClassDefFoundError: com/oracle/truffle/api/TruffleRuntimeAccess (suppress with -Djvmci.service.suppressNoClassDefFoundError=true)
>>> at jdk.vm.ci.service.Services$1.computeValue(Services.java:59)
>>> at jdk.vm.ci.service.Services$1.computeValue(Services.java:50)
>>> at java.lang.ClassValue.getFromHashMap(ClassValue.java:227)
>>> at java.lang.ClassValue.getFromBackup(ClassValue.java:209)
>>> at java.lang.ClassValue.get(ClassValue.java:115)
>>> at jdk.vm.ci.service.Services.loadSingle(Services.java:105)
>>> ... 11 more
>>>
>>> The workspace reports 0 problems, even no warnings about deprecated code which seems a little odd to me. I’m not sure what I’m doing wrong, and I don’t really know how to use the provided Truffle and Graal builds on http://lafo.ssw.uni-linz.ac.at/builds <http://lafo.ssw.uni-linz.ac.at/builds> to check if that would fix the problem. I tested on Eclipse Luna and Eclipse Mars and with JDK 1.8.0_60 and 1.8.0_66 but the error happens in all cases.
>>>
>>> Thanks,
>>> Renze
>>
>
More information about the graal-dev
mailing list