Jeremy,
On 5/1/23 14:22, Jeremy Nguyen wrote:
I'm trying to upgrade Tomcat 8 to 8.5 and I'm getting a
nullpointerexception within WebappClassLoaderBase.CombinedEnumeration.inc.
It seems to occur when it's trying to initialize commons-logging LogFactory
for any class specified in Web.xml, and it's calling
getResources("commons-logging.properties") which I never had. Is it
required in 8.5? Even if I put it in conf/, it's not being picked up.
We're running Tomcat using a wrapper and it's erroring out here:
https://github.com/CodeGerm/osgi-server/blob/master/plugins/org.cg.dao.webcontainer/src/org/cg/dao/webcontainer/tomcat/TomcatWrapper.java#L185
I posted my web.xml and error trace here as well:
https://stackoverflow.com/questions/76139108/web-xml-configuration-is-broken-when-upgrading-to-tomcat-8-5-and-spring-5-1
I have no idea how this is throwing an NPE. The only pointer being
dereferenced by the inc() method is "sources":
2773 private boolean inc() {
2774 while (index < sources.length) {
2775 if (sources[index].hasMoreElements()) {
2776 return true;
2777 }
2778 index++;
2779 }
2780 return false;
2781 }
That member (sources) is instantiated in the one-and-only-one constructor:
CombinedEnumeration(Enumeration<URL> enum1, Enumeration<URL>
enum2) {
@SuppressWarnings("unchecked")
Enumeration<URL>[] sources = new Enumeration[] { enum1,
enum2 };
this.sources = sources;
}
Also weird is that this throws NPE on line 2775 and not 2774. I can't
explain how line 2775 could throw an NPE if line 2774 did not.
>:/
I use Tomcat 8.5.x and I have never had a commons-logging.properties
file, and I use some components which are surely causing commons-logging
LogFactory to initialize, and I've never seen this problem before.
-chris
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org