java.lang.NoClassDefFoundError: com/oracle/truffle/api/TruffleRuntimeAccess while running with self built Graal JDK
Doug Simon
doug.simon at oracle.com
Tue Nov 24 00:01:25 UTC 2015
> On 24 Nov 2015, at 00:52, Renze Torensma <renzetorensma at gmail.com> wrote:
>
> Thanks that does work indeed! Any idea how I can also get Eclipse working? When I add —jdk jvmci as VM argument I get:
>
> Unrecognized option: --jdk
> Error: Could not create the Java Virtual Machine.
> Error: A fatal exception has occurred. Program will exit.
That’s because --jdk is a mx option, not a VM option. You need to look at the command line issued by mx to see how to configure the VM arguments in Eclipse. You probably need to add:
-Djvmci.compiler=graal -Xbootclasspath/p:/Users/Renze/Desktop/Scriptie/Workspace/graal/truffle/mxbuild/dists/truffle-api.jar
-Doug
>> On 24 nov. 2015, at 00:38, Doug Simon <doug.simon at oracle.com> wrote:
>>
>> 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