Hi Gabriel, yes, Grzegorz is right, someone is closing the Jetty output stream too early ... it could be cocoon, it could be Jetty itself, it could even be the client or a router dropping the connection. In fact, I have seen this error not only in cocoon but in many other frameworks as well. Basically, there is some piece of data (maybe just a whitespace, or a carriage return) that someone is trying to write to the client, but someone else closed the connection already. Seems like Jetty is the one that most often complains about this error... probably it has a better check for this case, or a buggy way of closing the connection :).
Anyway, if this stack trace is common (happens at least most of the time, if not always) then maybe it could be the case to investigate further. Seeing the stack trace, seems like it is the line AbstractCachingProcessingPipeline.java:834 that is trying to write to the stream. If you find a somestream.write(..) call there, then please file a bug. While it is true that this is most probably a jetty misbehaviour, at the same time we could investigate if Cocoon is really writing after it should and Jetty is simply picky enough to raise an error in this case. Simone Gabriel Gruber wrote: > > Hello, > > I am facing a strange issue with our product, which was recently > ported to cocoon 2.2 and is now in the final stabilization phase. It > seems that for some reason various exceptions occure on the log which > might have something to do with servlet service framework or inproper > configuration of jetty. this particular exception is repoduceable as > we get it, when driving a seleninium testcase against an embedded > jetty/hsqldb configuration of our product. > > Interestingly this does not have any bad consequence in the frontend. > however something seems to go wrong... > > Stacktrace: > javax.servlet.ServletException: org.apache.cocoon.ProcessingException: > Failed to process reader > > at <map:read type="servletLinkRewriter"> - > file:///C:/WINDOWS/TEMP/Jetty_0_0_0_0_0_webapp____75ty4m/blocks/cocoon-forms-impl/sitemap.xmap:59:104 > > at <map:match> - > file:///C:/WINDOWS/TEMP/Jetty_0_0_0_0_0_webapp____75ty4m/blocks/cocoon-forms-impl/sitemap.xmap:58:58 > > at > org.apache.cocoon.servlet.RequestProcessor.service(RequestProcessor.java:226) > > at > org.apache.cocoon.sitemap.SitemapServlet.service(SitemapServlet.java:82) > > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > > at > sun.reflect.GeneratedMethodAccessor229.invoke(Unknown Source) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:585) > > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) > > at > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) > > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) > > at > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:77) > > at > org.apache.cocoon.jnet.URLHandlerFactoryCollector.installURLHandlers(URLHandlerFactoryCollector.java:37) > > at > sun.reflect.GeneratedMethodAccessor228.invoke(Unknown Source) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:585) > > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627) > > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616) > > at > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:64) > > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > > at > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) > > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > > at $Proxy4.service(Unknown Source) > > at > org.apache.cocoon.servletservice.ServletServiceContext$PathDispatcher.forward(ServletServiceContext.java:481) > > at > org.apache.cocoon.servletservice.ServletServiceContext$NamedDispatcher.forward(ServletServiceContext.java:424) > > at > org.apache.cocoon.servletservice.ServletServiceContext$PathDispatcher.forward(ServletServiceContext.java:494) > > at > org.apache.cocoon.servletservice.ServletServiceContext$PathDispatcher.forward(ServletServiceContext.java:455) > > at > org.apache.cocoon.servletservice.spring.ServletFactoryBean$ServiceInterceptor.invoke(ServletFactoryBean.java:245) > > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > > at $Proxy61.service(Unknown Source) > > at > org.apache.cocoon.servletservice.DispatcherServlet.service(DispatcherServlet.java:106) > > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > > at > org.apache.cocoon.tools.rcl.wrapper.servlet.ReloadingServlet.service(ReloadingServlet.java:91) > > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) > > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) > > at > org.apache.cocoon.servlet.multipart.MultipartFilter.doFilter(MultipartFilter.java:131) > > at > org.apache.cocoon.tools.rcl.wrapper.servlet.ReloadingServletFilter.doFilter(ReloadingServletFilter.java:51) > > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) > > at > org.apache.cocoon.servlet.DebugFilter.doFilter(DebugFilter.java:167) > > at > org.apache.cocoon.tools.rcl.wrapper.servlet.ReloadingServletFilter.doFilter(ReloadingServletFilter.java:51) > > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) > > at > org.apache.cocoon.tools.rcl.wrapper.servlet.ReloadingSpringFilter.doFilter(ReloadingSpringFilter.java:67) > > at > org.apache.cocoon.tools.rcl.wrapper.servlet.ReloadingServletFilter.doFilter(ReloadingServletFilter.java:51) > > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) > > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) > > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) > > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) > > at > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) > > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) > > at org.mortbay.jetty.Server.handle(Server.java:324) > > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) > > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828) > > at > org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) > > at > org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > > at > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) > > at > org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) > > at > org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) > > Caused by: org.apache.cocoon.ProcessingException: Failed to process reader > > at <map:read type="servletLinkRewriter"> - > file:///C:/WINDOWS/TEMP/Jetty_0_0_0_0_0_webapp____75ty4m/blocks/cocoon-forms-impl/sitemap.xmap:59:104 > > at <map:match> - > file:///C:/WINDOWS/TEMP/Jetty_0_0_0_0_0_webapp____75ty4m/blocks/cocoon-forms-impl/sitemap.xmap:58:58 > > at > org.apache.cocoon.ProcessingException.throwLocated(ProcessingException.java:111) > > at > org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.handleException(AbstractProcessingPipeline.java:944) > > at > org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processReader(AbstractCachingProcessingPipeline.java:918) > > at > org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:436) > > at > sun.reflect.GeneratedMethodAccessor276.invoke(Unknown Source) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:585) > > at > org.apache.cocoon.core.container.spring.avalon.PoolableProxyHandler.invoke(PoolableProxyHandler.java:71) > > at $Proxy68.process(Unknown Source) > > at > org.apache.cocoon.components.treeprocessor.sitemap.ReadNode.invoke(ReadNode.java:94) > > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:55) > > at > org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:87) > > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:78) > > at > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) > > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:78) > > at > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:81) > > at > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:241) > > at > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:173) > > at > org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:247) > > at > org.apache.cocoon.servlet.RequestProcessor.process(RequestProcessor.java:347) > > at > org.apache.cocoon.servlet.RequestProcessor.service(RequestProcessor.java:169) > > ... 57 more > > Caused by: org.mortbay.jetty.EofException > > at > org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:760) > > at > org.mortbay.jetty.AbstractGenerator$Output.flush(AbstractGenerator.java:566) > > at > org.mortbay.jetty.HttpConnection$Output.flush(HttpConnection.java:910) > > at > org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:614) > > at > org.apache.cocoon.servletservice.HttpServletResponseBufferingWrapper$ForwardingOrLimitingServletOutputStream.write(HttpServletResponseBufferingWrapper.java:281) > > at java.io.OutputStream.write(OutputStream.java:99) > > at java.io.OutputStream.write(OutputStream.java:58) > > at > org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processReader(AbstractCachingProcessingPipeline.java:834) > > ... 75 more > > Caused by: java.net.SocketException: Connection reset by peer: socket > write error > > at java.net.SocketOutputStream.socketWrite0(Native Method) > > at > java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) > > at > java.net.SocketOutputStream.write(SocketOutputStream.java:136) > > at > org.mortbay.io.ByteArrayBuffer.writeTo(ByteArrayBuffer.java:169) > > at > org.mortbay.io.bio.StreamEndPoint.flush(StreamEndPoint.java:122) > > at > org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:693) > > ... 82 more > > Does anyone have a clue, what could be the issue? > > cheers, > > Gabriel > ______________________ > Mag. Gabriel Gruber > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > Workflow EDV GmbH, Dannebergplatz 6/23, A-1030 Wien -- Simone Gianni CEO Semeru s.r.l. Apache Committer http://www.simonegianni.it/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]