Return-Path: X-Original-To: apmail-tomcat-dev-archive@www.apache.org Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1C30674C1 for ; Mon, 14 Nov 2011 00:09:13 +0000 (UTC) Received: (qmail 88530 invoked by uid 500); 14 Nov 2011 00:09:12 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 88472 invoked by uid 500); 14 Nov 2011 00:09:12 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 88463 invoked by uid 99); 14 Nov 2011 00:09:12 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Nov 2011 00:09:12 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Nov 2011 00:09:10 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id AA206238897A for ; Mon, 14 Nov 2011 00:08:50 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1201555 - in /tomcat/trunk/java/org/apache/catalina: core/ deploy/ loader/ manager/ manager/util/ security/ startup/ Date: Mon, 14 Nov 2011 00:08:50 -0000 To: dev@tomcat.apache.org From: kkolinko@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111114000850.AA206238897A@eris.apache.org> Author: kkolinko Date: Mon Nov 14 00:08:49 2011 New Revision: 1201555 URL: http://svn.apache.org/viewvc?rev=1201555&view=rev Log: Improve processing of errors that are wrapped into InvocationTargetException. Rethrow errors that must be rethrown. Modified: tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java tomcat/trunk/java/org/apache/catalina/manager/util/SessionUtils.java tomcat/trunk/java/org/apache/catalina/security/SecurityUtil.java tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java tomcat/trunk/java/org/apache/catalina/startup/Tool.java Modified: tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java?rev=1201555&r1=1201554&r2=1201555&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java Mon Nov 14 00:08:49 2011 @@ -35,6 +35,7 @@ import org.apache.catalina.LifecycleEven import org.apache.catalina.LifecycleListener; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.res.StringManager; /** @@ -314,6 +315,7 @@ public class JreMemoryLeakPreventionList log.error(sm.getString("jreLeakListener.gcDaemonFail"), e); } catch (InvocationTargetException e) { + ExceptionUtils.handleThrowable(e.getCause()); log.error(sm.getString("jreLeakListener.gcDaemonFail"), e); } @@ -345,6 +347,7 @@ public class JreMemoryLeakPreventionList log.warn(sm.getString("jreLeakListener.authPolicyFail"), e); } catch (InvocationTargetException e) { + ExceptionUtils.handleThrowable(e.getCause()); log.warn(sm.getString("jreLeakListener.authPolicyFail"), e); } Modified: tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java?rev=1201555&r1=1201554&r2=1201555&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java (original) +++ tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java Mon Nov 14 00:08:49 2011 @@ -40,6 +40,7 @@ import org.apache.catalina.util.Lifecycl import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.naming.ContextBindings; +import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.res.StringManager; @@ -1022,8 +1023,10 @@ public class NamingResources extends Lif log.warn(sm.getString("namingResources.cleanupCloseFailed", closeMethod, name, container), e); } catch (InvocationTargetException e) { + Throwable t = ExceptionUtils.unwrapInvocationTargetException(e); + ExceptionUtils.handleThrowable(t); log.warn(sm.getString("namingResources.cleanupCloseFailed", - closeMethod, name, container), e); + closeMethod, name, container), t); } } } Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=1201555&r1=1201554&r2=1201555&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java (original) +++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Mon Nov 14 00:08:49 2011 @@ -27,7 +27,6 @@ import java.io.InputStream; import java.lang.ref.Reference; import java.lang.ref.WeakReference; import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.net.MalformedURLException; @@ -2039,8 +2038,10 @@ public class WebappClassLoader } } catch (Exception e) { // So many things to go wrong above... + Throwable t = ExceptionUtils.unwrapInvocationTargetException(e); + ExceptionUtils.handleThrowable(t); log.warn(sm.getString( - "webappClassLoader.jdbcRemoveFailed", contextName), e); + "webappClassLoader.jdbcRemoveFailed", contextName), t); } finally { if (is != null) { try { @@ -2345,22 +2346,13 @@ public class WebappClassLoader log.error(sm.getString("webappClassLoader.warnTimerThread", contextName, thread.getName())); - } catch (NoSuchFieldException e) { - log.warn(sm.getString( - "webappClassLoader.stopTimerThreadFail", - thread.getName(), contextName), e); - } catch (IllegalAccessException e) { - log.warn(sm.getString( - "webappClassLoader.stopTimerThreadFail", - thread.getName(), contextName), e); - } catch (NoSuchMethodException e) { - log.warn(sm.getString( - "webappClassLoader.stopTimerThreadFail", - thread.getName(), contextName), e); - } catch (InvocationTargetException e) { + } catch (Exception e) { + // So many things to go wrong above... + Throwable t = ExceptionUtils.unwrapInvocationTargetException(e); + ExceptionUtils.handleThrowable(t); log.warn(sm.getString( "webappClassLoader.stopTimerThreadFail", - thread.getName(), contextName), e); + thread.getName(), contextName), t); } } Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java?rev=1201555&r1=1201554&r2=1201555&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java (original) +++ tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java Mon Nov 14 00:08:49 2011 @@ -1066,6 +1066,8 @@ public class WebappLoader extends Lifecy return (String)o; return null; } catch( Exception ex ) { + Throwable t = ExceptionUtils.unwrapInvocationTargetException(ex); + ExceptionUtils.handleThrowable(t); if (log.isDebugEnabled()) log.debug("getClasspath ", ex); } Modified: tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java?rev=1201555&r1=1201554&r2=1201555&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java (original) +++ tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java Mon Nov 14 00:08:49 2011 @@ -160,6 +160,7 @@ public class StatusTransformer { method.invoke(null, paramValues); ok = true; } catch (Throwable t) { + t = ExceptionUtils.unwrapInvocationTargetException(t); ExceptionUtils.handleThrowable(t); } Modified: tomcat/trunk/java/org/apache/catalina/manager/util/SessionUtils.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/util/SessionUtils.java?rev=1201555&r1=1201554&r2=1201555&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/manager/util/SessionUtils.java (original) +++ tomcat/trunk/java/org/apache/catalina/manager/util/SessionUtils.java Mon Nov 14 00:08:49 2011 @@ -28,6 +28,7 @@ import javax.security.auth.Subject; import javax.servlet.http.HttpSession; import org.apache.catalina.Session; +import org.apache.tomcat.util.ExceptionUtils; /** * Utility methods on HttpSessions... @@ -130,6 +131,9 @@ public class SessionUtils { } } } catch (Exception e) { + Throwable t = ExceptionUtils + .unwrapInvocationTargetException(e); + ExceptionUtils.handleThrowable(t); // stay silent } } Modified: tomcat/trunk/java/org/apache/catalina/security/SecurityUtil.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityUtil.java?rev=1201555&r1=1201554&r2=1201555&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/security/SecurityUtil.java (original) +++ tomcat/trunk/java/org/apache/catalina/security/SecurityUtil.java Mon Nov 14 00:08:49 2011 @@ -35,6 +35,7 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpSession; import org.apache.catalina.Globals; +import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.res.StringManager; /** * This utility class associates a Subject to the current @@ -306,8 +307,8 @@ public final class SecurityUtil{ } catch( PrivilegedActionException pe) { Throwable e; if (pe.getException() instanceof InvocationTargetException) { - e = ((InvocationTargetException)pe.getException()) - .getTargetException(); + e = pe.getException().getCause(); + ExceptionUtils.handleThrowable(e); } else { e = pe; } Modified: tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java?rev=1201555&r1=1201554&r2=1201555&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java Mon Nov 14 00:08:49 2011 @@ -460,12 +460,12 @@ public final class Bootstrap { log.warn("Bootstrap: command \"" + command + "\" does not exist."); } } catch (Throwable t) { - handleThrowable(t); // Unwrap the Exception for clearer error reporting if (t instanceof InvocationTargetException && t.getCause() != null) { t = t.getCause(); } + handleThrowable(t); t.printStackTrace(); System.exit(1); } Modified: tomcat/trunk/java/org/apache/catalina/startup/Tool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tool.java?rev=1201555&r1=1201554&r2=1201555&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/Tool.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/Tool.java Mon Nov 14 00:08:49 2011 @@ -229,6 +229,7 @@ public final class Tool { paramValues[0] = params; method.invoke(null, paramValues); } catch (Throwable t) { + t = ExceptionUtils.unwrapInvocationTargetException(t); ExceptionUtils.handleThrowable(t); log.error("Exception calling main() method", t); System.exit(1); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org