An Eclipse Virgo CI build recently failed with the stack trace below. I haven't seen the problem before, but it seems that at least one user of vanilla Tomcat has hit the same problem, on Tomcat 6 in 2009 ([1]). I am raising this bug to get this on the record and perhaps to help identify a pattern of usage that may ultimately lead to a solution. It is possible that the bug is in the JRE XML processing, of course. Environment: Java 6 R21 64 bit (Sun) Sles 11 x86-64 Tomcat 7.0.12 embedded in development version of Eclipse Virgo 3.0 [1] http://mail-archives.apache.org/mod_mbox/tomcat-users/200902.mbox/%3C36E4692623C5974BA6661C0B18EE8EDFE4138B@MAILSERV.hcrest.com%3E [2011-06-07 11:07:17.741] ERROR start-signalling-4 System.err Jun 7, 2011 11:07:17 AM org.apache.tomcat.util.digester.Digester startElement [2011-06-07 11:07:17.741] ERROR start-signalling-4 System.err SEVERE: Begin event threw exception [2011-06-07 11:07:17.741] ERROR start-signalling-4 System.err java.lang.IllegalArgumentException: <session-config> element is limited to 1 occurrence [2011-06-07 11:07:17.742] ERROR start-signalling-4 System.err at org.apache.catalina.startup.SetSessionConfig.begin(WebRuleSet.java:722) [2011-06-07 11:07:17.742] ERROR start-signalling-4 System.err at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1282) [2011-06-07 11:07:17.742] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) [2011-06-07 11:07:17.742] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363) [2011-06-07 11:07:17.742] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) [2011-06-07 11:07:17.742] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) [2011-06-07 11:07:17.742] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) [2011-06-07 11:07:17.742] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) [2011-06-07 11:07:17.742] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) [2011-06-07 11:07:17.743] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) [2011-06-07 11:07:17.743] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) [2011-06-07 11:07:17.743] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) [2011-06-07 11:07:17.743] ERROR start-signalling-4 System.err at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) [2011-06-07 11:07:17.743] ERROR start-signalling-4 System.err at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1694) [2011-06-07 11:07:17.743] ERROR start-signalling-4 System.err at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1197) [2011-06-07 11:07:17.743] ERROR start-signalling-4 System.err at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:882) [2011-06-07 11:07:17.743] ERROR start-signalling-4 System.err at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317) [2011-06-07 11:07:17.743] ERROR start-signalling-4 System.err at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) [2011-06-07 11:07:17.744] ERROR start-signalling-4 System.err at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) [2011-06-07 11:07:17.744] ERROR start-signalling-4 System.err at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5081) [2011-06-07 11:07:17.744] ERROR start-signalling-4 System.err at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) [2011-06-07 11:07:17.744] ERROR start-signalling-4 System.err at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) [2011-06-07 11:07:17.744] ERROR start-signalling-4 System.err at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) [2011-06-07 11:07:17.744] ERROR start-signalling-4 System.err at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) [2011-06-07 11:07:17.744] ERROR start-signalling-4 System.err at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:122) [2011-06-07 11:07:17.744] ERROR start-signalling-4 System.err at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:91) [2011-06-07 11:07:17.745] ERROR start-signalling-4 System.err at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:122) [2011-06-07 11:07:17.745] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStateMonitor.onStarted(StandardArtifactStateMonitor.java:247) [2011-06-07 11:07:17.745] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:294) [2011-06-07 11:07:17.745] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:291) [2011-06-07 11:07:17.745] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:229) [2011-06-07 11:07:17.745] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:143) [2011-06-07 11:07:17.745] ERROR start-signalling-4 System.err at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [2011-06-07 11:07:17.745] ERROR start-signalling-4 System.err at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [2011-06-07 11:07:17.746] ERROR start-signalling-4 System.err at java.lang.Thread.run(Thread.java:619) [2011-06-07 11:07:17.747] ERROR start-signalling-4 System.err Jun 7, 2011 11:07:17 AM org.apache.catalina.startup.ContextConfig parseWebXml [2011-06-07 11:07:17.748] ERROR start-signalling-4 System.err SEVERE: Parse error in application web.xml file at file:/opt/users/hudsonbuild/workspace/virgo.web-server.snapshot/org.eclipse.virgo.server.smoketest/target/test-expanded/virgo-tomcat-server-3.0.0.CI-2011-06-07_11-01-11/work/org.eclipse.virgo.kernel.deployer_3.0.0.D-20110603101321/staging/global/bundle/org.eclipse.gemini.web.tomcat/2.0.0.BUILD-20110603145554/org.eclipse.gemini.web.tomcat-2.0.0.BUILD-20110603145554.jar/conf/web.xml [2011-06-07 11:07:17.748] ERROR start-signalling-4 System.err java.lang.IllegalArgumentException: <session-config> element is limited to 1 occurrence [2011-06-07 11:07:17.748] ERROR start-signalling-4 System.err at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2687) [2011-06-07 11:07:17.748] ERROR start-signalling-4 System.err at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2713) [2011-06-07 11:07:17.748] ERROR start-signalling-4 System.err at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1285) [2011-06-07 11:07:17.748] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) [2011-06-07 11:07:17.749] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363) [2011-06-07 11:07:17.749] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) [2011-06-07 11:07:17.749] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) [2011-06-07 11:07:17.749] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) [2011-06-07 11:07:17.749] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) [2011-06-07 11:07:17.749] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) [2011-06-07 11:07:17.749] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) [2011-06-07 11:07:17.749] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) [2011-06-07 11:07:17.750] ERROR start-signalling-4 System.err at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) [2011-06-07 11:07:17.750] ERROR start-signalling-4 System.err at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) [2011-06-07 11:07:17.750] ERROR start-signalling-4 System.err at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1694) [2011-06-07 11:07:17.750] ERROR start-signalling-4 System.err at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1197) [2011-06-07 11:07:17.750] ERROR start-signalling-4 System.err at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:882) [2011-06-07 11:07:17.750] ERROR start-signalling-4 System.err at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317) [2011-06-07 11:07:17.750] ERROR start-signalling-4 System.err at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) [2011-06-07 11:07:17.750] ERROR start-signalling-4 System.err at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) [2011-06-07 11:07:17.750] ERROR start-signalling-4 System.err at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5081) [2011-06-07 11:07:17.751] ERROR start-signalling-4 System.err at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) [2011-06-07 11:07:17.751] ERROR start-signalling-4 System.err at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) [2011-06-07 11:07:17.751] ERROR start-signalling-4 System.err at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) [2011-06-07 11:07:17.751] ERROR start-signalling-4 System.err at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) [2011-06-07 11:07:17.751] ERROR start-signalling-4 System.err at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:122) [2011-06-07 11:07:17.751] ERROR start-signalling-4 System.err at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:91) [2011-06-07 11:07:17.751] ERROR start-signalling-4 System.err at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:122) [2011-06-07 11:07:17.751] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStateMonitor.onStarted(StandardArtifactStateMonitor.java:247) [2011-06-07 11:07:17.751] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:294) [2011-06-07 11:07:17.752] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:291) [2011-06-07 11:07:17.752] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:229) [2011-06-07 11:07:17.752] ERROR start-signalling-4 System.err at org.eclipse.virgo.kernel.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:143) [2011-06-07 11:07:17.752] ERROR start-signalling-4 System.err at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [2011-06-07 11:07:17.752] ERROR start-signalling-4 System.err at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [2011-06-07 11:07:17.752] ERROR start-signalling-4 System.err at java.lang.Thread.run(Thread.java:619) [2011-06-07 11:07:17.752] ERROR start-signalling-4 System.err Caused by: java.lang.IllegalArgumentException: <session-config> element is limited to 1 occurrence [2011-06-07 11:07:17.752] ERROR start-signalling-4 System.err at org.apache.catalina.startup.SetSessionConfig.begin(WebRuleSet.java:722) [2011-06-07 11:07:17.752] ERROR start-signalling-4 System.err at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1282) [2011-06-07 11:07:17.753] ERROR start-signalling-4 System.err ... 33 more [2011-06-07 11:07:17.753] ERROR start-signalling-4 System.err Jun 7, 2011 11:07:17 AM org.apache.catalina.startup.ContextConfig parseWebXml [2011-06-07 11:07:17.753] ERROR start-signalling-4 System.err SEVERE: Occurred at line 468 column 21 [2011-06-07 11:07:17.759] ERROR start-signalling-1 System.err Jun 7, 2011 11:07:17 AM org.apache.tomcat.util.digester.Digester startElement [2011-06-07 11:07:17.759] ERROR start-signalling-1 System.err SEVERE: Begin event threw exception [2011-06-07 11:07:17.760] ERROR start-signalling-1 System.err java.lang.IllegalArgumentException: <session-config> element is limited to 1 occurrence [2011-06-07 11:07:17.760] ERROR start-signalling-1 System.err at org.apache.catalina.startup.SetSessionConfig.begin(WebRuleSet.java:722) [2011-06-07 11:07:17.760] ERROR start-signalling-1 System.err at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1282) [2011-06-07 11:07:17.760] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) [2011-06-07 11:07:17.761] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363) [2011-06-07 11:07:17.761] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) [2011-06-07 11:07:17.762] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) [2011-06-07 11:07:17.762] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) [2011-06-07 11:07:17.763] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) [2011-06-07 11:07:17.763] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) [2011-06-07 11:07:17.763] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) [2011-06-07 11:07:17.764] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) [2011-06-07 11:07:17.764] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) [2011-06-07 11:07:17.765] ERROR start-signalling-1 System.err at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) [2011-06-07 11:07:17.765] ERROR start-signalling-1 System.err at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1694) [2011-06-07 11:07:17.765] ERROR start-signalling-1 System.err at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1197) [2011-06-07 11:07:17.766] ERROR start-signalling-1 System.err at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:882) [2011-06-07 11:07:17.766] ERROR start-signalling-1 System.err at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317) [2011-06-07 11:07:17.766] ERROR start-signalling-1 System.err at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) [2011-06-07 11:07:17.767] ERROR start-signalling-1 System.err at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) [2011-06-07 11:07:17.767] ERROR start-signalling-1 System.err at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5081) [2011-06-07 11:07:17.767] ERROR start-signalling-1 System.err at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) [2011-06-07 11:07:17.768] ERROR start-signalling-1 System.err at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) [2011-06-07 11:07:17.768] ERROR start-signalling-1 System.err at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) [2011-06-07 11:07:17.769] ERROR start-signalling-1 System.err at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) [2011-06-07 11:07:17.769] ERROR start-signalling-1 System.err at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:122) [2011-06-07 11:07:17.769] ERROR start-signalling-1 System.err at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:91) [2011-06-07 11:07:17.770] ERROR start-signalling-1 System.err at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:122) [2011-06-07 11:07:17.770] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStateMonitor.onStarted(StandardArtifactStateMonitor.java:247) [2011-06-07 11:07:17.771] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:294) [2011-06-07 11:07:17.771] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:291) [2011-06-07 11:07:17.772] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:229) [2011-06-07 11:07:17.772] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:143) [2011-06-07 11:07:17.773] ERROR start-signalling-1 System.err at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [2011-06-07 11:07:17.773] ERROR start-signalling-1 System.err at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [2011-06-07 11:07:17.773] ERROR start-signalling-1 System.err at java.lang.Thread.run(Thread.java:619) [2011-06-07 11:07:17.775] ERROR start-signalling-1 System.err Jun 7, 2011 11:07:17 AM org.apache.catalina.startup.ContextConfig parseWebXml [2011-06-07 11:07:17.776] ERROR start-signalling-1 System.err SEVERE: Parse error in application web.xml file at file:/opt/users/hudsonbuild/workspace/virgo.web-server.snapshot/org.eclipse.virgo.server.smoketest/target/test-expanded/virgo-tomcat-server-3.0.0.CI-2011-06-07_11-01-11/work/org.eclipse.virgo.kernel.deployer_3.0.0.D-20110603101321/staging/global/bundle/org.eclipse.gemini.web.tomcat/2.0.0.BUILD-20110603145554/org.eclipse.gemini.web.tomcat-2.0.0.BUILD-20110603145554.jar/conf/web.xml [2011-06-07 11:07:17.777] ERROR start-signalling-1 System.err java.lang.IllegalArgumentException: <session-config> element is limited to 1 occurrence [2011-06-07 11:07:17.777] ERROR start-signalling-1 System.err at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2687) [2011-06-07 11:07:17.777] ERROR start-signalling-1 System.err at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2713) [2011-06-07 11:07:17.778] ERROR start-signalling-1 System.err at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1285) [2011-06-07 11:07:17.778] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) [2011-06-07 11:07:17.779] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363) [2011-06-07 11:07:17.779] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) [2011-06-07 11:07:17.780] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) [2011-06-07 11:07:17.780] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) [2011-06-07 11:07:17.781] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) [2011-06-07 11:07:17.781] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) [2011-06-07 11:07:17.781] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) [2011-06-07 11:07:17.782] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) [2011-06-07 11:07:17.782] ERROR start-signalling-1 System.err at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) [2011-06-07 11:07:17.782] ERROR start-signalling-1 System.err at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) [2011-06-07 11:07:17.783] ERROR start-signalling-1 System.err at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1694) [2011-06-07 11:07:17.783] ERROR start-signalling-1 System.err at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1197) [2011-06-07 11:07:17.783] ERROR start-signalling-1 System.err at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:882) [2011-06-07 11:07:17.784] ERROR start-signalling-1 System.err at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317) [2011-06-07 11:07:17.784] ERROR start-signalling-1 System.err at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) [2011-06-07 11:07:17.785] ERROR start-signalling-1 System.err at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) [2011-06-07 11:07:17.785] ERROR start-signalling-1 System.err at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5081) [2011-06-07 11:07:17.785] ERROR start-signalling-1 System.err at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) [2011-06-07 11:07:17.786] ERROR start-signalling-1 System.err at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) [2011-06-07 11:07:17.786] ERROR start-signalling-1 System.err at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) [2011-06-07 11:07:17.786] ERROR start-signalling-1 System.err at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) [2011-06-07 11:07:17.787] ERROR start-signalling-1 System.err at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:122) [2011-06-07 11:07:17.787] ERROR start-signalling-1 System.err at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:91) [2011-06-07 11:07:17.788] ERROR start-signalling-1 System.err at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:122) [2011-06-07 11:07:17.788] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStateMonitor.onStarted(StandardArtifactStateMonitor.java:247) [2011-06-07 11:07:17.789] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:294) [2011-06-07 11:07:17.789] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:291) [2011-06-07 11:07:17.790] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:229) [2011-06-07 11:07:17.790] ERROR start-signalling-1 System.err at org.eclipse.virgo.kernel.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:143) [2011-06-07 11:07:17.790] ERROR start-signalling-1 System.err at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [2011-06-07 11:07:17.791] ERROR start-signalling-1 System.err at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [2011-06-07 11:07:17.791] ERROR start-signalling-1 System.err at java.lang.Thread.run(Thread.java:619) [2011-06-07 11:07:17.791] ERROR start-signalling-1 System.err Caused by: java.lang.IllegalArgumentException: <session-config> element is limited to 1 occurrence [2011-06-07 11:07:17.792] ERROR start-signalling-1 System.err at org.apache.catalina.startup.SetSessionConfig.begin(WebRuleSet.java:722) [2011-06-07 11:07:17.792] ERROR start-signalling-1 System.err at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1282) [2011-06-07 11:07:17.792] ERROR start-signalling-1 System.err ... 33 more [2011-06-07 11:07:17.793] ERROR start-signalling-1 System.err Jun 7, 2011 11:07:17 AM org.apache.catalina.startup.ContextConfig parseWebXml [2011-06-07 11:07:17.793] ERROR start-signalling-1 System.err SEVERE: Occurred at line 468 column 21 [2011-06-07 11:07:17.806] ERROR start-signalling-4 System.err Jun 7, 2011 11:07:17 AM org.apache.catalina.startup.ContextConfig configureStart [2011-06-07 11:07:17.806] ERROR start-signalling-4 System.err SEVERE: Marking this application unavailable due to previous error(s) [2011-06-07 11:07:17.808] ERROR start-signalling-1 System.err Jun 7, 2011 11:07:17 AM org.apache.catalina.startup.ContextConfig configureStart [2011-06-07 11:07:17.808] ERROR start-signalling-1 System.err SEVERE: Marking this application unavailable due to previous error(s) [2011-06-07 11:07:18.034] ERROR start-signalling-1 System.err Jun 7, 2011 11:07:18 AM org.apache.catalina.core.StandardContext startInternal [2011-06-07 11:07:18.035] ERROR start-signalling-1 System.err SEVERE: Error getConfigured [2011-06-07 11:07:18.036] ERROR start-signalling-1 System.err Jun 7, 2011 11:07:18 AM org.apache.catalina.core.StandardContext startInternal [2011-06-07 11:07:18.037] ERROR start-signalling-1 System.err SEVERE: Context [/org.eclipse.virgo.apps.repository] startup failed due to previous errors
Created attachment 27131 [details] Zipped full log
A more readable version of the stack trace: java.lang.IllegalArgumentException: <session-config> element is limited to 1 occurrence at org.apache.catalina.startup.SetSessionConfig.begin(WebRuleSet.java:722) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1282) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543) at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1694) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1197) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:882) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5081) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:122) at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:91) at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:122) at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStateMonitor.onStarted(StandardArtifactStateMonitor.java:247) at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:294) at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:291) at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:229) at org.eclipse.virgo.kernel.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:143) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619)
I got some more details from Glyn off-list. Virgo may use multiple threads for deployment depending on circumstances. Looking at the xml parsing code, there are 4 digesters each using the same ruleset. Neither object is threadsafe but we sync on the digester so there could be multiple threads using the same webruleset which is a possible explanation for this issue. I'll proceed on the basis that this is the root cause. We can always re-open if this re-occurs.
Fixed in 7.0.x and will be included in 7.0.16 onwards.