cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Mayrhuber <christian.mayrhu...@gmx.net>
Subject IllegalStateException:disposed ComponentLocator with webdav mounts
Date Thu, 18 Dec 2003 12:40:10 GMT
Hi,

I get IllegalStateExceptions in ECM with a custom source as soon
I access it in parallel. I could reproduce this behaviour with
webdav.

To reproduce:
Copy the cocoon-2.1.3 samples onto a webdav server and mount this 
directory with the webdav protocol in the webapp sitemap, like:
<map:match pattern="samples/**">
    <map:mount check-reload="yes" 
src="webdav://davhost:8080/samples/{1}" uri-prefix="samples/{1}"/>
</map:match>

The samples page is now accessible and shows up correctly in the browser.

Apache Bench was used to test concurrency:
ab -n20 -c1 http://cocoonhost:8888/samples/ succeeds with no errors
ab -n20 -c2 http://cocoonhost:8888/samples/ fails with 
IllegalStateExceptions

Everything goes well with parallel execution if I do not mount the 
samples remote, but use the FileSource. Is there some concurrency 
problem in ECM, or is this related to the webdav block?

System is SMP RedHat 7.3 with latest RHSA 2.4.20 kernel.

Java VM is
java version "1.4.2_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_02-b03)
Java HotSpot(TM) Server VM (build 1.4.2_02-b03, mixed mode)
with LD_ASSUME_KERNEL=2.2.5

The Servlet Container is Jetty/4.2.9, cocoon-2.1.3 default.


java.lang.IllegalStateException: You cannot lookup components on a 
disposed ComponentLocator
at 
org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(ExcaliburComponentManager.java:201)
at 
org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentManager.java:324)
at 
org.apache.cocoon.components.treeprocessor.sitemap.ErrorHandlerHelper.invokeErrorHandler(ErrorHandlerHelper.java:100)
at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:189)
at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)
at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:152)
at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:354)
at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:307)
at org.apache.cocoon.Cocoon.process(Cocoon.java:656)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360)
at 
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:558)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
at 
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:507)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
at org.mortbay.http.HttpServer.service(HttpServer.java:863)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:201)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)

-- 
lg, Chris


Mime
View raw message