From: markt Date: Mon, 27 Sep 2010 21:32:25 +0000 (+0000) Subject: Partial fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=48644 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=9b7320f749d04c7a0624d5e641dc9b9ba6a46534;p=tomcat7.0 Partial fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=48644 Some Throwables must always be re-thrown git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1001915 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/deploy/ErrorPage.java b/java/org/apache/catalina/deploy/ErrorPage.java index db4943fba..1db40fb45 100644 --- a/java/org/apache/catalina/deploy/ErrorPage.java +++ b/java/org/apache/catalina/deploy/ErrorPage.java @@ -92,7 +92,7 @@ public class ErrorPage implements Serializable { try { this.errorCode = Integer.parseInt(errorCode); - } catch (Throwable t) { + } catch (NumberFormatException nfe) { this.errorCode = 0; } diff --git a/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java b/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java index dd9d71579..cb70eb446 100644 --- a/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java +++ b/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java @@ -32,6 +32,7 @@ import org.apache.catalina.authenticator.SingleSignOn; import org.apache.catalina.ha.CatalinaCluster; import org.apache.catalina.ha.ClusterManager; import org.apache.catalina.util.LifecycleBase; +import org.apache.jasper.util.ExceptionUtils; @@ -149,6 +150,7 @@ public class ClusterSingleSignOn "There is no Cluster for ClusterSingleSignOn"); } } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); throw new LifecycleException( "ClusterSingleSignOn exception during clusterLoad " + t); } diff --git a/java/org/apache/catalina/ha/session/DeltaManager.java b/java/org/apache/catalina/ha/session/DeltaManager.java index 1388efdbe..820594ec7 100644 --- a/java/org/apache/catalina/ha/session/DeltaManager.java +++ b/java/org/apache/catalina/ha/session/DeltaManager.java @@ -787,6 +787,7 @@ public class DeltaManager extends ClusterManagerBase{ getAllClusterSessions(); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); log.error(sm.getString("deltaManager.managerLoad"), t); } diff --git a/java/org/apache/catalina/loader/WebappClassLoader.java b/java/org/apache/catalina/loader/WebappClassLoader.java index 514761889..46c88a620 100644 --- a/java/org/apache/catalina/loader/WebappClassLoader.java +++ b/java/org/apache/catalina/loader/WebappClassLoader.java @@ -70,6 +70,7 @@ import org.apache.catalina.LifecycleException; import org.apache.catalina.LifecycleListener; import org.apache.catalina.LifecycleState; import org.apache.jasper.servlet.JasperLoader; +import org.apache.jasper.util.ExceptionUtils; import org.apache.naming.JndiPermission; import org.apache.naming.resources.ProxyDirContext; import org.apache.naming.resources.Resource; @@ -2105,6 +2106,7 @@ public class WebappClassLoader } } } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); if (log.isDebugEnabled()) { log.debug("Could not set field " + field.getName() + " to null in class " + clazz.getName(), t); @@ -2113,6 +2115,7 @@ public class WebappClassLoader } } } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); if (log.isDebugEnabled()) { log.debug("Could not clean fields for class " + clazz.getName(), t); } @@ -2162,6 +2165,7 @@ public class WebappClassLoader } } } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); if (log.isDebugEnabled()) { log.debug("Could not set field " + field.getName() + " to null in object instance of class " @@ -3273,7 +3277,7 @@ public class WebappClassLoader } else { clazz = Class.forName(triggers[i]); } - } catch (Throwable t) { + } catch (Exception e) { clazz = null; } if (clazz == null) diff --git a/java/org/apache/catalina/loader/WebappLoader.java b/java/org/apache/catalina/loader/WebappLoader.java index 1fcd3542f..d8ed5a665 100644 --- a/java/org/apache/catalina/loader/WebappLoader.java +++ b/java/org/apache/catalina/loader/WebappLoader.java @@ -55,6 +55,7 @@ import org.apache.catalina.core.StandardContext; 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.naming.resources.DirContextURLStreamHandler; import org.apache.naming.resources.DirContextURLStreamHandlerFactory; import org.apache.naming.resources.Resource; @@ -568,6 +569,7 @@ public class WebappLoader extends LifecycleMBeanBase // Log and continue anyway, this is not critical log.error("Error registering jndi stream handler", e); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); // This is likely a dual registration log.info("Dual registration of jndi stream handler: " + t.getMessage()); @@ -622,6 +624,7 @@ public class WebappLoader extends LifecycleMBeanBase .registerComponent(classLoader, cloname, null); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); log.error( "LifecycleException ", t ); throw new LifecycleException("start: ", t); } @@ -666,8 +669,8 @@ public class WebappLoader extends LifecycleMBeanBase (MBeanUtils.getDomain(ctx) + ":type=WebappClassLoader,path=" + path + ",host=" + ctx.getParent().getName()); Registry.getRegistry(null, null).unregisterComponent(cloname); - } catch (Throwable t) { - log.error( "LifecycleException ", t ); + } catch (Exception e) { + log.error("LifecycleException ", e); } classLoader = null; diff --git a/java/org/apache/catalina/manager/HTMLManagerServlet.java b/java/org/apache/catalina/manager/HTMLManagerServlet.java index 67055b216..1cec2d466 100644 --- a/java/org/apache/catalina/manager/HTMLManagerServlet.java +++ b/java/org/apache/catalina/manager/HTMLManagerServlet.java @@ -54,7 +54,6 @@ import org.apache.catalina.manager.util.SessionUtils; import org.apache.catalina.util.RequestUtil; import org.apache.catalina.util.ServerInfo; import org.apache.catalina.util.URLEncoder; -import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.http.fileupload.ParameterParser; /** @@ -786,13 +785,8 @@ public final class HTMLManagerServlet extends ManagerServlet { // Set our properties from the initialization parameters String value = null; - try { - value = getServletConfig().getInitParameter("showProxySessions"); - showProxySessions = Boolean.parseBoolean(value); - } catch (Throwable t) { - ExceptionUtils.handleThrowable(t); - } - + value = getServletConfig().getInitParameter("showProxySessions"); + showProxySessions = Boolean.parseBoolean(value); } // ------------------------------------------------ Sessions administration diff --git a/java/org/apache/catalina/manager/JMXProxyServlet.java b/java/org/apache/catalina/manager/JMXProxyServlet.java index ae0787bdc..f041e66db 100644 --- a/java/org/apache/catalina/manager/JMXProxyServlet.java +++ b/java/org/apache/catalina/manager/JMXProxyServlet.java @@ -35,6 +35,7 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.jasper.util.ExceptionUtils; import org.apache.tomcat.util.modeler.Registry; /** @@ -207,6 +208,7 @@ public class JMXProxyServlet extends HttpServlet { sb.append(escape(item.toString())); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); sb.append("NON-STRINGABLE VALUE"); } } @@ -222,7 +224,7 @@ public class JMXProxyServlet extends HttpServlet { writer.println( attName + ": " + valueString); } catch (Throwable t) { - // Ignore + ExceptionUtils.handleThrowable(t); } } } catch (Exception e) { diff --git a/java/org/apache/catalina/manager/ManagerServlet.java b/java/org/apache/catalina/manager/ManagerServlet.java index 577272b9a..327967c53 100644 --- a/java/org/apache/catalina/manager/ManagerServlet.java +++ b/java/org/apache/catalina/manager/ManagerServlet.java @@ -834,6 +834,7 @@ public class ManagerServlet writer.println(sm.getString("managerServlet.deployFailed", displayPath)); } } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); log("ManagerServlet.install[" + displayPath + "]", t); writer.println(sm.getString("managerServlet.exception", t.toString())); @@ -917,6 +918,7 @@ public class ManagerServlet writer.println (sm.getString("managerServlet.reloaded", displayPath)); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); log("ManagerServlet.reload[" + displayPath + "]", t); writer.println(sm.getString("managerServlet.exception", t.toString())); @@ -961,6 +963,7 @@ public class ManagerServlet clazz = Class.forName(type); } } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); log("ManagerServlet.resources[" + type + "]", t); writer.println(sm.getString("managerServlet.exception", t.toString())); @@ -1000,6 +1003,7 @@ public class ManagerServlet } } } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); log("ManagerServlet.resources[" + type + "]", t); writer.println(sm.getString("managerServlet.exception", t.toString())); @@ -1081,6 +1085,7 @@ public class ManagerServlet props.append(System.getProperty("java.vm.vendor")); writer.println(props.toString()); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); getServletContext().log("ManagerServlet.serverinfo",t); writer.println(sm.getString("managerServlet.exception", t.toString())); @@ -1178,6 +1183,7 @@ public class ManagerServlet writer.println(sm.getString("managerServlet.sessiontimeout.expired", "" + idle,"" + expired)); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); log("ManagerServlet.sessions[" + displayPath + "]", t); writer.println(sm.getString("managerServlet.exception", t.toString())); @@ -1254,6 +1260,7 @@ public class ManagerServlet writer.println (sm.getString("managerServlet.startFailed", displayPath)); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); getServletContext().log (sm.getString("managerServlet.startFailed", displayPath), t); writer.println @@ -1300,6 +1307,7 @@ public class ManagerServlet context.stop(); writer.println(sm.getString("managerServlet.stopped", displayPath)); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); log("ManagerServlet.stop[" + displayPath + "]", t); writer.println(sm.getString("managerServlet.exception", t.toString())); @@ -1375,6 +1383,7 @@ public class ManagerServlet writer.println(sm.getString("managerServlet.undeployed", displayPath)); } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); log("ManagerServlet.undeploy[" + displayPath + "]", t); writer.println(sm.getString("managerServlet.exception", t.toString())); diff --git a/java/org/apache/catalina/manager/host/HostManagerServlet.java b/java/org/apache/catalina/manager/host/HostManagerServlet.java index 0fbf75f61..1201a40e8 100644 --- a/java/org/apache/catalina/manager/host/HostManagerServlet.java +++ b/java/org/apache/catalina/manager/host/HostManagerServlet.java @@ -597,13 +597,13 @@ public class HostManagerServlet host.start(); writer.println (sm.getString("hostManagerServlet.started", name)); - } catch (Throwable t) { + } catch (Exception e) { getServletContext().log - (sm.getString("hostManagerServlet.startFailed", name), t); + (sm.getString("hostManagerServlet.startFailed", name), e); writer.println (sm.getString("hostManagerServlet.startFailed", name)); writer.println(sm.getString("hostManagerServlet.exception", - t.toString())); + e.toString())); return; } @@ -656,13 +656,13 @@ public class HostManagerServlet host.stop(); writer.println (sm.getString("hostManagerServlet.stopped", name)); - } catch (Throwable t) { + } catch (Exception e) { getServletContext().log - (sm.getString("hostManagerServlet.stopFailed", name), t); + (sm.getString("hostManagerServlet.stopFailed", name), e); writer.println (sm.getString("hostManagerServlet.stopFailed", name)); writer.println(sm.getString("hostManagerServlet.exception", - t.toString())); + e.toString())); return; }