java.security.AccessControlException is thrown in case system SecurityManager is reset when running in module mode
Ekaterina Pavlova
ekaterina.pavlova at oracle.com
Thu Jan 26 10:30:49 PST 2012
Hello,
java.security.AccessControlException is thrown in case system SecurityManager is reset when running
application in module mode. The minimized test case is attached. Is this known issue?
Note, the test works fine in legacy mode but fails in module mode.
thanks,
-katya
===
> cat Hello.java
package a;
import java.security.*;
public class Hello {
public static void main(String[] args) {
System.setSecurityManager(new CustomSecurity());
System.out.println("Going to call System.exit");
System.exit(0);
}
}
class CustomSecurity extends SecurityManager {}
> cat module-info.java
module hello @ 1.0 {
requires jdk.base;
class a.Hello;
}
# run in legacy mode
> java a.Hello
Going to call System.exit
# run in module mode
> java -L mlib -m hello
Going to call System.exit
Exception in thread "main" java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "exitVM.0")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:364)
at java.security.AccessController.checkPermission(AccessController.java:555)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:550)
at java.lang.SecurityManager.checkExit(SecurityManager.java:762)
at java.lang.Runtime.exit(Runtime.java:105)
at java.lang.System.exit(System.java:962)
at a.Hello.main(Hello.java:10)
More information about the jigsaw-dev
mailing list