java.lang.NoClassDefFoundError: com/oracle/truffle/api/TruffleRuntimeAccess while running with self built Graal JDK

Renze Torensma renzetorensma at gmail.com
Mon Nov 23 23:52:30 UTC 2015


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.

Renze

> 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