Author: markt
Date: Mon Sep 27 20:52:49 2010
New Revision: 1001904

URL: http://svn.apache.org/viewvc?rev=1001904&view=rev
Log:
Partial fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=48644
Some Throwables must always be re-thrown

Modified:
    tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java
    tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
    tomcat/trunk/java/org/apache/catalina/connector/Request.java
    tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
    tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java
    tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java
    tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java
    tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
    tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java
    tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java
    tomcat/trunk/java/org/apache/catalina/core/JasperListener.java
    tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
    tomcat/trunk/java/org/apache/catalina/core/StandardContextValve.java
    tomcat/trunk/java/org/apache/catalina/core/StandardHost.java
    tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java
    tomcat/trunk/java/org/apache/catalina/core/StandardServer.java
    tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java
    tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java 
Mon Sep 27 20:52:49 2010
@@ -36,6 +36,7 @@ import org.apache.catalina.Session;
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.deploy.LoginConfig;
 import org.apache.coyote.ActionCode;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.buf.ByteChunk;
@@ -322,6 +323,7 @@ public class FormAuthenticator
         try {
             disp.forward(request.getRequest(), response);
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             String msg = sm.getString("formAuthenticator.forwardLoginFail");
             log.warn(msg, t);
             request.setAttribute(Globals.EXCEPTION_ATTR, t);
@@ -351,6 +353,7 @@ public class FormAuthenticator
         try {
             disp.forward(request.getRequest(), response);
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             String msg = sm.getString("formAuthenticator.forwardErrorFail");
             log.warn(msg, t);
             request.setAttribute(Globals.EXCEPTION_ATTR, t);

Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Mon Sep 
27 20:52:49 2010
@@ -34,6 +34,7 @@ import org.apache.catalina.util.ServerIn
 import org.apache.catalina.util.URLEncoder;
 import org.apache.coyote.ActionCode;
 import org.apache.coyote.Adapter;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.buf.B2CConverter;
@@ -233,6 +234,7 @@ public class CoyoteAdapter implements Ad
             }
             return (!error);
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             if (!(t instanceof IOException)) {
                 log.error(sm.getString("coyoteAdapter.service"), t);
             }
@@ -306,6 +308,7 @@ public class CoyoteAdapter implements Ad
             success = false;
             // Ignore
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             success = false;
             log.error(sm.getString("coyoteAdapter.service"), t);
         } finally {
@@ -406,6 +409,7 @@ public class CoyoteAdapter implements Ad
         } catch (IOException e) {
             // Ignore
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             log.error(sm.getString("coyoteAdapter.service"), t);
         } finally {
             req.getRequestProcessor().setWorkerThreadName(null);

Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Mon Sep 27 
20:52:49 2010
@@ -75,6 +75,7 @@ import org.apache.catalina.util.Enumerat
 import org.apache.catalina.util.ParameterMap;
 import org.apache.catalina.util.StringParser;
 import org.apache.coyote.ActionCode;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.MessageBytes;
@@ -1449,9 +1450,10 @@ public class Request
             try {
                 listener.attributeRemoved(event);
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 
context.getLogger().error(sm.getString("coyoteRequest.attributeEvent"), t);
                 // Error valve will pick this exception up and display it to 
user
-                attributes.put( Globals.EXCEPTION_ATTR, t );
+                attributes.put(Globals.EXCEPTION_ATTR, t);
             }
         }
     }
@@ -1535,6 +1537,7 @@ public class Request
                     listener.attributeAdded(event);
                 }
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 
context.getLogger().error(sm.getString("coyoteRequest.attributeEvent"), t);
                 // Error valve will pick this exception up and display it to 
user
                 attributes.put( Globals.EXCEPTION_ATTR, t );

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Mon Sep 
27 20:52:49 2010
@@ -72,6 +72,7 @@ import org.apache.catalina.util.Enumerat
 import org.apache.catalina.util.RequestUtil;
 import org.apache.catalina.util.ResourceSet;
 import org.apache.catalina.util.ServerInfo;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.naming.resources.DirContextURLStreamHandler;
 import org.apache.naming.resources.Resource;
 import org.apache.tomcat.util.buf.CharChunk;
