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.