You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/03/27 20:41:42 UTC

svn commit: r1305949 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/StandardServer.java webapps/docs/changelog.xml

Author: markt
Date: Tue Mar 27 18:41:42 2012
New Revision: 1305949

URL: http://svn.apache.org/viewvc?rev=1305949&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52833
Fix NPE in some embedded / osgi scenarios where the class loader my not have the system class loader as a parent.

Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java
    tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
  Merged /tomcat/trunk:r1305943

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java?rev=1305949&r1=1305948&r2=1305949&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java Tue Mar 27 18:41:42 2012
@@ -784,11 +784,10 @@ public final class StandardServer extend
         // Populate the extension validator with JARs from common and shared
         // class loaders
         if (getCatalina() != null) {
-            ClassLoader cl =
-                    getCatalina().getParentClassLoader();
+            ClassLoader cl = getCatalina().getParentClassLoader();
             // Walk the class loader hierarchy. Stop at the system class loader.
             // This will add the shared (if present) and common class loaders
-            while (cl != ClassLoader.getSystemClassLoader()) {
+            while (cl != null && cl != ClassLoader.getSystemClassLoader()) {
                 if (cl instanceof URLClassLoader) {
                     URL[] urls = ((URLClassLoader) cl).getURLs();
                     for (URL url : urls) {

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1305949&r1=1305948&r2=1305949&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Tue Mar 27 18:41:42 2012
@@ -90,6 +90,11 @@
         <code>javax.naming.Name</code> to identify the resource rather than a
         <code>java.lang.String</code>. (markt)
       </fix>
+      <fix>
+        <bug>52833</bug>: Handle the case where the parent class loader for the
+        Catalina object does not have the system class loader in its hierarchy.
+        This may happen when embedding. Patch provided by olamy. (markt)
+      </fix>
       <add>
         <bug>52839</bug>: Add a unit test for DigestAuthenticator and
         SingleSignOn. Patch provide by Brian Burch. (markt)



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