@@ -281,6 +282,7 @@ public class ApplicationContext
                 mapuri = mapuri.substring(0, slash);
             }
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             return (null);
         }
 
@@ -769,6 +771,7 @@ public class ApplicationContext
                 context.fireContainerEvent("afterContextAttributeRemoved",
                                            listener);
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 context.fireContainerEvent("afterContextAttributeRemoved",
                                            listener);
                 // FIXME - should we do anything besides log these?
@@ -845,6 +848,7 @@ public class ApplicationContext
                                                listener);
                 }
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 if (replaced)
                     context.fireContainerEvent("afterContextAttributeReplaced",
                                                listener);

Modified: 
tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java 
Mon Sep 27 20:52:49 2010
@@ -47,6 +47,7 @@ import javax.servlet.descriptor.JspConfi
 
 import org.apache.catalina.Globals;
 import org.apache.catalina.security.SecurityUtil;
+import org.apache.jasper.util.ExceptionUtils;
 
 
 /**
@@ -238,6 +239,7 @@ public final class ApplicationContextFac
                 return (Servlet) invokeMethod(context, "getServlet", 
                                               new Object[]{name});
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 if (t instanceof ServletException) {
                     throw (ServletException) t;
                 }
@@ -445,6 +447,7 @@ public final class ApplicationContextFac
                 return (T) invokeMethod(context, "createFilter", 
                                               new Object[]{c});
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 if (t instanceof ServletException) {
                     throw (ServletException) t;
                 }
@@ -507,6 +510,7 @@ public final class ApplicationContextFac
                 return (T) invokeMethod(context, "createServlet", 
                                               new Object[]{c});
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 if (t instanceof ServletException) {
                     throw (ServletException) t;
                 }
@@ -622,6 +626,7 @@ public final class ApplicationContextFac
                 return (T) invokeMethod(context, "createListener", 
                                               new Object[]{c});
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 if (t instanceof ServletException) {
                     throw (ServletException) t;
                 }
@@ -771,9 +776,10 @@ public final class ApplicationContextFac
             Method method = context.getClass().getMethod(methodName, clazz);
             return executeMethod(method,context,params);
         } catch (Exception ex){
-            try{
+            try {
                 handleException(ex);
-            }catch (Throwable t){
+            } catch (Throwable t){
+                ExceptionUtils.handleThrowable(t);
                 throw new RuntimeException(t.getMessage());
             }
             return null;

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java Mon 
Sep 27 20:52:49 2010
@@ -47,6 +47,7 @@ import org.apache.catalina.connector.Req
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.connector.ResponseFacade;
 import org.apache.catalina.util.InstanceSupport;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.res.StringManager;
@@ -647,6 +648,7 @@ final class ApplicationDispatcher
                              wrapper.getName()), 
StandardWrapper.getRootCause(e));
             servletException = e;
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
wrapper.getLogger().error(sm.getString("applicationDispatcher.allocateException",
                              wrapper.getName()), e);
             servletException = new ServletException
@@ -721,6 +723,7 @@ final class ApplicationDispatcher
             if (filterChain != null)
                 filterChain.release();
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
wrapper.getLogger().error(sm.getString("standardWrapper.releaseFilters",
                              wrapper.getName()), e);
             // FIXME: Exception handling needs to be similar to what is in the 
StandardWrapperValue
@@ -736,6 +739,7 @@ final class ApplicationDispatcher
                              wrapper.getName()), e);
             servletException = e;
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
wrapper.getLogger().error(sm.getString("applicationDispatcher.deallocateException",
                              wrapper.getName()), e);
             servletException = new ServletException

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java Mon 
Sep 27 20:52:49 2010
@@ -40,6 +40,7 @@ import org.apache.catalina.comet.CometFi
 import org.apache.catalina.comet.CometProcessor;
 import org.apache.catalina.security.SecurityUtil;
 import org.apache.catalina.util.InstanceSupport;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.tomcat.util.res.StringManager;
 
 /**
@@ -259,6 +260,7 @@ final class ApplicationFilterChain imple
                                               filter, request, response, e);
                 throw e;
             } catch (Throwable e) {
+                ExceptionUtils.handleThrowable(e);
                 if (filter != null)
                     support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
                                               filter, request, response, e);
@@ -319,6 +321,7 @@ final class ApplicationFilterChain imple
                                       servlet, request, response, e);
             throw e;
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
                                       servlet, request, response, e);
             throw new ServletException
@@ -448,6 +451,7 @@ final class ApplicationFilterChain imple
                             */
                 throw e;
             } catch (Throwable e) {
+                ExceptionUtils.handleThrowable(e);
                 /*if (filter != null)
                     support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
                             filter, event, e);*/
@@ -499,6 +503,7 @@ final class ApplicationFilterChain imple
                     */
             throw e;
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             /*
             support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
                     servlet, request, response, e);

Modified: tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java Mon 
Sep 27 20:52:49 2010
@@ -104,6 +104,7 @@ public class AprLifecycleListener
                     try {
                         initializeSSL();
                     } catch (Throwable t) {
+                        ExceptionUtils.handleThrowable(t);
                         log.info(sm.getString("aprListener.sslInit"));
                     }
                 }
@@ -116,6 +117,7 @@ public class AprLifecycleListener
                 try {
                     terminateAPR();
                 } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
                     log.info(sm.getString("aprListener.aprDestroy"));
                 }
             }
@@ -164,6 +166,7 @@ public class AprLifecycleListener
             patch = clazz.getField("TCN_PATCH_VERSION").getInt(null);
             apver = major * 1000 + minor * 100 + patch;
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             log.info(sm.getString("aprListener.aprInit",
                     System.getProperty("java.library.path")));
             return;

Modified: tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java Mon Sep 27 
20:52:49 2010
@@ -51,6 +51,7 @@ import org.apache.catalina.connector.Res
 import org.apache.catalina.mbeans.MBeanUtils;
 import org.apache.catalina.util.LifecycleBase;
 import org.apache.catalina.util.LifecycleMBeanBase;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.naming.resources.ProxyDirContext;
@@ -1382,6 +1383,7 @@ public abstract class ContainerBase exte
                 }
                 container.backgroundProcess();
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 log.error("Exception invoking periodic operation: ", t);
             } finally {
                 Thread.currentThread().setContextClassLoader(cl);

Modified: tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java Mon 
Sep 27 20:52:49 2010
@@ -47,6 +47,7 @@ import javax.xml.ws.WebServiceRef;
 import org.apache.catalina.ContainerServlet;
 import org.apache.catalina.Globals;
 import org.apache.catalina.security.SecurityUtil;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.tomcat.InstanceManager;
 import org.apache.tomcat.util.res.StringManager;
 
@@ -409,7 +410,7 @@ public class DefaultInstanceManager impl
                 return clazz;
             }
         } catch (Throwable t) {
-            //ignore
+            ExceptionUtils.handleThrowable(t);
         }
         return classLoader.loadClass(className);
     }

Modified: tomcat/trunk/java/org/apache/catalina/core/JasperListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/JasperListener.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/JasperListener.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/JasperListener.java Mon Sep 27 
20:52:49 2010
@@ -21,6 +21,7 @@ package org.apache.catalina.core;
 import org.apache.catalina.Lifecycle;
 import org.apache.catalina.LifecycleEvent;
 import org.apache.catalina.LifecycleListener;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.res.StringManager;
@@ -64,6 +65,7 @@ public class JasperListener
                               true,
                               this.getClass().getClassLoader());
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 // Should not occur, obviously
                 log.warn("Couldn't initialize Jasper", t);
             }

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Mon Sep 27 
20:52:49 2010
@@ -96,6 +96,7 @@ import org.apache.catalina.util.Extensio
 import org.apache.catalina.util.LifecycleBase;
 import org.apache.catalina.util.RequestUtil;
 import org.apache.catalina.util.URLEncoder;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.naming.ContextBindings;
@@ -1203,6 +1204,7 @@ public class StandardContext extends Con
                 Class<?> clazz = Class.forName(charsetMapperClass);
                 this.charsetMapper = (CharsetMapper) clazz.newInstance();
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 this.charsetMapper = new CharsetMapper();
             }
         }
@@ -2944,6 +2946,7 @@ public class StandardContext extends Con
             try {
                 wrapper = (Wrapper) wrapperClass.newInstance();
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 log.error("createWrapper", t);
                 return (null);
             }
@@ -2959,6 +2962,7 @@ public class StandardContext extends Con
                       (InstanceListener) clazz.newInstance();
                     wrapper.addInstanceListener(listener);
                 } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
                     log.error("createWrapper", t);
                     return (null);
                 }
@@ -2973,6 +2977,7 @@ public class StandardContext extends Con
                         (LifecycleListener) clazz.newInstance();
                     wrapper.addLifecycleListener(listener);
                 } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
                     log.error("createWrapper", t);
                     return (null);
                 }
@@ -2987,6 +2992,7 @@ public class StandardContext extends Con
                       (ContainerListener) clazz.newInstance();
                     wrapper.addContainerListener(listener);
                 } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
                     log.error("createWrapper", t);
                     return (null);
                 }
@@ -4194,6 +4200,7 @@ public class StandardContext extends Con
                         new ApplicationFilterConfig(this, 
filterDefs.get(name));
                     filterConfigs.put(name, filterConfig);
                 } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
                     getLogger().error
                         (sm.getString("standardContext.filterStart", name), t);
                     ok = false;
@@ -4267,6 +4274,7 @@ public class StandardContext extends Con
             try {
                 results[i] = instanceManager.newInstance(listeners[i]);
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 getLogger().error
                     (sm.getString("standardContext.applicationListener",
                                   listeners[i]), t);
@@ -4323,6 +4331,7 @@ public class StandardContext extends Con
                 listener.contextInitialized(event);
                 fireContainerEvent("afterContextInitialized", listener);
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 fireContainerEvent("afterContextInitialized", listener);
                 getLogger().error
                     (sm.getString("standardContext.listenerStart",
@@ -4362,6 +4371,7 @@ public class StandardContext extends Con
                         listener.contextDestroyed(event);
                         fireContainerEvent("afterContextDestroyed", listener);
                     } catch (Throwable t) {
+                        ExceptionUtils.handleThrowable(t);
                         fireContainerEvent("afterContextDestroyed", listener);
                         getLogger().error
                             (sm.getString("standardContext.listenerStop",
@@ -4372,6 +4382,7 @@ public class StandardContext extends Con
                 try {
                     getInstanceManager().destroyInstance(listeners[j]);
                 } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
                     getLogger().error
                        (sm.getString("standardContext.listenerStop",
                             listeners[j].getClass().getName()), t);
@@ -4390,6 +4401,7 @@ public class StandardContext extends Con
                 try {
                     getInstanceManager().destroyInstance(listeners[j]);
                 } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
                     getLogger().error
                         (sm.getString("standardContext.listenerStop",
                             listeners[j].getClass().getName()), t);
@@ -4448,6 +4460,7 @@ public class StandardContext extends Con
             }
             this.resources = proxyDirContext;
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             log.error(sm.getString("standardContext.resourcesStart"), t);
             ok = false;
         }
@@ -4485,6 +4498,7 @@ public class StandardContext extends Con
                 }
             }
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             log.error(sm.getString("standardContext.resourcesStop"), t);
             ok = false;
         }

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContextValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContextValve.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContextValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContextValve.java Mon 
Sep 27 20:52:49 2010
@@ -34,6 +34,7 @@ import org.apache.catalina.comet.CometEv
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.valves.ValveBase;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.apache.tomcat.util.res.StringManager;
 
@@ -187,6 +188,7 @@ final class StandardContextValve
                         listener.requestInitialized(event);
                     }
                 } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
                     
container.getLogger().error(sm.getString("standardContext.requestListener.requestInit",
                                      instances[i].getClass().getName()), t);
                     ServletRequest sreq = request.getRequest();
@@ -216,6 +218,7 @@ final class StandardContextValve
                         listener.requestDestroyed(event);
                     }
                 } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
                     
container.getLogger().error(sm.getString("standardContext.requestListener.requestDestroy",
                                      instances[j].getClass().getName()), t);
                     ServletRequest sreq = request.getRequest();

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardHost.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardHost.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardHost.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardHost.java Mon Sep 27 
20:52:49 2010
@@ -35,6 +35,7 @@ import org.apache.catalina.loader.Webapp
 import org.apache.catalina.mbeans.MBeanUtils;
 import org.apache.catalina.util.LifecycleBase;
 import org.apache.catalina.valves.ValveBase;
+import org.apache.jasper.util.ExceptionUtils;
 
 
 /**
@@ -763,6 +764,7 @@ public class StandardHost extends Contai
                     getPipeline().addValve(valve);
                 }
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 log.error(sm.getString
                     ("standardHost.invalidErrorReportValveClass", 
                      errorReportValveClass), t);

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java Mon Sep 
27 20:52:49 2010
@@ -38,6 +38,7 @@ import org.apache.catalina.connector.Req
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.deploy.ErrorPage;
 import org.apache.catalina.valves.ValveBase;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.res.StringManager;
@@ -471,7 +472,7 @@ final class StandardHostValve
             return (true);
 
         } catch (Throwable t) {
-
+            ExceptionUtils.handleThrowable(t);
             // Report our failure to process this custom page
             container.getLogger().error("Exception Processing " + errorPage, 
t);
             return (false);

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardServer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardServer.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardServer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardServer.java Mon Sep 27 
20:52:49 2010
@@ -44,6 +44,7 @@ import org.apache.catalina.startup.Catal
 import org.apache.catalina.util.LifecycleBase;
 import org.apache.catalina.util.LifecycleMBeanBase;
 import org.apache.catalina.util.ServerInfo;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.buf.StringCache;
@@ -600,6 +601,7 @@ public final class StandardServer extend
            } else
                log.error("StoreConfig mbean not registered" + sname);
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             log.error(t);
         }
 
@@ -629,6 +631,7 @@ public final class StandardServer extend
            } else
                log.error("StoreConfig mbean not registered" + sname);
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             log.error(t);
         }
  

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java Mon Sep 27 
20:52:49 2010
@@ -823,6 +823,7 @@ public class StandardWrapper extends Con
                         } catch (ServletException e) {
                             throw e;
                         } catch (Throwable e) {
+                            ExceptionUtils.handleThrowable(e);
                             throw new ServletException
                                 (sm.getString("standardWrapper.allocate"), e);
                         }
@@ -857,6 +858,7 @@ public class StandardWrapper extends Con
                     } catch (ServletException e) {
                         throw e;
                     } catch (Throwable e) {
+                        ExceptionUtils.handleThrowable(e);
                         throw new ServletException
                             (sm.getString("standardWrapper.allocate"), e);
                     }
@@ -1083,6 +1085,7 @@ public class StandardWrapper extends Con
                 throw new ServletException
                     (sm.getString("standardWrapper.notServlet", actualClass), 
e);
             } catch (Throwable e) {
+                ExceptionUtils.handleThrowable(e);
                 unavailable(null);
 
                 // Added extra log statement for Bugzilla 36630:
@@ -1198,6 +1201,7 @@ public class StandardWrapper extends Con
             // said so, so do not call unavailable(null).
             throw f;
         } catch (Throwable f) {
+            ExceptionUtils.handleThrowable(f);
             getServletContext().log("StandardWrapper.Throwable", f );
             instanceSupport.fireInstanceEvent(InstanceEvent.AFTER_INIT_EVENT,
                                               servlet, f);
@@ -1371,6 +1375,7 @@ public class StandardWrapper extends Con
             }
 
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             instanceSupport.fireInstanceEvent
               (InstanceEvent.AFTER_DESTROY_EVENT, instance, t);
             instance = null;
@@ -1418,6 +1423,7 @@ public class StandardWrapper extends Con
                     }
                 }
             } catch (Throwable t) {
+                ExceptionUtils.handleThrowable(t);
                 instancePool = null;
                 nInstances = 0;
                 unloading = false;
@@ -1613,6 +1619,7 @@ public class StandardWrapper extends Con
                 this.getClass().getClassLoader().loadClass(classname);
             return (ContainerServlet.class.isAssignableFrom(clazz));
         } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
             return (false);
         }
 

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java?rev=1001904&r1=1001903&r2=1001904&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java Mon 
Sep 27 20:52:49 2010
@@ -36,6 +36,7 @@ import org.apache.catalina.connector.Cli
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.valves.ValveBase;
+import org.apache.jasper.util.ExceptionUtils;
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.apache.tomcat.util.log.SystemLogHandler;
 import org.apache.tomcat.util.res.StringManager;
@@ -154,6 +155,7 @@ final class StandardWrapperValve
             throwable = e;
             exception(request, response, e);
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
container.getLogger().error(sm.getString("standardWrapper.allocateException",
                              wrapper.getName()), e);
             throwable = e;
@@ -179,6 +181,7 @@ final class StandardWrapperValve
             throwable = e;
             exception(request, response, e);
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
container.getLogger().error(sm.getString("standardWrapper.acknowledgeException",
                              wrapper.getName()), e);
             throwable = e;
@@ -291,6 +294,7 @@ final class StandardWrapperValve
             throwable = e;
             exception(request, response, e);
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             request.removeAttribute(Globals.JSP_FILE_ATTR);
             container.getLogger().error(sm.getString(
                     "standardWrapper.serviceException", wrapper.getName(),
@@ -316,6 +320,7 @@ final class StandardWrapperValve
                 wrapper.deallocate(servlet);
             }
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
container.getLogger().error(sm.getString("standardWrapper.deallocateException",
                              wrapper.getName()), e);
             if (throwable == null) {
@@ -332,6 +337,7 @@ final class StandardWrapperValve
                 wrapper.unload();
             }
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
container.getLogger().error(sm.getString("standardWrapper.unloadException",
                              wrapper.getName()), e);
             if (throwable == null) {
@@ -391,6 +397,7 @@ final class StandardWrapperValve
             throwable = e;
             exception(request, response, e);
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
container.getLogger().error(sm.getString("standardWrapper.allocateException",
                              wrapper.getName()), e);
             throwable = e;
@@ -466,6 +473,7 @@ final class StandardWrapperValve
             throwable = e;
             exception(request, response, e);
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             request.removeAttribute(Globals.JSP_FILE_ATTR);
             container.getLogger().error(sm.getString(
                     "standardWrapper.serviceException", wrapper.getName(),
@@ -485,6 +493,7 @@ final class StandardWrapperValve
                 wrapper.deallocate(servlet);
             }
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
container.getLogger().error(sm.getString("standardWrapper.deallocateException",
                              wrapper.getName()), e);
             if (throwable == null) {
@@ -501,6 +510,7 @@ final class StandardWrapperValve
                 wrapper.unload();
             }
         } catch (Throwable e) {
+            ExceptionUtils.handleThrowable(e);
             
container.getLogger().error(sm.getString("standardWrapper.unloadException",
                              wrapper.getName()), e);
             if (throwable == null) {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to