https://bz.apache.org/bugzilla/show_bug.cgi?id=69447

            Bug ID: 69447
           Summary: Tomcat 9.0.97 fails to load classes due to the newly
                    added ConcurrentLruCache
           Product: Tomcat 9
           Version: 9.0.97
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: so...@his.de
  Target Milestone: -----

# Reproduction # 
1. Tomcat 9.0.97 with enabled notFoundClassResourceCache
2. The webapp adds classes/jars (an externalRepostitory) by calling
WebappClassLoaderBase.addURL() that are outside of the WEB-INF/classes-folder
3. The webapp tries (and fails) to load a class from an externalRepostitory
when using WebappClassLoaderBase.getResourceAsStream()

## Expected behavior ## 
WebappClassLoaderBase checks externalRepostitories before marking the class as
"cannot be found" 

## Actual behavior ## 
WebappClassLoaderBase marks a class as "cannot be found" after only looking in
the WEB-INF/classes folder

# Analysis # 
When WebappClassLoaderBase.findClass() is called, it tries to load the class by
calling WebappClassLoaderBase.findClassInternal(). 
WebappClassLoaderBase.findClassInternal() only looks for classes in
/WEB-INF/classes. When the requested class is not found by findClassInternal(),
the class is erroneously added to notFoundClassResources before checking
externalRepostitories. 

The bug was introduced in this commit:
https://github.com/apache/tomcat/commit/3dbe41a

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to