geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Genender (JIRA)" <...@geronimo.apache.org>
Subject [jira] Commented: (GERONIMO-1378) Bad application web.xml makes digester go crazy
Date Sun, 18 Dec 2005 13:02:35 GMT
    [ http://issues.apache.org/jira/browse/GERONIMO-1378?page=comments#action_12360716 ] 

Jeff Genender commented on GERONIMO-1378:
-----------------------------------------

Trapping digester errors is not good as this is how Tomcat handles its XML parsing and its
the way it flags errors.  Even if we catch this condition before we release the web.xml to
Tomcat, we will still have an Exception, as Jetty still throws an Exception at line 952 of
the Jetty ModuleBuilder...so we would likely do the exact same.

IMHO, since the TomcatModuleBuilder is not doing the parsing and verification of the web.xml,
I would not fix this.  Until we get the full parsing and handling of the web.xml on the Geronimo
side, we shouldn't go trapping web.xml parsing errors that come from the responsible handlers
(Tomcat).  I believe that issue GERONIMO-1035, which you opened, should eventually handle
parsing and will handle this condition.  Therefore this is not a bug...its expected behavior.

> Bad application web.xml makes digester go crazy
> -----------------------------------------------
>
>          Key: GERONIMO-1378
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1378
>      Project: Geronimo
>         Type: Bug
>   Components: Tomcat
>     Versions: 1.0-M5
>  Environment: all
>     Reporter: anita kulshreshtha
>     Priority: Minor

>
>      This trace is produced when the <servlet-class> element has a non-existent
class name:
> 11:49:15,484 ERROR [ContextConfig] Parse error in application web.xml
> java.lang.RuntimeException: org.apache.catalina.manager.JMXProxyServlet
>         at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2719)
>         at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2745)
>         at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1060)
>         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>         at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
>         at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:339)
>         at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1031)
>         at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:255)
>         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4076)
>         at org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:64)
>         at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:267)
>         at org.apache.geronimo.tomcat.valve.TransactionContextValve.invoke(TransactionContextValve.java:53)
>         at org.apache.geronimo.tomcat.valve.ComponentContextValve.invoke(ComponentContextValve.java:47)
>         at org.apache.geronimo.tomcat.valve.InstanceContextValve.invoke(InstanceContextValve.java:60)
>         at org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:187)
>         at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
>         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
>         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
>         at org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287)
>         at org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>)
>         at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>         at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
>         at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
>         at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>         at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
>         at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>         at org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>)
>         at org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:407)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
>         at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
>         at org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
>         at org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
>         at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>         at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
>         at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
>         at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
>         at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
>         at org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:142)
>         at org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
>         at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>         at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
>         at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
>         at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>         at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
>         at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>         at org.apache.geronimo.kernel.config.ConfigurationManager$$EnhancerByCGLIB$$259d7f0a.start(<generated>)
>         at org.apache.geronimo.console.configmanager.DeploymentPortlet.processAction(DeploymentPortlet.java:126)
>         at org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:229)
>         at org.apache.pluto.core.PortletServlet.doPost(PortletServlet.java:163)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.pluto.core.PortletServlet.service(PortletServlet.java:153)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
>         at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
>         at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
>         at org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:120)
>         at org.apache.pluto.invoker.impl.PortletInvokerImpl.action(PortletInvokerImpl.java:68)
>         at org.apache.pluto.PortletContainerImpl.processPortletAction(PortletContainerImpl.java:164)
>         at org.apache.pluto.portalImpl.core.PortletContainerWrapperImpl.processPortletAction(PortletContainerWrapperImpl
> .java:82)
>         at org.apache.pluto.portalImpl.Servlet.doGet(Servlet.java:227)
>         at org.apache.pluto.portalImpl.Servlet.doPost(Servlet.java:267)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:514)
>         at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:272)
>         at org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:46)
>         at org.apache.geronimo.tomcat.valve.PolicyContextValve.invoke(PolicyContextValve.java:50)
>         at org.apache.geronimo.tomcat.valve.TransactionContextValve.invoke(TransactionContextValve.java:53)
>         at org.apache.geronimo.tomcat.valve.ComponentContextValve.invoke(ComponentContextValve.java:47)
>         at org.apache.geronimo.tomcat.valve.InstanceContextValve.invoke(InstanceContextValve.java:60)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
>         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java
> :663)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:534)
> 11:49:15,484 ERROR [ContextConfig] Occurred at line 5 column 13
> 11:49:15,484 ERROR [ContextConfig] Marking this application unavailable due to previous
error(s)
> 11:49:15,484 ERROR [StandardContext] Error getConfigured
> 11:49:15,484 ERROR [StandardContext] Context [/hello] startup failed due to previous
errors
> 12:00:26,734 INFO  [StandardContext] Container org.apache.catalina.core.ContainerBase.[/hello]
has not been started
> java.io.FileNotFoundException
>         at org.apache.naming.resources.DirContextURLConnection.getInputStream(DirContextURLConnection.java:297)
>         at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:352)
>         at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:315)
>         at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:560)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:272)
>         at org.apache.geronimo.tomcat.valve.TransactionContextValve.invoke(TransactionContextValve.java:53)
>         at org.apache.geronimo.tomcat.valve.ComponentContextValve.invoke(ComponentContextValve.java:47)
>         at org.apache.geronimo.tomcat.valve.InstanceContextValve.invoke(InstanceContextValve.java:60)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
>         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java
> :663)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:534)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message