[Opensource] xerces vs. tomcat 4.0.x

larry hamel expresso at codeguild.com
Sat Sep 14 20:50:06 PDT 2002


Hello Mike,

My first test with tomcat 4.0.4 did not replicate your results.  I get the following stack trace. of course, I may be missing something, so I'm anxious to hear the results from others.

I'm using the .war file created by "expresso-binary", deploying it to a fresh download of tomcat.  I updated the "lib" module and I'm using the new .jar files from there.  

By the way, I just added ant scripting so that the jars from the "lib" module are part of the expresso-binary target, and added a "deploy" target for testing.

larry
-------------------

ConfigManager: Expresso configuration encountered an exception:
java.lang.NoClassDefFoundError: org/w3c/dom/DOMErrorHandler
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:11
1)
        at org.apache.catalina.loader.WebappClassLoader.findClassInternal(Webapp
ClassLoader.java:1643)
        at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoa
der.java:937)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1372)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1254)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
        at org.apache.xerces.dom.CoreDocumentImpl.<init>(CoreDocumentImpl.java:1
73)
        at org.apache.xerces.dom.DocumentImpl.<init>(DocumentImpl.java:173)
        at org.apache.xerces.dom.DeferredDocumentImpl.<init>(DeferredDocumentImp
l.java:194)
        at org.apache.xerces.dom.DeferredDocumentImpl.<init>(DeferredDocumentImp
l.java:189)
        at org.apache.xerces.parsers.AbstractDOMParser.startDocument(AbstractDOM
Parser.java:712)
        at org.apache.xerces.impl.XMLNamespaceBinder.startDocument(XMLNamespaceB
inder.java:444)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(XMLDTDValida
tor.java:644)
        at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(XMLDocument
ScannerImpl.java:431)
        at org.apache.xerces.impl.XMLEntityManager.startEntity(XMLEntityManager.
java:878)
        at org.apache.xerces.impl.XMLEntityManager.startDocumentEntity(XMLEntity
Manager.java:741)
        at org.apache.xerces.impl.XMLDocumentScannerImpl.setInputSource(XMLDocum
entScannerImpl.java:260)
        at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.jav
a:498)
        at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.jav
a:580)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
        at org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:253)
        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.
java:201)
        at com.jcorporate.expresso.core.logging.LogManager.initialize(LogManager
.java:199)
        at com.jcorporate.expresso.core.logging.LogManager.<init>(LogManager.jav
a:95)
        at com.jcorporate.expresso.core.logging.LogManager.instantiate(LogManage
r.java:340)
        at com.jcorporate.expresso.core.misc.ConfigManager.load(ConfigManager.ja
va:1228)
        at com.jcorporate.expresso.core.misc.ConfigManager.config(ConfigManager.
java:1194)
        at com.jcorporate.expresso.core.servlet.StdServlet.init(StdServlet.java:
309)
        at com.jcorporate.expresso.core.servlet.DBServlet.init(DBServlet.java:48
)
        at com.jcorporate.expresso.core.servlet.InitServlet.init(InitServlet.jav
a:70)
        at com.jcorporate.expresso.core.servlet.DefaultInit.init(DefaultInit.jav
a:57)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.
java:918)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:81
0)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContex
t.java:3279)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3
421)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:78
5)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:478)

        at org.apache.catalina.core.StandardHost.install(StandardHost.java:738)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:324
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:389)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:232)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:155)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1131)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java:638)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)

        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343
)
        at org.apache.catalina.core.StandardService.start(StandardService.java:3
88)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:506
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
Initialization error:
javax.servlet.ServletException: org/w3c/dom/DOMErrorHandler
        at com.jcorporate.expresso.core.misc.ConfigManager.config(ConfigManager.
java:1203)
        at com.jcorporate.expresso.core.servlet.StdServlet.init(StdServlet.java:
309)
        at com.jcorporate.expresso.core.servlet.DBServlet.init(DBServlet.java:48
)
        at com.jcorporate.expresso.core.servlet.InitServlet.init(InitServlet.jav
a:70)
        at com.jcorporate.expresso.core.servlet.DefaultInit.init(DefaultInit.jav
a:57)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.
java:918)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:81
0)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContex
t.java:3279)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3
421)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:78
5)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:478)

        at org.apache.catalina.core.StandardHost.install(StandardHost.java:738)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:324
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:389)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:232)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:155)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1131)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java:638)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)

        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343
)
        at org.apache.catalina.core.StandardService.start(StandardService.java:3
88)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:506
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
Starting service Tomcat-Apache
Apache Tomcat/4.0.4


At 03:08 PM 9/13/2002, Michael Rimov wrote:
>Quick addendum,
>
>It looks like the fix only works for Tomcat >= 4.04.  Tomcat 4.03 seems to have a Classloader bug that has been fixed from Tomcat 4.04 on.
>
>Since Tomcat 4.04 fixes a rather serious security bug anyway, at this point I think it would be best to make a note to use Tomcat >= 4.04  If you cannot upgrade then copy the xml-apis.jar and xercesImpl.jar from WEB-INF/lib to TOMCAT_HOME/common/lib, and delete the xerces.jar sitting there.
>
>HTH!
>                                        -Mike
>
>




More information about the Opensource mailing list