You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Paul Russell <pa...@luminas.co.uk> on 2000/11/29 00:44:46 UTC
[C2] [Patch] And another one (Component optimisation)
On Tue, Nov 28, 2000 at 03:48:44AM -0800, Giacomo Pati wrote:
> I propose Paul Russel becoming a committer to the Apache Cocoon project
> because I'm too lazy to check in all his patches (past ones and futer
> ones :).
Heh. Thanks. While we wait to see who's happy with that, here's
another to keep you busy ;)
I'm leaving most of the XSP engine be for the time being, until
I'm comfortable that I'm not going to introduce race conditions
left right and centre. I'm also a touch worried about the
generator API, because at present, we *have* to mark them all as
poolable at best, because of the two phase setup/generate. The
rules of functional programming indicate that this should just
be a one stage thing. If they were one stage, we might be able
to move over to making most of them ThreadSafe in due course.
When I was playing 'spot the race condition', I suffered from
a problem in org.apache.cocoon.sitemap.ResourcePipeline's
process method, where the Generator was failing to get its
content handler set. I can't see any sensible reason why it
should happen, and setting the method to synchronized solved
the problem, but can I now replicate it to give you a stacktrace?
Gah. I hate race conditions.
I'm also getting the following stack trace depressingly regularly:
javax.xml.transform.TransformerException: Broken pipe
at org.apache.xalan.stree.SourceTreeHandler.endDocument(SourceTreeHandler.java:360)
at org.apache.cocoon.xml.ContentHandlerWrapper.endDocument(ContentHandlerWrapper.java:98)
at org.apache.cocoon.Notifier.notify(Notifier.java:142)
at org.apache.cocoon.sitemap.ErrorNotifier.generate(ErrorNotifier.java:68)
at org.apache.cocoon.sitemap.ResourcePipeline.process(ResourcePipeline.java:201)
at _home._paulr._work._dev._xml_apache._xml_cocoon._build._cocoon._webapp._sitemap_xmap.error_process_1(_sitemap_xmap
.java:1698)
at _home._paulr._work._dev._xml_apache._xml_cocoon._build._cocoon._webapp._sitemap_xmap.process(_sitemap_xmap.java:16
63)
at org.apache.cocoon.sitemap.Handler.process(Handler.java:132)
at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:87)
at org.apache.cocoon.Cocoon.process(Cocoon.java:239)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:215)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:387)
at org.apache.tomcat.core.Handler.service(Handler.java:263)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:371)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:786)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:732)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:407)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484)
Is anyone aware what could be causing it? I'll have a look in
more detail when I get some more time (and have a chance to
add a bit more logging so I can see what's going on, and what
the Notifier is notifying us of ;)...
P.
--
Paul Russell <pa...@luminas.co.uk>
Technical Director, http://www.luminas.co.uk
Luminas Ltd.