I'm having a bunch of problems with Avalon in production... And I suppose they're kinda all interconnected.

I get some odd ConcurrentModificationException(s) and NullPointerException(s) all coming out from the component manager "release/dispose" methods: I suppose that, given that the ConcurrentModificationException comes out from my server log, Excalibur catches it, and it tries to dispose of a component, but at this point somehow somewhere it will throw a NullPointerException (uncaught, as it comes out in my System.err log)...

Now, after this sequence of exceptions, from time to time, I start getting things like IllegalStateException(s) mentioning that I cannot lookup components on a disposed ComponentLocator...

And this is BAD, because to get this working again, I have to SHUT DOWN COCOON, clean up my sitemaps and cocoon.xconf (I mean, removing them, and reverting back to my CVS version, don't ask my why, I don't know), restart it with these new "files" (which didn't change), and the exception goes away...

Two problems... Definitely, under load, Excalibur fails disposing/releasing components, and somehow, Cocoon keeps state EVEN between hard restarts of the JVM...

Anyone ever saw something like this?

        Pier

java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:782)
at java.util.HashMap$KeyIterator.next(HashMap.java:818)
at org.apache.avalon.excalibur.component.ExcaliburComponentManager.dispose( ExcaliburComponentManager.java:607)
at org.apache.cocoon.components.CocoonComponentManager.dispose(CocoonCompon entManager.java:468)
at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUti l.java:345)
at org.apache.cocoon.Cocoon.dispose(Cocoon.java:489)
at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUti l.java:345)
at org.apache.cocoon.servlet.CocoonServlet.disposeCocoon(CocoonServlet.java :1463)
at org.apache.cocoon.servlet.CocoonServlet.destroy(CocoonServlet.java:497)
at org.mortbay.jetty.servlet.ServletHolder.stop(ServletHolder.java:244)
at org.mortbay.jetty.servlet.ServletHandler.stop(ServletHandler.java:470)
at org.mortbay.jetty.servlet.WebApplicationHandler.stop(WebApplicationHandl er.java:163)
at org.mortbay.http.HttpContext.stop(HttpContext.java:1979)
at org.mortbay.jetty.servlet.ServletHttpContext.stop(ServletHttpContext.jav a:145)
at org.mortbay.jetty.servlet.WebApplicationContext.stop(WebApplicationConte xt.java:504)
at org.mortbay.http.HttpContext.stop(HttpContext.java:1950)
at org.mortbay.http.HttpServer.stop(HttpServer.java:732)
at org.mortbay.http.HttpServer.stop(HttpServer.java:700)
at org.mortbay.jetty.Server$1.run(Server.java:455)

java.lang.NullPointerException
at org.apache.cocoon.components.CocoonComponentManager.release(CocoonCompon entManager.java:507)
at org.apache.cocoon.environment.AbstractEnvironment.release(AbstractEnviro nment.java:539)
at org.apache.cocoon.environment.wrapper.MutableEnvironmentFacade.release(M utableEnvironmentFacade.java:320)
at org.apache.cocoon.transformation.TraxTransformer.recycle(TraxTransformer .java:514)
at org.apache.avalon.excalibur.pool.ResourceLimitingPool.put(ResourceLimiti ngPool.java:438)
at org.apache.avalon.excalibur.component.PoolableComponentHandler.doPut(Poo lableComponentHandler.java:212)
at org.apache.avalon.excalibur.component.ComponentHandler.put(ComponentHand ler.java:425)
at org.apache.avalon.excalibur.component.ExcaliburComponentSelector.release (ExcaliburComponentSelector.java:305)
at org.apache.cocoon.components.ExtendedComponentSelector.release(ExtendedC omponentSelector.java:284)
at org.apache.cocoon.components.ExtendedComponentSelector.release(ExtendedC omponentSelector.java:281)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.recycle (AbstractProcessingPipeline.java:652)
at org.apache.avalon.excalibur.pool.ResourceLimitingPool.put(ResourceLimiti ngPool.java:438)
at org.apache.avalon.excalibur.component.PoolableComponentHandler.doPut(Poo lableComponentHandler.java:212)
at org.apache.avalon.excalibur.component.ComponentHandler.put(ComponentHand ler.java:425)
at org.apache.avalon.excalibur.component.ExcaliburComponentSelector.release (ExcaliburComponentSelector.java:305)
at org.apache.cocoon.components.ExtendedComponentSelector.release(ExtendedC omponentSelector.java:284)
at org.apache.cocoon.components.EnvironmentDescription.removeFromAutoReleas e(CocoonComponentManager.java:705)
at org.apache.cocoon.components.CocoonComponentManager.removeFromAutomaticR elease(CocoonComponentManager.java:445)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.release (AbstractProcessingPipeline.java:173)
at org.apache.cocoon.components.source.impl.SitemapSource.reset(SitemapSour ce.java:454)
at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSour ce.java:445)
at org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java: 247)
at org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java: 106)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process XMLPipeline(AbstractProcessingPipeline.java:546)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process (AbstractProcessingPipeline.java:490)
at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke( SerializeNode.java:120)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:49)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i nvoke(PreparableMatchNode.java:130)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:72)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(P ipelineNode.java:126)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:72)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke( PipelinesNode.java:101)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:336)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:277)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(Moun tNode.java:103)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:49)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i nvoke(PreparableMatchNode.java:130)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:72)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(P ipelineNode.java:126)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:72)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke( PipelinesNode.java:101)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:336)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:277)
at org.apache.cocoon.Cocoon.process(Cocoon.java:619)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java: 1074)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:354)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH andler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1808)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon text.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1758)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java: 197)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:501)

java.lang.IllegalStateException: You cannot lookup components on a disposed ComponentLocator
at org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(E xcaliburComponentManager.java:167)
at org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonCompone ntManager.java:297)
at org.apache.cocoon.components.treeprocessor.sitemap.ErrorHandlerHelper.in vokeErrorHandler(ErrorHandlerHelper.java:65)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(P ipelineNode.java:149)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:72)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke( PipelinesNode.java:101)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:336)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:277)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(Moun tNode.java:103)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:49)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i nvoke(PreparableMatchNode.java:130)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:72)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(P ipelineNode.java:126)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:72)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke( PipelinesNode.java:101)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:336)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:277)
at org.apache.cocoon.Cocoon.process(Cocoon.java:619)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java: 1074)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:354)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH andler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1808)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon text.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1758)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java: 197)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:501)

Attachment: smime.p7s
Description: S/MIME cryptographic signature



Reply via email to