db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6856) Make it possible to build Derby using JDK 9
Date Sat, 10 Dec 2016 20:53:58 GMT

    [ https://issues.apache.org/jira/browse/DERBY-6856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15738473#comment-15738473
] 

Rick Hillegas commented on DERBY-6856:
--------------------------------------

I compiled and tested Derby with build 148 of jdk 9. Compilation succeeded. The errors which
I saw on build 144 have gone away.

However, I see the following new problems when I run the tests under jdk 9. These problems
surface regardless of whether I compile Derby with jdk 8 or jdk 9:

The derbyall suite was not found when I ran the usual command:

{noformat}
  java -Dverbose=true org.apache.derbyTesting.functionTests.harness.RunSuite derbyall
{noformat}

And the junit tests had a module-related error:

{noformat}
There was 1 error:
1) testSerialization(org.apache.derbyTesting.unitTests.junit.SystemPrivilegesPermissionTest)java.lang.reflect.InaccessibleObjectException:
Unable to make field private java.lang.String java.security.Permission.name accessible: module
java.base does not "opens java.security" to unnamed module @6d1d4d7
	at java.base/jdk.internal.reflect.Reflection.throwInaccessibleObjectException(Reflection.java:427)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:201)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:171)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:165)
	at org.apache.derbyTesting.unitTests.junit.SystemPrivilegesPermissionTest.setField(SystemPrivilegesPermissionTest.java:1039)
	at org.apache.derbyTesting.unitTests.junit.SystemPrivilegesPermissionTest.createDBPermNoCheck(SystemPrivilegesPermissionTest.java:998)
	at org.apache.derbyTesting.unitTests.junit.SystemPrivilegesPermissionTest.testDatabasePermissionSerialization(SystemPrivilegesPermissionTest.java:826)
	at org.apache.derbyTesting.unitTests.junit.SystemPrivilegesPermissionTest.testSerialization(SystemPrivilegesPermissionTest.java:784)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:120)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
	at junit.extensions.TestSetup.run(TestSetup.java:25)

FAILURES!!!
Tests run: 14023,  Failures: 0,  Errors: 1
{noformat}

I am not inclined to spend the considerable time which I expended scripting the problems with
build 144. I am cautiously hopeful that these errors will not recur in the next build of JDK
9.


> Make it possible to build Derby using JDK 9
> -------------------------------------------
>
>                 Key: DERBY-6856
>                 URL: https://issues.apache.org/jira/browse/DERBY-6856
>             Project: Derby
>          Issue Type: Improvement
>          Components: Build tools
>    Affects Versions: 10.12.1.1
>            Reporter: Rick Hillegas
>         Attachments: PTest.java, derby-6856-01-ab-addShardingKey.diff, derby-6856-01-ac-cleanup.diff,
derby-6856-02-aa-addShardingKey.diff, derby-6856-03-aa-autoboxingDeprecationWarnings.diff,
derby-6856-03-ab-autoboxingDeprecationWarnings.diff, derby-6856-04-aa-autoboxingDeprecationWarnings-part2.diff,
derby-6856-04-ab-autoboxingDeprecationWarnings-part2.diff, derby-6856-05-ac-roundingMode-Class.newInstance.diff,
derby-6856-05-af-roundingMode-Class.getDeclaredConstructor.diff, derby-6856-05-ag-roundingMode-Class.newInstance.diff,
derby-6856-06-aa-observable.diff, derby-6856-07-aa-oneMoreNewInstance.diff, derby-6856-08-aa-cleanupJavadoc.diff,
derby-6856-09-aa-javadocEntities.diff, derby-6856-XX-ab-base.diff, derby-6856-XX-ac-base.diff,
ptestScript
>
>
> Derby can't be built with JDK 9. Java 9 introduces new JDBC classes like java.sql.ShardingKey
and methods which refer to these new classes.
> In addition, project Jigsaw has created a new way to name classes (see http://openjdk.java.net/jeps/220).
This breaks the PropertySetter build tool which we use so that old JVMs can compile Derby
and so that Derby can be compiled to run on old JVMs.
> It is likely that we will need to leave this issue open throughout the development cycle
of Java 9.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message