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: [email protected]
Reporter: [email protected]
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: [email protected]
For additional commands, e-mail: [email protected]