On Tue, May 23, 2017 at 10:51 AM, David Holmes <david.hol...@oracle.com> wrote: > On 23/05/2017 6:20 PM, Alan Bateman wrote: >> >> Volker - one suggestion for your experiments is to change your JDK 8 >> security properties file (java.security) to add "com.sun.crypto.provider." >> to the value of the "package.access" property. That should mean you will get >> the same AccessControlException with JDK 8 as you do with JDK 9. It may help >> to reason about the JDK 8 behavior, including what is triggered by >> verification, before looking at 9. >> >> On the "Error: A JNI error has occurred, please check your installation >> and try again" message. It's not core to your questions of course but I >> agree it is confusing. Ramanand Patil had a number of attempts on >> core-libs-dev to improve this and it may be that more is needed there. > > > Yes I was sure we had agreed to remove that and I don't see it in Oracle JDK > so perhaps it is only in OpenJDK launcher? >
Hi David, not sure what you mean? Does the Oracle JDK come with another launcher compared to the OpenJDK? I've just tried with the latest EA build 170 (which I assume is an Oracle JDK) and I see exactly the same error: java -Djava.security.manager -showversion Tricky "" java version "9-ea" Java(TM) SE Runtime Environment (build 9-ea+170) Java HotSpot(TM) Server VM (build 9-ea+170, mixed mode) Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.com.sun.crypto.provider") at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:471) at java.base/java.security.AccessController.checkPermission(AccessController.java:894) at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:561) at java.base/java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1534) at java.base/java.lang.ClassLoader$1.run(ClassLoader.java:671) at java.base/java.lang.ClassLoader$1.run(ClassLoader.java:669) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.lang.ClassLoader.checkPackageAccess(ClassLoader.java:669) at java.base/java.lang.Class.getDeclaredMethods0(Native Method) at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3134) at java.base/java.lang.Class.getMethodsRecursive(Class.java:3275) at java.base/java.lang.Class.getMethod0(Class.java:3261) at java.base/java.lang.Class.getMethod(Class.java:2062) at java.base/sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:712) at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:570) So what do you mean when saying that you don't see it in the Oracle JDK? Regards, Volker > David > > >> -Alan >> >