PS. The ant rmic task doesn’t work because it loads rmic using Class.forName, since its in the sun namespace, it doesn't work with jdk9.
Will have to work out how to call rmic directly on the comnand line, at least for IIOP stubs. Regards, Peter. Sent from my Samsung device. Include original message ---- Original message ---- From: Peter <j...@zeus.net.au> Sent: 14/08/2016 04:20:26 pm To: dev@river.apache.org <dev@river.apache.org> Subject: Re: Testing Apache River with JDK 9 Early Access builds After significant editing of build files to remove rmic stub generation and all uses of the jre lib extensions directory in command line options, it is possible to compile and run tests using jdk9. Note that while rmic is present, ant's rmic task doesn't find it. For tests still using sun internal implementation classes I get errors. Note that this does put an expiry date on the 2.3 branch with java 8 EOL, as there are numerous uses of internal sun classes that have been refactored out in 3, selecting the new concurrent policy provider instead of the sun policy provider will fix this particular test failure : [java] ----------------------------------------- [java] [java] Running org/apache/river/test/spec/policyprovider/policyFileProvider/UmbrellaGrants.td [java] Time is Sun Aug 14 15:55:05 AEST 2016 [java] Starting test in separate process with command: [java] 'C:\Program Files\Java\jdk-9\bin\java' -Djava.security.manager=org.apache.river.api.securityCombinerSecurityManager -Djava.security.policy=file:/C:/Users/User/Documents/NetBeansProjects/River/trunk/qa/src/org/apache/river/test/spec/policyprovider/policyFileProvider/policyProviderUmbrellaGrant.policy -cp C:\Users\User\Documents\NetBeansProjects\River\trunk\qa\lib\jiniharness.jar;C:\Users\User\Documents\NetBeansProjects\River\trunk\qa\lib\jinitests.jar;\mergedpolicyprovider.jar;\jsk-policy.jar;C:\Users\User\Documents\NetBeansProjects\River\trunk\lib\jsk-platform.jar;C:\Users\User\Documents\NetBeansProjects\River\trunk\lib\jsk-lib.jar;C:\Users\User\Documents\NetBeansProjects\River\trunk\lib\high-scale-lib.jar;C:\Users\User\Documents\NetBeansProjects\River\trunk\lib\custard-apple-1.0.3.jar -ea -esa -Dorg.apache.river.jsk.port=9080 -Dorg.apache.river.qa.port=9081 -Dorg.apache.river.jsk.home=C:\Users\User\Documents\NetBeansProjects\River\trunk -Dorg.apache.river.qa.home=C:\Users\User\Documents\NetBeansProjects\River\trunk\qa -Dorg.apache.river.qa.harness.harnessJar=C:\Users\User\Documents\NetBeansProjects\River\trunk\qa\lib\jiniharness.jar -Dorg.apache.river.qa.harness.testJar=C:\Users\User\Documents\NetBeansProjects\River\trunk\qa\lib\jinitests.jar -Dorg.apache.river.qa.harness.runjiniserver=false -Dorg.apacheriver.qa.harness.runkitserver=false -Djava.security.properties=file:/C:/Users/User/Documents/NetBeansProjects/River/trunk/qa/src/org/apache/river/test/spec/policyprovider/policyFileProvider/securityprovider.properties -Dorg.apache.river.qa.harness.testhosts= -Djava.util.logging.configfile=C:\Users\User\Documents\NetBeansProjects\River\trunk\qa\src\org\apache\river\test\resources\qa1.logging -Djava.rmi.server.useCodebaseOnly=false -Dnet.jini.core.lookup.ServiceRegistrar.portAbitraryIfInUse=true -Dorg.apache.river.test.home=C:\Users\User\Documents\NetBeansProjects\River\trunk\qa -Dorg.apache.river.test.port=9082 -Dorg.apache.river.qa.harness.policies=file:/C:/Users/User/Documents/NetBeansProjects/River/trunk/qa/src/org/apache/river/test/resources/jinitest.policy org.apache.river.qa.harness.MasterTest org/apache/river/test/spec/policyprovider/policyFileProvider/UmbrellaGrants.td [java] [java] TIME: 3:55:07 PM [java] [java] MasterTest.doTest INFO: [java] ============================== CALLING CONSTRUCT() ============================== [java] [java] MasterTest.doTest INFO: [java] =============================== CALLING RUN() =============================== [java] [java] net.jini.security.policy.PolicyInitializationException: unable to construct base policy [java] at net.jini.security.policy.PolicyFileProvider.<init>(PolicyFileProvider.java:126) [java] at org.apache.river.test.spec.policyprovider.policyFileProvider.PolicyFileProviderTestBase.createPolicyFileProvider(PolicyFileProviderTestBase.java:82) [java] at org.apache.river.test.spec.policyprovider.policyFileProvider.UmbrellaGrants.run(UmbrellaGrants.java:257) [java] at org.apache.river.qa.harness.MasterTest.doTest(MasterTest.java:256) [java] at org.apache.river.qa.harness.MasterTest.main(MasterTest.java:144) [java] Caused by: java.lang.IllegalAccessException: class net.jini.security.policy.PolicyFileProvider cannot access class sun.security.provider.PolicyFile (in module java.base) because module java.base does not export sun.security.provider to unnamed module @7193666c [java] at jdk.internal.reflect.Reflection.throwIllegalAccessException(java.base@9-ea/Reflection.java:405) [java] at jdk.internal.reflect.Reflection.throwIllegalAccessException(java.base@9-ea/Reflection.java:396) [java] at jdk.internal.reflect.Reflection.ensureMemberAccess(java.base@9-ea/Reflection.java:98) [java] at java.lang.Class.newInstance(java.base@9-ea/Class.java:561) [java] at net.jini.security.policy.PolicyFileProvider.<init>(PolicyFileProviderjava:122) [java] ... 4 more [java] org.apache.river.qa.harness.TestException: [java] new PolicyFileProvider() [java] throws: net.jini.security.policy.PolicyInitializationException: unable to construct base policy [java] expected: new PolicyFileProvider() [java] [java] at org.apache.river.test.spec.policyprovider.policyFileProvider.PolicyFileProviderTestBase.createPolicyFileProvider(PolicyFileProviderTestBasejava:85) [java] at org.apache.river.test.spec.policyprovider.policyFileProvider.UmbrellaGrants.run(UmbrellaGrants.java:257) [java] at org.apache.river.qa.harness.MasterTest.doTest(MasterTest.java:256) [java] at org.apacheriver.qa.harness.MasterTest.main(MasterTest.java:144) [java] MasterTest.doTest INFO: [java] ============================ CALLING TEARDOWN() ============================= [java] [java] [java] TIME: 3:55:09 PM [java] [java] Test process was destroyed and returned code 1 [java] org/apache/river/test/spec/policyprovider/policyFileProvider/UmbrellaGrants.td [java] Test Failed: Test Failed: org.apache.river.qa.harness.TestException: [java] new PolicyFileProvider() [java] throws: net.jini.security.policy.PolicyInitializationException: unable to construct base policy [java] expected: new PolicyFileProvider() [java] [java] [java] [java] ----------------------------------------- Sent from my Samsung device. Include original message ---- Original message ---- From: Peter <j...@zeus.net.au> Sent: 10/08/2016 10:40:42 am To: dev@river.apache.org <dev@river.apache.org> Subject: Re: Testing Apache River with JDK 9 Early Access builds No and yes. The extension ClassLoader cannot be used to load the policy provider in jdk9. Jini's policy provider was loaded by the extension ClassLoader to avoid a deadlock bug. The only details of this bug we have are documented in net.jini.security.DynamicPolicyProvider's source comments. I haven't checked yet, but it wont take long to try on Jenkins. Regards, Peter. Sent from my Samsung device. Include original message ---- Original message ---- From: Patricia Shanahan <p...@acm.org> Sent: 10/08/2016 03:38:03 am To: d...@riverapache.org Subject: Testing Apache River with JDK 9 Early Access builds I have received a request from Oracle's OpenJDK Quality Group for information on any testing with have done with JDK 9 early access builds. Has any testing been done? Is that a reasonable project going forward?