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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to