-
Bug
-
Resolution: Fixed
-
P2
-
10
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8196652 | 11 | Igor Veresov | P2 | Resolved | Fixed | b01 |
JDK-8197685 | 10u-cpu | Igor Veresov | P2 | Resolved | Fixed | master |
JDK-8200930 | 10.0.2 | Unassigned | P2 | Resolved | Fixed | b01 |
JDK-8196700 | 10.0.1 | Igor Veresov | P2 | Resolved | Fixed | b04 |
In the process of building JDK snapshots for including in Graal testing[1], I've discovered a problem due to some packages shared between Truffle and Labs Graal that are being included in OpenJDK Graal in a non-exported manner. This means we get permission errors when trying to test Truffle on JDK 10:
dsimon@kruger-4 ~/h/g/truffle> java -version
java version "10-ea" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10-ea+41)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10-ea+41, mixed mode)
dsimon@kruger-4 ~/h/g/truffle> mx build
dsimon@kruger-4 ~/h/g/truffle> mx unittest --fail-fast PrimitiveRawArrayInteropTest#boolOp
MxJUnitCore
JUnit version 4.12
Single method selected - fail fast not supported
.E
boolOp(com.oracle.truffle.api.interop.java.test.PrimitiveRawArrayInteropTest)
java.lang.IllegalAccessError: class com.oracle.truffle.api.TruffleLanguage (in unnamed module @0x275710fc) cannot access class org.graalvm.options.OptionDescriptors (in module jdk.internal.vm.compiler) because module jdk.internal.vm.compiler does not export org.graalvm.options to unnamed module @0x275710fc
at com.oracle.truffle.api.TruffleLanguage.getOptionDescriptors(TruffleLanguage.java:470)
The problem is that the org.graalvm.options package is being included in JDK Graal even though it's not used by OpenJDK Graal. To fix this, src/jdk.internal.vm.compiler/share/classes/org.graalvm.options must be removed from JDK 10 sources. I know it's late in the game but without this, Truffle developers will never be able to use JDK 10 without using a bunch of --add-exports or --add-opens VM options.
dsimon@kruger-4 ~/h/g/truffle> java -version
java version "10-ea" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10-ea+41)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10-ea+41, mixed mode)
dsimon@kruger-4 ~/h/g/truffle> mx build
dsimon@kruger-4 ~/h/g/truffle> mx unittest --fail-fast PrimitiveRawArrayInteropTest#boolOp
MxJUnitCore
JUnit version 4.12
Single method selected - fail fast not supported
.E
boolOp(com.oracle.truffle.api.interop.java.test.PrimitiveRawArrayInteropTest)
java.lang.IllegalAccessError: class com.oracle.truffle.api.TruffleLanguage (in unnamed module @0x275710fc) cannot access class org.graalvm.options.OptionDescriptors (in module jdk.internal.vm.compiler) because module jdk.internal.vm.compiler does not export org.graalvm.options to unnamed module @0x275710fc
at com.oracle.truffle.api.TruffleLanguage.getOptionDescriptors(TruffleLanguage.java:470)
The problem is that the org.graalvm.options package is being included in JDK Graal even though it's not used by OpenJDK Graal. To fix this, src/jdk.internal.vm.compiler/share/classes/org.graalvm.options must be removed from JDK 10 sources. I know it's late in the game but without this, Truffle developers will never be able to use JDK 10 without using a bunch of --add-exports or --add-opens VM options.
- backported by
-
JDK-8196652 [Graal] remove unused org.graalvm.options package
-
- Resolved
-
-
JDK-8196700 [Graal] remove unused org.graalvm.options package
-
- Resolved
-
-
JDK-8197685 [Graal] remove unused org.graalvm.options package
-
- Resolved
-
-
JDK-8200930 [Graal] remove unused org.graalvm.options package
-
- Resolved
-