Author: markt
Date: Mon Sep 27 22:29:30 2010
New Revision: 1001939
URL: http://svn.apache.org/viewvc?rev=1001939&view=rev
Log:
Remaining 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/tomcat/jni/Library.java
tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java
tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java
tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java
tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java
tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
Modified: tomcat/trunk/java/org/apache/tomcat/jni/Library.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/jni/Library.java?rev=1001939&r1=1001938&r2=1001939&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/jni/Library.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/jni/Library.java Mon Sep 27 22:29:30
2010
@@ -17,6 +17,8 @@
package org.apache.tomcat.jni;
+import org.apache.tomcat.util.ExceptionUtils;
+
/** Library
*
* @author Mladen Turk
@@ -43,6 +45,7 @@ public final class Library {
loaded = true;
}
catch (Throwable e) {
+ ExceptionUtils.handleThrowable(e);
String name = System.mapLibraryName(NAMES[i]);
String path = System.getProperty("java.library.path");
String sep = System.getProperty("path.separator");
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java?rev=1001939&r1=1001938&r2=1001939&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java Mon Sep 27
22:29:30 2010
@@ -37,6 +37,7 @@ import javax.xml.parsers.SAXParserFactor
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.IntrospectionUtils;
import org.xml.sax.Attributes;
import org.xml.sax.EntityResolver;
@@ -100,6 +101,7 @@ public class Digester extends DefaultHan
sources[0] = src;
initialized = true;
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
LogFactory.getLog("org.apache.commons.digester.Digester").
error("Unable to load property
source["+className+"].",t);
}
Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java?rev=1001939&r1=1001938&r2=1001939&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java
(original)
+++
tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java
Mon Sep 27 22:29:30 2010
@@ -340,7 +340,7 @@ public abstract class FileUploadBase {
FileItem fileItem = iterator.next();
try {
fileItem.delete();
- } catch (Throwable e) {
+ } catch (Exception e) {
// ignore it
}
}
Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java?rev=1001939&r1=1001938&r2=1001939&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java
Mon Sep 27 22:29:30 2010
@@ -119,14 +119,14 @@ public final class Streams {
if (in != null) {
try {
in.close();
- } catch (Throwable t) {
+ } catch (IOException ioe) {
/* Ignore me */
}
}
if (pClose && out != null) {
try {
out.close();
- } catch (Throwable t) {
+ } catch (IOException ioe) {
/* Ignore me */
}
}
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1001939&r1=1001938&r2=1001939&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Mon Sep 27
22:29:30 2010
@@ -39,6 +39,7 @@ import org.apache.tomcat.jni.SSLContext;
import org.apache.tomcat.jni.SSLSocket;
import org.apache.tomcat.jni.Socket;
import org.apache.tomcat.jni.Status;
+import org.apache.tomcat.util.ExceptionUtils;
/**
@@ -723,6 +724,7 @@ public class AprEndpoint extends Abstrac
}
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
if (log.isDebugEnabled()) {
if (step == 2) {
log.debug(sm.getString("endpoint.err.handshake"), t);
@@ -770,6 +772,7 @@ public class AprEndpoint extends Abstrac
log.warn("Socket processing request was rejected for:"+socket,x);
return false;
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
// This means we got an OOM or similar creating a thread, or that
// the pool and its queue are full
log.error(sm.getString("endpoint.process.fail"), t);
@@ -791,6 +794,7 @@ public class AprEndpoint extends Abstrac
log.warn("Socket processing request was rejected for:"+socket,x);
return false;
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
// This means we got an OOM or similar creating a thread, or that
// the pool and its queue are full
log.error(sm.getString("endpoint.process.fail"), t);
@@ -834,6 +838,7 @@ public class AprEndpoint extends Abstrac
log.warn("Socket processing request was rejected for:"+socket,x);
return false;
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
// This means we got an OOM or similar creating a thread, or that
// the pool and its queue are full
log.error(sm.getString("endpoint.process.fail"), t);
@@ -873,6 +878,7 @@ public class AprEndpoint extends Abstrac
log.warn("Socket processing request was rejected for:"+socket,x);
return false;
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
// This means we got an OOM or similar creating a thread, or that
// the pool and its queue are full
log.error(sm.getString("endpoint.process.fail"), t);
@@ -945,6 +951,7 @@ public class AprEndpoint extends Abstrac
destroySocket(socket);
}
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
if (running)
log.error(sm.getString("endpoint.accept.fail"), t);
}
@@ -1230,6 +1237,7 @@ public class AprEndpoint extends Abstrac
}
}
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
log.error(sm.getString("endpoint.poll.error"), t);
}
@@ -1560,6 +1568,7 @@ public class AprEndpoint extends Abstrac
}
}
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
log.error(sm.getString("endpoint.poll.error"), t);
}
}
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java?rev=1001939&r1=1001938&r2=1001939&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Mon Sep 27
22:29:30 2010
@@ -31,6 +31,7 @@ import java.util.concurrent.RejectedExec
import org.apache.catalina.Globals;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
@@ -226,6 +227,7 @@ public class JIoEndpoint extends Abstrac
log.error(sm.getString("endpoint.accept.fail"), npe);
}
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
log.error(sm.getString("endpoint.accept.fail"), t);
}
// The processor will recycle itself when it finishes
@@ -267,6 +269,7 @@ public class JIoEndpoint extends Abstrac
// SSL handshake
serverSocketFactory.handshake(socket.getSocket());
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
if (log.isDebugEnabled()) {
log.debug(sm.getString("endpoint.err.handshake"),
t);
}
@@ -484,6 +487,7 @@ public class JIoEndpoint extends Abstrac
// Close the socket
return false;
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
log.error(sm.getString("endpoint.err.unexpected"), t);
// Close the socket
return false;
@@ -519,6 +523,7 @@ public class JIoEndpoint extends Abstrac
log.warn("Socket processing request was rejected for:"+socket,x);
return false;
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
// This means we got an OOM or similar creating a thread, or that
// the pool and its queue are full
log.error(sm.getString("endpoint.process.fail"), t);
@@ -572,6 +577,7 @@ public class JIoEndpoint extends Abstrac
}
}
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
// This means we got an OOM or similar creating a thread, or that
// the pool and its queue are full
log.error(sm.getString("endpoint.process.fail"), t);
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java?rev=1001939&r1=1001938&r2=1001939&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java Mon
Sep 27 22:29:30 2010
@@ -33,6 +33,7 @@ import java.util.concurrent.atomic.Atomi
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.MutableInteger;
import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment;
@@ -328,6 +329,7 @@ public class NioBlockingSelector {
if ( log.isDebugEnabled() ) log.debug("Possibly
encountered sun bug 5076772 on windows JDK 1.5",x);
continue;
} catch (Throwable x) {
+ ExceptionUtils.handleThrowable(x);
log.error("",x);
continue;
}
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1001939&r1=1001938&r2=1001939&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Mon Sep 27
22:29:30 2010
@@ -51,6 +51,7 @@ import javax.net.ssl.X509KeyManager;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.IntrospectionUtils;
import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
import org.apache.tomcat.util.net.SecureNioChannel.ApplicationBufferHandler;
@@ -408,6 +409,7 @@ public class NioEndpoint extends Abstrac
try {
log.fatal(oomParachuteMsg);
}catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
System.err.println(oomParachuteMsg);
}
lastParachuteCheck = System.currentTimeMillis();
@@ -702,9 +704,12 @@ public class NioEndpoint extends Abstrac
}
getPoller0().register(channel);
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
try {
log.error("",t);
- }catch ( Throwable tt){}
+ } catch (Throwable tt) {
+ ExceptionUtils.handleThrowable(t);
+ }
// Tell to close the socket
return false;
}
@@ -750,6 +755,7 @@ public class NioEndpoint extends Abstrac
log.warn("Socket processing request was rejected for:"+socket,rx);
return false;
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
// This means we got an OOM or similar creating a thread, or that
// the pool and its queue are full
log.error(sm.getString("endpoint.process.fail"), t);
@@ -827,10 +833,15 @@ public class NioEndpoint extends Abstrac
try {
System.err.println(oomParachuteMsg);
oomt.printStackTrace();
- }catch (Throwable letsHopeWeDontGetHere){}
- }catch (Throwable letsHopeWeDontGetHere){}
+ }catch (Throwable letsHopeWeDontGetHere){
+
ExceptionUtils.handleThrowable(letsHopeWeDontGetHere);
+ }
+ }catch (Throwable letsHopeWeDontGetHere){
+
ExceptionUtils.handleThrowable(letsHopeWeDontGetHere);
+ }
}
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
log.error(sm.getString("endpoint.accept.fail"), t);
}
}//while
@@ -1038,6 +1049,7 @@ public class NioEndpoint extends Abstrac
try {if (ka!=null && ka.getSendfileData()!=null &&
ka.getSendfileData().fchannel!=null && ka.getSendfileData().fchannel.isOpen())
ka.getSendfileData().fchannel.close();}catch (Exception ignore){}
if (ka!=null) ka.reset();
} catch (Throwable e) {
+ ExceptionUtils.handleThrowable(e);
if ( log.isDebugEnabled() ) log.error("",e);
// Ignore
}
@@ -1097,6 +1109,7 @@ public class NioEndpoint extends Abstrac
if ( wakeupCounter == null || selector == null ) throw
x;
continue;
} catch (Throwable x) {
+ ExceptionUtils.handleThrowable(x);
log.error("",x);
continue;
}
@@ -1127,7 +1140,9 @@ public class NioEndpoint extends Abstrac
try {
System.err.println(oomParachuteMsg);
oomt.printStackTrace();
- }catch (Throwable letsHopeWeDontGetHere){}
+ }catch (Throwable letsHopeWeDontGetHere){
+
ExceptionUtils.handleThrowable(letsHopeWeDontGetHere);
+ }
}
}
}//while
@@ -1189,6 +1204,7 @@ public class NioEndpoint extends Abstrac
} catch ( CancelledKeyException ckx ) {
cancelledKey(sk, SocketStatus.ERROR,false);
} catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
log.error("",t);
}
return result;
@@ -1557,7 +1573,9 @@ public class NioEndpoint extends Abstrac
try {
System.err.println(oomParachuteMsg);
oomt.printStackTrace();
- }catch (Throwable letsHopeWeDontGetHere){}
+ }catch (Throwable letsHopeWeDontGetHere){
+
ExceptionUtils.handleThrowable(letsHopeWeDontGetHere);
+ }
}
}catch ( Throwable t ) {
log.error("",t);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]