https://issues.apache.org/bugzilla/show_bug.cgi?id=46408

           Summary: Invalid cast in SecurityUtil
           Product: Tomcat 6
           Version: 6.0.18
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
        AssignedTo: [email protected]
        ReportedBy: [email protected]


In case of PrivilegedActionException thrown in:

    private static void execute(final Method method,
                                final Object targetObject, 
                                final Object[] targetArguments,
                                Principal principal)

method, there is a false assumption in catch block, that
PrivilegedActionException.getException() will return InvocationTargetException.
It could be also IllegalAccessException and possibly other types of exceptions
as well.

Here is the stack trace provoked on catalina shutdown when enabled security
manager:
java.lang.ClassCastException: java.lang.IllegalAccessException cannot be cast
to java.lang.reflect.InvocationTargetException
        at
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:278)
        at
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
        at
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:178)
        at
org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:326)
        at
org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:3744)
        at
org.apache.catalina.core.StandardContext.stop(StandardContext.java:4513)
        at
org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:924)
        at
org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1191)
        at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1162)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1086)
        at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098)
        at
org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
        at
org.apache.catalina.core.StandardService.stop(StandardService.java:584)
        at
org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
        at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.stop(Bootstrap.java:300)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.apache.commons.daemon.support.DaemonLoader.stop(DaemonLoader.java:200)


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- 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]

Reply via email to