https://bz.apache.org/bugzilla/show_bug.cgi?id=58199
Bug ID: 58199
Summary: java.lang.ClassCircularityError
java/security/Permission using custom Security Manager
Product: Tomcat 8
Version: 8.0.20
Hardware: PC
Status: NEW
Severity: normal
Priority: P2
Component: Catalina
Assignee: [email protected]
Reporter: [email protected]
I'm not sure if this is related to the fix that just went in for:
https://bz.apache.org/bugzilla/show_bug.cgi?id=58125
I'm getting this error on Tomcat 8 startup when using my own custom security
manager:
java.lang.ClassCircularityError: java/security/Permission
at com.mytest.MySecurityManager.checkPermission(MySecurityManager.java:15)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1298)
at java.lang.System.getProperty(System.java:708)
at sun.security.action.GetPropertyAction.run(GetPropertyAction.java:84)
at sun.security.action.GetPropertyAction.run(GetPropertyAction.java:49)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.PrintWriter.<init>(PrintWriter.java:116)
at java.io.PrintWriter.<init>(PrintWriter.java:100)
at java.util.logging.SimpleFormatter.format(SimpleFormatter.java:155)
at java.util.logging.StreamHandler.publish(StreamHandler.java:196)
at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:105)
at java.util.logging.Logger.log(Logger.java:616)
at java.util.logging.Logger.doLog(Logger.java:641)
at java.util.logging.Logger.logp(Logger.java:841)
at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:167)
at org.apache.juli.logging.DirectJDKLog.fatal(DirectJDKLog.java:143)
at org.apache.catalina.startup.Catalina.start(Catalina.java:627)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
Note that I'm using tc Server with Tocmat 8.0.20 rather than Tomcat 8 directly.
Not sure if that's relevant.
It works fine with tc Server with Tomcat 7.0.59.
Here's a sample MySecurityManager:
package com.mytest;
public class MySecurityManager extends SecurityManager
{
public MySecurityManager()
{
super();
}
@Override
public void checkPermission(java.security.Permission perm)
{
if (perm == null) {
throw new NullPointerException("permission can't be null");
}
String propertyName = perm.getName();
}
@Override
public void checkPermission(java.security.Permission perm, Object context)
{
checkPermission(perm);
}
}
It seems to blow up when I get to the perm.getName() check.
Any ideas?
Thanks,
Ken
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]