Periodic refresh causing server "Read timed out"

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

Periodic refresh causing server "Read timed out"

ncrofts
Hello.

I have an XForms page that periodically refreshes its model instance by posting a submission. Ordinarily this seems to work ok and the page gets updated as required. However if I leave the page refreshing, from time to time I get an Orbeon error dialog with the title "Read timed out" and the following information:

Resource URL Line Column Description XML Element
oxf:/ops/xforms/xforms-server.xpl 42 58 reading processor output name ? dataid ? request-body <p:output name="data" id="request-body"/>
oxf:/ops/xforms/xforms-server.xpl 49 60 reading processor output name ? dataid ? xforms-request <p:output name="data" id="xforms-request"/>
oxf:/ops/xforms/xforms-server.xpl 55 65 reading processor output name ? responseid ? xforms-response <p:output name="response" id="xforms-response"/>

I also get a stack trace in the OPS log file which is shown at the end of the message.

Clearly there is a time out occurring in the system, but I don't understand the reason or how I can prevent this. Has anyone encountered a similar problem before - I couldn't see anything that sounded like this that has been posted previously.

Anecdotally the problem seems worse when using Internet Explorer as the browser rather than Firefox or Chrome, which made me wonder if this is a client-side issue. Again, if so is there any way to make the system deal with this?

For information, I'm using Tomcat 6.0.20 on Windows, with Orbeon Forms Release 3.7.0beta1+.200812240128

Regards,
Neil

The server OPS log:
 
2009-08-10 09:16:29,390 ERROR ProcessorService  - Exception at line 42, column 58 of oxf:/ops/xforms/xforms-server.xpl (reading processor output: name='data', id='request-body')
java.net.SocketTimeoutException: Read timed out
 at java.net.SocketInputStream.socketRead0(Native Method)
 at java.net.SocketInputStream.read(Unknown Source)
 at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
 at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:781)
 at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
 at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
 at org.apache.coyote.Request.doRead(Request.java:428)
 at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
 at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405)
 at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
 at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:162)
 at org.orbeon.oxf.util.NetUtils.copyStream(NetUtils.java:268)
 at org.orbeon.oxf.processor.generator.RequestGenerator$2.startElement(RequestGenerator.java:164)
 at org.orbeon.saxon.event.ContentHandlerProxy.startContent(ContentHandlerProxy.java:349)
 at org.orbeon.saxon.event.NamespaceReducer.startContent(NamespaceReducer.java:168)
 at org.orbeon.saxon.event.ReceivingContentHandler.startElement(ReceivingContentHandler.java:268)
 at org.dom4j.io.SAXWriter.startElement(SAXWriter.java:810)
 at org.dom4j.io.SAXWriter.write(SAXWriter.java:732)
 at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
 at org.dom4j.io.SAXWriter.write(SAXWriter.java:733)
 at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
 at org.dom4j.io.SAXWriter.write(SAXWriter.java:202)
 at org.dom4j.io.SAXWriter.parse(SAXWriter.java:603)
 at org.orbeon.saxon.event.Sender.sendSAXSource(Sender.java:269)
 at org.orbeon.saxon.event.Sender.send(Sender.java:124)
 at org.orbeon.saxon.IdentityTransformer.transform(IdentityTransformer.java:29)
 at org.orbeon.oxf.xml.TransformerWrapper.transform(TransformerUtils.java:597)
 at org.orbeon.oxf.processor.generator.RequestGenerator$1.readImpl(RequestGenerator.java:122)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
 at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:402)
 at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
 at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.java:400)
 at org.orbeon.oxf.processor.transformer.XPathProcessor.access$300(XPathProcessor.java:46)
 at org.orbeon.oxf.processor.transformer.XPathProcessor$1.readImpl(XPathProcessor.java:80)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(AggregatorProcessor.java:38)
 at org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(AggregatorProcessor.java:93)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(AggregatorProcessor.java:38)
 at org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(AggregatorProcessor.java:93)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700(MSVValidationProcessor.java:44)
 at org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl(MSVValidationProcessor.java:219)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
 at org.orbeon.oxf.processor.generator.URLGenerator.access$300(URLGenerator.java:61)
 at org.orbeon.oxf.processor.generator.URLGenerator$2.read(URLGenerator.java:275)
 at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
 at org.orbeon.oxf.processor.generator.URLGenerator.access$700(URLGenerator.java:61)
 at org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.java:272)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:949)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700(MSVValidationProcessor.java:44)
 at org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl(MSVValidationProcessor.java:219)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter.read(ProcessorImpl.java:973)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:387)
 at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:103)
 at org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
 at org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:82)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at org.orbeon.oxf.processor.pipeline.TeeProcessor.access$000(TeeProcessor.java:36)
 at org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:59)
 at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
 at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
 at org.orbeon.oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorImpl.java:377)
 at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:410)
 at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
 at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsTinyTree(ProcessorImpl.java:408)
 at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:189)
 at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
 at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
 at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
 at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:242)
 at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
 at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
 at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
 at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:92)
 at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:96)
 at org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:148)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
 at java.lang.Thread.run(Unknown Source)

Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

Erik Bruchez
Administrator
Neil,

It's not clear why this is happening. But it seems to happen when
Orbeon is trying to read the body of the request sent by the browser.

-Erik

On Mon, Aug 10, 2009 at 11:27 PM, ncrofts<[hidden email]> wrote:

>
> Hello.
>
> I have an XForms page that periodically refreshes its model instance by
> posting a submission. Ordinarily this seems to work ok and the page gets
> updated as required. However if I leave the page refreshing, from time to
> time I get an Orbeon error dialog with the title "Read timed out" and the
> following information:
>
> Resource URL    Line    Column  Description     XML Element
> oxf:/ops/xforms/xforms-server.xpl       42      58      reading processor output name ?
> dataid ? request-body   <p:output name="data" id="request-body"/>
> oxf:/ops/xforms/xforms-server.xpl       49      60      reading processor output name ?
> dataid ? xforms-request         <p:output name="data" id="xforms-request"/>
> oxf:/ops/xforms/xforms-server.xpl       55      65      reading processor output name ?
> responseid ? xforms-response    <p:output name="response"
> id="xforms-response"/>
>
> I also get a stack trace in the OPS log file which is shown at the end of
> the message.
>
> Clearly there is a time out occurring in the system, but I don't understand
> the reason or how I can prevent this. Has anyone encountered a similar
> problem before - I couldn't see anything that sounded like this that has
> been posted previously.
>
> Anecdotally the problem seems worse when using Internet Explorer as the
> browser rather than Firefox or Chrome, which made me wonder if this is a
> client-side issue. Again, if so is there any way to make the system deal
> with this?
>
> For information, I'm using Tomcat 6.0.20 on Windows, with Orbeon Forms
> Release 3.7.0beta1+.200812240128
>
> Regards,
> Neil
>
> The server OPS log:
>
> 2009-08-10 09:16:29,390 ERROR ProcessorService  - Exception at line 42,
> column 58 of oxf:/ops/xforms/xforms-server.xpl (reading processor output:
> name='data', id='request-body')
> java.net.SocketTimeoutException: Read timed out
>  at java.net.SocketInputStream.socketRead0(Native Method)
>  at java.net.SocketInputStream.read(Unknown Source)
>  at
> org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
>  at
> org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:781)
>  at
> org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
>  at
> org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
>  at org.apache.coyote.Request.doRead(Request.java:428)
>  at
> org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
>  at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405)
>  at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
>  at
> org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:162)
>  at org.orbeon.oxf.util.NetUtils.copyStream(NetUtils.java:268)
>  at
> org.orbeon.oxf.processor.generator.RequestGenerator$2.startElement(RequestGenerator.java:164)
>  at
> org.orbeon.saxon.event.ContentHandlerProxy.startContent(ContentHandlerProxy.java:349)
>  at
> org.orbeon.saxon.event.NamespaceReducer.startContent(NamespaceReducer.java:168)
>  at
> org.orbeon.saxon.event.ReceivingContentHandler.startElement(ReceivingContentHandler.java:268)
>  at org.dom4j.io.SAXWriter.startElement(SAXWriter.java:810)
>  at org.dom4j.io.SAXWriter.write(SAXWriter.java:732)
>  at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
>  at org.dom4j.io.SAXWriter.write(SAXWriter.java:733)
>  at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
>  at org.dom4j.io.SAXWriter.write(SAXWriter.java:202)
>  at org.dom4j.io.SAXWriter.parse(SAXWriter.java:603)
>  at org.orbeon.saxon.event.Sender.sendSAXSource(Sender.java:269)
>  at org.orbeon.saxon.event.Sender.send(Sender.java:124)
>  at
> org.orbeon.saxon.IdentityTransformer.transform(IdentityTransformer.java:29)
>  at
> org.orbeon.oxf.xml.TransformerWrapper.transform(TransformerUtils.java:597)
>  at
> org.orbeon.oxf.processor.generator.RequestGenerator$1.readImpl(RequestGenerator.java:122)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
>  at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:402)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.java:400)
>  at
> org.orbeon.oxf.processor.transformer.XPathProcessor.access$300(XPathProcessor.java:46)
>  at
> org.orbeon.oxf.processor.transformer.XPathProcessor$1.readImpl(XPathProcessor.java:80)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(AggregatorProcessor.java:38)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(AggregatorProcessor.java:93)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(AggregatorProcessor.java:38)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(AggregatorProcessor.java:93)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700(MSVValidationProcessor.java:44)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl(MSVValidationProcessor.java:219)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator.access$300(URLGenerator.java:61)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator$2.read(URLGenerator.java:275)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator.access$700(URLGenerator.java:61)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.java:272)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:949)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700(MSVValidationProcessor.java:44)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl(MSVValidationProcessor.java:219)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter.read(ProcessorImpl.java:973)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:387)
>  at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:103)
>  at
> org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
>  at
> org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:82)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.pipeline.TeeProcessor.access$000(TeeProcessor.java:36)
>  at
> org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:59)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorImpl.java:377)
>  at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:410)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsTinyTree(ProcessorImpl.java:408)
>  at
> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:189)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
>  at
> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:242)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
>  at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:92)
>  at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:96)
>  at
> org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:148)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>  at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>  at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
>  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>  at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>  at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>  at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>  at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>  at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>  at java.lang.Thread.run(Unknown Source)
>
>
> --
> View this message in context: http://www.nabble.com/Periodic-refresh-causing-server-%22Read-timed-out%22-tp24901848p24901848.html
> Sent from the ObjectWeb OPS - Users mailing list archive at Nabble.com.
>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

ncrofts
Hi Erik,

Incidentally it's not just a problem with Internet Explorer, it does occur in other browsers, but certainly seems more prevalent from Internet Explorer, hence why I wondered if it's perhaps some kind of scripting issue. Do you know if the "Read timeout out" message is sent to the browser by the Orbeon server, or is this occurring at the browser end?

Could it be that our submission is taking too long to be processed? I'm slightly surprised if that is the case, as the problem doesn't seem to affect all open sessions.

Any more thoughts you have on how we might track this down would be greatly appreciated.

Regards,
Neil

Erik Bruchez wrote
Neil,

It's not clear why this is happening. But it seems to happen when
Orbeon is trying to read the body of the request sent by the browser.

-Erik

On Mon, Aug 10, 2009 at 11:27 PM, ncrofts<neil.crofts@gmail.com> wrote:
>
> Hello.
>
> I have an XForms page that periodically refreshes its model instance by
> posting a submission. Ordinarily this seems to work ok and the page gets
> updated as required. However if I leave the page refreshing, from time to
> time I get an Orbeon error dialog with the title "Read timed out" and the
> following information:
>
> Resource URL    Line    Column  Description     XML Element
> oxf:/ops/xforms/xforms-server.xpl       42      58      reading processor output name ?
> dataid ? request-body   <p:output name="data" id="request-body"/>
> oxf:/ops/xforms/xforms-server.xpl       49      60      reading processor output name ?
> dataid ? xforms-request         <p:output name="data" id="xforms-request"/>
> oxf:/ops/xforms/xforms-server.xpl       55      65      reading processor output name ?
> responseid ? xforms-response    <p:output name="response"
> id="xforms-response"/>
>
> I also get a stack trace in the OPS log file which is shown at the end of
> the message.
>
> Clearly there is a time out occurring in the system, but I don't understand
> the reason or how I can prevent this. Has anyone encountered a similar
> problem before - I couldn't see anything that sounded like this that has
> been posted previously.
>
> Anecdotally the problem seems worse when using Internet Explorer as the
> browser rather than Firefox or Chrome, which made me wonder if this is a
> client-side issue. Again, if so is there any way to make the system deal
> with this?
>
> For information, I'm using Tomcat 6.0.20 on Windows, with Orbeon Forms
> Release 3.7.0beta1+.200812240128
>
> Regards,
> Neil
>
> The server OPS log:
>
> 2009-08-10 09:16:29,390 ERROR ProcessorService  - Exception at line 42,
> column 58 of oxf:/ops/xforms/xforms-server.xpl (reading processor output:
> name='data', id='request-body')
> java.net.SocketTimeoutException: Read timed out
>  at java.net.SocketInputStream.socketRead0(Native Method)
>  at java.net.SocketInputStream.read(Unknown Source)
>  at
> org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
>  at
> org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:781)
>  at
> org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
>  at
> org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
>  at org.apache.coyote.Request.doRead(Request.java:428)
>  at
> org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
>  at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405)
>  at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
>  at
> org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:162)
>  at org.orbeon.oxf.util.NetUtils.copyStream(NetUtils.java:268)
>  at
> org.orbeon.oxf.processor.generator.RequestGenerator$2.startElement(RequestGenerator.java:164)
>  at
> org.orbeon.saxon.event.ContentHandlerProxy.startContent(ContentHandlerProxy.java:349)
>  at
> org.orbeon.saxon.event.NamespaceReducer.startContent(NamespaceReducer.java:168)
>  at
> org.orbeon.saxon.event.ReceivingContentHandler.startElement(ReceivingContentHandler.java:268)
>  at org.dom4j.io.SAXWriter.startElement(SAXWriter.java:810)
>  at org.dom4j.io.SAXWriter.write(SAXWriter.java:732)
>  at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
>  at org.dom4j.io.SAXWriter.write(SAXWriter.java:733)
>  at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
>  at org.dom4j.io.SAXWriter.write(SAXWriter.java:202)
>  at org.dom4j.io.SAXWriter.parse(SAXWriter.java:603)
>  at org.orbeon.saxon.event.Sender.sendSAXSource(Sender.java:269)
>  at org.orbeon.saxon.event.Sender.send(Sender.java:124)
>  at
> org.orbeon.saxon.IdentityTransformer.transform(IdentityTransformer.java:29)
>  at
> org.orbeon.oxf.xml.TransformerWrapper.transform(TransformerUtils.java:597)
>  at
> org.orbeon.oxf.processor.generator.RequestGenerator$1.readImpl(RequestGenerator.java:122)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
>  at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:402)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.java:400)
>  at
> org.orbeon.oxf.processor.transformer.XPathProcessor.access$300(XPathProcessor.java:46)
>  at
> org.orbeon.oxf.processor.transformer.XPathProcessor$1.readImpl(XPathProcessor.java:80)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(AggregatorProcessor.java:38)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(AggregatorProcessor.java:93)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(AggregatorProcessor.java:38)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(AggregatorProcessor.java:93)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700(MSVValidationProcessor.java:44)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl(MSVValidationProcessor.java:219)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator.access$300(URLGenerator.java:61)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator$2.read(URLGenerator.java:275)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator.access$700(URLGenerator.java:61)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.java:272)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:949)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700(MSVValidationProcessor.java:44)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl(MSVValidationProcessor.java:219)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter.read(ProcessorImpl.java:973)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:387)
>  at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:103)
>  at
> org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
>  at
> org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:82)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.pipeline.TeeProcessor.access$000(TeeProcessor.java:36)
>  at
> org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:59)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorImpl.java:377)
>  at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:410)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsTinyTree(ProcessorImpl.java:408)
>  at
> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:189)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
>  at
> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:242)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
>  at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:92)
>  at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:96)
>  at
> org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:148)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>  at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>  at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
>  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>  at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>  at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>  at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>  at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>  at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>  at java.lang.Thread.run(Unknown Source)
>
>
> --
> View this message in context: http://www.nabble.com/Periodic-refresh-causing-server-%22Read-timed-out%22-tp24901848p24901848.html
> Sent from the ObjectWeb OPS - Users mailing list archive at Nabble.com.
>
>
>
> --
> You receive this message as a subscriber of the ops-users@ow2.org mailing list.
> To unsubscribe: mailto:ops-users-unsubscribe@ow2.org
> For general help: mailto:sympa@ow2.org?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the ops-users@ow2.org mailing list.
To unsubscribe: mailto:ops-users-unsubscribe@ow2.org
For general help: mailto:sympa@ow2.org?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

ncrofts
Hello again,

I don't know if this sheds more light on the issue, or if this is a different issue, but I also got this response on one occasion too:

HTTP Status 403 - The request body was too large to be cached during the authentication process
--------------------------------------------------------------------------------
type Status report

message The request body was too large to be cached during the authentication process

description Access to the specified resource (The request body was too large to be cached during the authentication process) has been forbidden.
--------------------------------------------------------------------------------
Apache Tomcat/6.0.20


I didn't see anything on the Orbeon Users forum about this, but did find a couple of forums talking about this on Tomcat/java forums.

Apologies if this is unrelated to the original problem.

Regards,
Neil




ncrofts wrote
Hi Erik,

Incidentally it's not just a problem with Internet Explorer, it does occur in other browsers, but certainly seems more prevalent from Internet Explorer, hence why I wondered if it's perhaps some kind of scripting issue. Do you know if the "Read timeout out" message is sent to the browser by the Orbeon server, or is this occurring at the browser end?

Could it be that our submission is taking too long to be processed? I'm slightly surprised if that is the case, as the problem doesn't seem to affect all open sessions.

Any more thoughts you have on how we might track this down would be greatly appreciated.

Regards,
Neil

Erik Bruchez wrote
Neil,

It's not clear why this is happening. But it seems to happen when
Orbeon is trying to read the body of the request sent by the browser.

-Erik

On Mon, Aug 10, 2009 at 11:27 PM, ncrofts<neil.crofts@gmail.com> wrote:
>
> Hello.
>
> I have an XForms page that periodically refreshes its model instance by
> posting a submission. Ordinarily this seems to work ok and the page gets
> updated as required. However if I leave the page refreshing, from time to
> time I get an Orbeon error dialog with the title "Read timed out" and the
> following information:
>
> Resource URL    Line    Column  Description     XML Element
> oxf:/ops/xforms/xforms-server.xpl       42      58      reading processor output name ?
> dataid ? request-body   <p:output name="data" id="request-body"/>
> oxf:/ops/xforms/xforms-server.xpl       49      60      reading processor output name ?
> dataid ? xforms-request         <p:output name="data" id="xforms-request"/>
> oxf:/ops/xforms/xforms-server.xpl       55      65      reading processor output name ?
> responseid ? xforms-response    <p:output name="response"
> id="xforms-response"/>
>
> I also get a stack trace in the OPS log file which is shown at the end of
> the message.
>
> Clearly there is a time out occurring in the system, but I don't understand
> the reason or how I can prevent this. Has anyone encountered a similar
> problem before - I couldn't see anything that sounded like this that has
> been posted previously.
>
> Anecdotally the problem seems worse when using Internet Explorer as the
> browser rather than Firefox or Chrome, which made me wonder if this is a
> client-side issue. Again, if so is there any way to make the system deal
> with this?
>
> For information, I'm using Tomcat 6.0.20 on Windows, with Orbeon Forms
> Release 3.7.0beta1+.200812240128
>
> Regards,
> Neil
>
> The server OPS log:
>
> 2009-08-10 09:16:29,390 ERROR ProcessorService  - Exception at line 42,
> column 58 of oxf:/ops/xforms/xforms-server.xpl (reading processor output:
> name='data', id='request-body')
> java.net.SocketTimeoutException: Read timed out
>  at java.net.SocketInputStream.socketRead0(Native Method)
>  at java.net.SocketInputStream.read(Unknown Source)
>  at
> org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
>  at
> org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:781)
>  at
> org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
>  at
> org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
>  at org.apache.coyote.Request.doRead(Request.java:428)
>  at
> org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
>  at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405)
>  at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
>  at
> org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:162)
>  at org.orbeon.oxf.util.NetUtils.copyStream(NetUtils.java:268)
>  at
> org.orbeon.oxf.processor.generator.RequestGenerator$2.startElement(RequestGenerator.java:164)
>  at
> org.orbeon.saxon.event.ContentHandlerProxy.startContent(ContentHandlerProxy.java:349)
>  at
> org.orbeon.saxon.event.NamespaceReducer.startContent(NamespaceReducer.java:168)
>  at
> org.orbeon.saxon.event.ReceivingContentHandler.startElement(ReceivingContentHandler.java:268)
>  at org.dom4j.io.SAXWriter.startElement(SAXWriter.java:810)
>  at org.dom4j.io.SAXWriter.write(SAXWriter.java:732)
>  at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
>  at org.dom4j.io.SAXWriter.write(SAXWriter.java:733)
>  at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
>  at org.dom4j.io.SAXWriter.write(SAXWriter.java:202)
>  at org.dom4j.io.SAXWriter.parse(SAXWriter.java:603)
>  at org.orbeon.saxon.event.Sender.sendSAXSource(Sender.java:269)
>  at org.orbeon.saxon.event.Sender.send(Sender.java:124)
>  at
> org.orbeon.saxon.IdentityTransformer.transform(IdentityTransformer.java:29)
>  at
> org.orbeon.oxf.xml.TransformerWrapper.transform(TransformerUtils.java:597)
>  at
> org.orbeon.oxf.processor.generator.RequestGenerator$1.readImpl(RequestGenerator.java:122)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
>  at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:402)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.java:400)
>  at
> org.orbeon.oxf.processor.transformer.XPathProcessor.access$300(XPathProcessor.java:46)
>  at
> org.orbeon.oxf.processor.transformer.XPathProcessor$1.readImpl(XPathProcessor.java:80)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(AggregatorProcessor.java:38)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(AggregatorProcessor.java:93)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(AggregatorProcessor.java:38)
>  at
> org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(AggregatorProcessor.java:93)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700(MSVValidationProcessor.java:44)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl(MSVValidationProcessor.java:219)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator.access$300(URLGenerator.java:61)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator$2.read(URLGenerator.java:275)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator.access$700(URLGenerator.java:61)
>  at
> org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.java:272)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:949)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700(MSVValidationProcessor.java:44)
>  at
> org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl(MSVValidationProcessor.java:219)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter.read(ProcessorImpl.java:973)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:368)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:387)
>  at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:103)
>  at
> org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
>  at
> org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:82)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.pipeline.TeeProcessor.access$000(TeeProcessor.java:36)
>  at
> org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:59)
>  at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)
>  at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1178)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:350)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorImpl.java:377)
>  at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:410)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:453)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsTinyTree(ProcessorImpl.java:408)
>  at
> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:189)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
>  at
> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:242)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644)
>  at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:519)
>  at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641)
>  at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:92)
>  at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:96)
>  at
> org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:148)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>  at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>  at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
>  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>  at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>  at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>  at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>  at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>  at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>  at java.lang.Thread.run(Unknown Source)
>
>
> --
> View this message in context: http://www.nabble.com/Periodic-refresh-causing-server-%22Read-timed-out%22-tp24901848p24901848.html
> Sent from the ObjectWeb OPS - Users mailing list archive at Nabble.com.
>
>
>
> --
> You receive this message as a subscriber of the ops-users@ow2.org mailing list.
> To unsubscribe: mailto:ops-users-unsubscribe@ow2.org
> For general help: mailto:sympa@ow2.org?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the ops-users@ow2.org mailing list.
To unsubscribe: mailto:ops-users-unsubscribe@ow2.org
For general help: mailto:sympa@ow2.org?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

Alessandro Vernet
Administrator
Neil,

ncrofts wrote
description Access to the specified resource (The request body was too large to be cached during the authentication process) has been forbidden.
I have never seen this error, so I am not sure if it is related or not to the other problem you mentioned.

Do you have another server in front of Tomcat (Apache, IIS...) or is this happening with "just Tomcat"?

Are you using HTTPS? If you are, you might want to check if this is also happening over HTTP.

Would you be able to check if you get the same problem with Tomcat 5.5 (instead of 6)?

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

ncrofts
Hi Alex,

We are just running Tomcat at the moment. The problem also occurs for us on a second server, which is a Linux machine. The original server we were using was running the same set up but under Windows 2008 Server.

We are not using HTTPS at the moment just HTTP.

I will try setting up Tomcat 5.5 and see if the same issue occurs. I'll let you know what happens.

Regards,
Neil


Alessandro Vernet wrote
Neil,

ncrofts wrote
description Access to the specified resource (The request body was too large to be cached during the authentication process) has been forbidden.
I have never seen this error, so I am not sure if it is related or not to the other problem you mentioned.

Do you have another server in front of Tomcat (Apache, IIS...) or is this happening with "just Tomcat"?

Are you using HTTPS? If you are, you might want to check if this is also happening over HTTP.

Would you be able to check if you get the same problem with Tomcat 5.5 (instead of 6)?

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

ncrofts
Hello again,

I've tried Tomcat 5.5 and the problem still occurs (see stack trace below).

2009-08-14 14:52:44,487 ERROR ProcessorService  - Exception at line 42, column 5
8 of oxf:/ops/xforms/xforms-server.xpl (reading processor output: name='data', i
d='request-body')
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer
.java:751)
        at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.d
oRead(InternalInputBuffer.java:781)
        at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityI
nputFilter.java:116)
        at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuff
er.java:710)
        at org.apache.coyote.Request.doRead(Request.java:428)
        at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.j
ava:304)
        at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405)
        at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
        at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStrea
m.java:162)
        at org.orbeon.oxf.util.NetUtils.copyStream(NetUtils.java:268)
        at org.orbeon.oxf.processor.generator.RequestGenerator$2.startElement(Re
questGenerator.java:164)
        at org.orbeon.saxon.event.ContentHandlerProxy.startContent(ContentHandle
rProxy.java:349)
        at org.orbeon.saxon.event.NamespaceReducer.startContent(NamespaceReducer
.java:168)
        at org.orbeon.saxon.event.ReceivingContentHandler.startElement(Receiving
ContentHandler.java:268)
        at org.dom4j.io.SAXWriter.startElement(SAXWriter.java:810)
        at org.dom4j.io.SAXWriter.write(SAXWriter.java:732)
        at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
        at org.dom4j.io.SAXWriter.write(SAXWriter.java:733)
        at org.dom4j.io.SAXWriter.writeContent(SAXWriter.java:619)
        at org.dom4j.io.SAXWriter.write(SAXWriter.java:202)
        at org.dom4j.io.SAXWriter.parse(SAXWriter.java:603)
        at org.orbeon.saxon.event.Sender.sendSAXSource(Sender.java:269)
        at org.orbeon.saxon.event.Sender.send(Sender.java:124)
        at org.orbeon.saxon.IdentityTransformer.transform(IdentityTransformer.ja
va:29)
        at org.orbeon.oxf.xml.TransformerWrapper.transform(TransformerUtils.java
:597)
        at org.orbeon.oxf.processor.generator.RequestGenerator$1.readImpl(Reques
tGenerator.java:122)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)

        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1178)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:350)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl
.java:368)
        at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:402)

        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(Process
orImpl.java:453)
        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(Processo
rImpl.java:400)
        at org.orbeon.oxf.processor.transformer.XPathProcessor.access$300(XPathP
rocessor.java:46)
        at org.orbeon.oxf.processor.transformer.XPathProcessor$1.readImpl(XPathP
rocessor.java:80)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)

        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1178)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:350)
        at org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(Aggr
egatorProcessor.java:38)
        at org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(Aggr
egatorProcessor.java:93)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)

        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1178)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:350)
        at org.orbeon.oxf.processor.pipeline.AggregatorProcessor.access$100(Aggr
egatorProcessor.java:38)
        at org.orbeon.oxf.processor.pipeline.AggregatorProcessor$1.readImpl(Aggr
egatorProcessor.java:93)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)

        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1178)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:350)
        at org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700
(MSVValidationProcessor.java:44)
        at org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl
(MSVValidationProcessor.java:219)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)

        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1178)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:350)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl
.java:368)
        at org.orbeon.oxf.processor.generator.URLGenerator.access$300(URLGenerat
or.java:61)
        at org.orbeon.oxf.processor.generator.URLGenerator$2.read(URLGenerator.j
ava:275)
        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(Process
orImpl.java:453)
        at org.orbeon.oxf.processor.generator.URLGenerator.access$700(URLGenerat
or.java:61)
        at org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerat
or.java:272)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)

        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcretePr
ocessorFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:949)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:350)
        at org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700
(MSVValidationProcessor.java:44)
        at org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl
(MSVValidationProcessor.java:219)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)

        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1178)
        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcretePr
ocessorFilter.read(ProcessorImpl.java:973)
        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1178)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:350)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl
.java:368)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl
.java:387)
        at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:1
03)
        at org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.
java:56)
        at org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.
java:82)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)

        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1178)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:350)
        at org.orbeon.oxf.processor.pipeline.TeeProcessor.access$000(TeeProcesso
r.java:36)
        at org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcesso
r.java:59)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:995)

        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(Proce
ssorImpl.java:1178)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.j
ava:350)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorI
mpl.java:377)
        at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:410)

        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(Process
orImpl.java:453)
        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsTinyTree(Proce
ssorImpl.java:408)
        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.star
t(ConcreteChooseProcessor.java:189)
        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelinePr
ocessor.java:644)
        at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.
java:519)
        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelinePro
cessor.java:641)
        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.star
t(ConcreteChooseProcessor.java:242)
        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelinePr
ocessor.java:644)
        at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.
java:519)
        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelinePro
cessor.java:641)
        at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:92)
        at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:
96)
        at org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.
java:148)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:433)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:849)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:45
4)
        at java.lang.Thread.run(Unknown Source)


Regards,
Neil


ncrofts wrote
Hi Alex,

We are just running Tomcat at the moment. The problem also occurs for us on a second server, which is a Linux machine. The original server we were using was running the same set up but under Windows 2008 Server.

We are not using HTTPS at the moment just HTTP.

I will try setting up Tomcat 5.5 and see if the same issue occurs. I'll let you know what happens.

Regards,
Neil


Alessandro Vernet wrote
Neil,

ncrofts wrote
description Access to the specified resource (The request body was too large to be cached during the authentication process) has been forbidden.
I have never seen this error, so I am not sure if it is related or not to the other problem you mentioned.

Do you have another server in front of Tomcat (Apache, IIS...) or is this happening with "just Tomcat"?

Are you using HTTPS? If you are, you might want to check if this is also happening over HTTP.

Would you be able to check if you get the same problem with Tomcat 5.5 (instead of 6)?

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

Alessandro Vernet
Administrator
Neil,

ncrofts wrote
I've tried Tomcat 5.5 and the problem still occurs (see stack trace below).
Thank you for testing this on Tomcat 5.5 well. Is there any chance that you could create a simple/minimal reproducible test case that you could share with us on this list, so we can investigate the issue further?

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

ncrofts
Hi Alex,

Yes we are trying to reproduce this as a minimal example and will post a scenario as soon as we can.

One of the things that we were wondering was if the way we are auto-refreshing pages may be contributing to the problem (see below)? We use the following pattern on pages that we wish to auto-refresh every 30 seconds. Is this an appropriate way to achieve that, or is there a simpler way?

We don't think what is in the "get-form-data' XPL pipeline makes a difference to the "read timed out" issue, but we have noticed if the pipeline takes a long time, then the page refreshes can stop. Is that expected behaviour?

Anyway, we'll try and produce that example, but in the meantime would appreciate your insight into the above questions in case that sheds some light on the "read timed out" problem as well.


<xforms:model id="main-model" xxforms:external-events="auto-refresh">

       
        <xforms:instance id="form-data">
                <form>
                        <data/>
                </form>
        </xforms:instance>

       
        <xxforms:script ev:event="xforms-model-construct-done">
              ORBEON.xforms.Document.dispatchEvent("main-model", "auto-refresh");
        </xxforms:script>
        <xforms:dispatch ev:event="auto-refresh" delay="30000" name="refresh" target="main-model"/>
       
       
        <xforms:action ev:event="refresh">
                <xforms:send submission="refresh-form"/>
                <xforms:dispatch delay="30000" name="refresh" target="main-model"/>
        </xforms:action>

       
        <xforms:submission id="refresh-form" ref="instance('form-data')" method="post" replace="instance" instance="form-data" resource="get-form-data"/>

</xforms:model>

Regards,
Neil


Alessandro Vernet wrote
Neil,

ncrofts wrote
I've tried Tomcat 5.5 and the problem still occurs (see stack trace below).
Thank you for testing this on Tomcat 5.5 well. Is there any chance that you could create a simple/minimal reproducible test case that you could share with us on this list, so we can investigate the issue further?

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

Alessandro Vernet
Administrator
Neil,

ncrofts wrote
One of the things that we were wondering was if the way we are auto-refreshing pages may be contributing to the problem (see below)? We use the following pattern on pages that we wish to auto-refresh every 30 seconds. Is this an appropriate way to achieve that, or is there a simpler way?
Really, that code looks fine to me. Please let us know when you have a test case for this. I will be curious to test this out.

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

ncrofts
Alex,

Sorry about the delay in getting back to you. I've attached a zip file containing the simplest application I can reproduce the "Read timed out" problem with. test-page.zip

All this does is to auto-refresh the page every 30 seconds. The refresh calls a submission that just generates an instance with a counter + date/time + an arbitrary block of XML.

To reproduce I just added the files to the apps folder of the standard orbeon.war and then navigate to the test page and leave it refreshing. Eventually (after several hours sometimes) I get the "Read timed out" error.

I would be interested to find out if you also see the problem too. For information, I find the problem to be more frequent when running the on a remote servers i.e. not on my local network.

Also, any further thoughts you may have on how to track this further would be appreciated, as it is a problem I would rather not go into production with.

By the way, thanks for confirming the auto-refresh code was ok.

Regards,
Neil


Alessandro Vernet wrote
Neil,

ncrofts wrote
One of the things that we were wondering was if the way we are auto-refreshing pages may be contributing to the problem (see below)? We use the following pattern on pages that we wish to auto-refresh every 30 seconds. Is this an appropriate way to achieve that, or is there a simpler way?
Really, that code looks fine to me. Please let us know when you have a test case for this. I will be curious to test this out.

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

Alessandro Vernet
Administrator
Neil,

ncrofts wrote
Sorry about the delay in getting back to you. I've attached a zip file containing the simplest application I can reproduce the "Read timed out" problem with. test-page.zip [...]
I have the code running in an Orbeon Forms on my laptop with a remote Windows machine doing its thing every 30 seconds. I'll let you know what I see.

Does the problem happen faster if you set the interval to be shorter?

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

ncrofts
Hi Alex,

Thanks for trying this. I haven't been able to see any obvious pattern when it comes to the interval. I've tried reducing it down to 5 second intervals and the fault does occur, but anecdotally it doesn't seem to cause the fault any more frequently. For the test I left it at 30 seconds to reflect the real scenario we need to use.

Also, one thing I noticed is that sometimes if the activity performed by the XPL pipeline takes a 'long time' relative to the interval then the page refreshing seems to stop. I don't know if this is a related issue.

Anyway, thanks in advance for sharing your results.

Regards,
Neil





Alessandro Vernet wrote
Neil,

ncrofts wrote
Sorry about the delay in getting back to you. I've attached a zip file containing the simplest application I can reproduce the "Read timed out" problem with. test-page.zip [...]
I have the code running in an Orbeon Forms on my laptop with a remote Windows machine doing its thing every 30 seconds. I'll let you know what I see.

Does the problem happen faster if you set the interval to be shorter?

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

Alessandro Vernet
Administrator
Neil,

ncrofts wrote
Thanks for trying this. I haven't been able to see any obvious pattern when it comes to the interval. I've tried reducing it down to 5 second intervals and the fault does occur, but anecdotally it doesn't seem to cause the fault any more frequently. For the test I left it at 30 seconds to reflect the real scenario we need to use.
OK, even if anecdotal, this is interesting.

ncrofts wrote
Anyway, thanks in advance for sharing your results.
I left the page running for about 2 hours on a machine running IE6 but haven't seen the "read timeout" message so far. I am wondering what the server returns, if anything, when this "read timeout" error occurs. Could you try installing ieHTTPHeaders (http://wiki.orbeon.com/forms/doc/developer-guide/monitoring-http-requests) on IE, and run the test again on your side? ieHTTPHeaders should also log the Ajax requests. Maybe seeing what the request/response is when it fails will help. Also, when it fails, you might want to check the orbeon.log on the server to see if you see anything unusual there.

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

ncrofts
Alex,

Thanks for the further advice. I've installed ieHttpHeaders and have attached a file containing the output from a test run that eventually ended in a "Read timed out" error. It seems that the page refreshes are taking place as normal, until the error occurs at which point there doesn't appear to be any data posted.

ieHttpHeaders_ReadTimedOut.txtoccurs

Can you see anything indicating a problem in this?

I've had a look again at orbeon.log too. It seems ok until the exception occurs and the stack trace I've posted previously is output.

Regards,
Neil

Alessandro Vernet wrote
Neil,

ncrofts wrote
Thanks for trying this. I haven't been able to see any obvious pattern when it comes to the interval. I've tried reducing it down to 5 second intervals and the fault does occur, but anecdotally it doesn't seem to cause the fault any more frequently. For the test I left it at 30 seconds to reflect the real scenario we need to use.
OK, even if anecdotal, this is interesting.

ncrofts wrote
Anyway, thanks in advance for sharing your results.
I left the page running for about 2 hours on a machine running IE6 but haven't seen the "read timeout" message so far. I am wondering what the server returns, if anything, when this "read timeout" error occurs. Could you try installing ieHTTPHeaders (http://wiki.orbeon.com/forms/doc/developer-guide/monitoring-http-requests) on IE, and run the test again on your side? ieHTTPHeaders should also log the Ajax requests. Maybe seeing what the request/response is when it fails will help. Also, when it fails, you might want to check the orbeon.log on the server to see if you see anything unusual there.

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Periodic refresh causing server "Read timed out"

ncrofts
Hi,

I'm really struggling to find a solution for this "Read timed out" issue. I've a few more observations that I was hoping might shed some light on the cause and perhaps lead to ideas for a solution.

Firstly, it is not container specific as the problem occurs when using tomcat or jetty.

Secondly, it appears to be linked to bandwidth, or rather lack of it. When running between two machines on a local area network the problem does not appear to happen. However when run across the Internet the problem does manifest itself. In particular the problem occurs much more rapidly if the server is running on a machine with low bandwidth. For example, when run on a machine with a domestic ADSL connection (download ~4Mbs, upload ~ 350 kbs) the problem shows up almost immediately. This is the reverse of my original scenario where a fast, high bandwidth server was talking to the lower bandwidth client. In that scenario the problem took several hours to show itself.

I've noticed also that a low bandwidth mobile broadband client (down/upload < 350 Kbs) also fails to work most of the time too.

I've been searching around for other situations where people encounter "Read timed out" issues and the closest sounding scenario is the following: http://www.nabble.com/question-:-encounter-java.net.SocketTimeoutException:-Read-timed-out-occasionally-td19326602.html

This seems to imply the Keep-Alive header may be part of the issue, but so far I've not been able to prove this has any impact.

Anyway, I was wondering if any of the above gives any ideas for what is going wrong.  If this really is a bandwidth related issue then this must surely be an issue that will eventually bite other application developers too.

Thanks in advance for any thoughts on this.

Neil



ncrofts wrote
Alex,

Thanks for the further advice. I've installed ieHttpHeaders and have attached a file containing the output from a test run that eventually ended in a "Read timed out" error. It seems that the page refreshes are taking place as normal, until the error occurs at which point there doesn't appear to be any data posted.

ieHttpHeaders_ReadTimedOut.txtoccurs

Can you see anything indicating a problem in this?

I've had a look again at orbeon.log too. It seems ok until the exception occurs and the stack trace I've posted previously is output.

Regards,
Neil

Alessandro Vernet wrote
Neil,

ncrofts wrote
Thanks for trying this. I haven't been able to see any obvious pattern when it comes to the interval. I've tried reducing it down to 5 second intervals and the fault does occur, but anecdotally it doesn't seem to cause the fault any more frequently. For the test I left it at 30 seconds to reflect the real scenario we need to use.
OK, even if anecdotal, this is interesting.

ncrofts wrote
Anyway, thanks in advance for sharing your results.
I left the page running for about 2 hours on a machine running IE6 but haven't seen the "read timeout" message so far. I am wondering what the server returns, if anything, when this "read timeout" error occurs. Could you try installing ieHTTPHeaders (http://wiki.orbeon.com/forms/doc/developer-guide/monitoring-http-requests) on IE, and run the test again on your side? ieHTTPHeaders should also log the Ajax requests. Maybe seeing what the request/response is when it fails will help. Also, when it fails, you might want to check the orbeon.log on the server to see if you see anything unusual there.

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Re: Periodic refresh causing server "Read timed out"

Alessandro Vernet
Administrator
Neil,

On Mon, Oct 5, 2009 at 7:55 AM, ncrofts <[hidden email]> wrote:

> I've been searching around for other situations where people encounter "Read
> timed out" issues and the closest sounding scenario is the following:
> http://www.nabble.com/question-:-encounter-java.net.SocketTimeoutException:-Read-timed-out-occasionally-td19326602.html
> http://www.nabble.com/question-:-encounter-java.net.SocketTimeoutException:-Read-timed-out-occasionally-td19326602.html
>
> This seems to imply the Keep-Alive header may be part of the issue, but so
> far I've not been able to prove this has any impact.
>
> Anyway, I was wondering if any of the above gives any ideas for what is
> going wrong.  If this really is a bandwidth related issue then this must
> surely be an issue that will eventually bite other application developers
> too.
Great investigation, and thank you for sharing this with us. I also
found the following on this subject (URL below). It is on EE, so
you'll to get a free login to see the answers, but the most
interesting part is in the question which details what IE does wrong.

http://www.experts-exchange.com/Software/Server_Software/Web_Servers/Apache/Q_24188530.html

A discussion follows, and the solution seems to be to disable the
keepalive in your Apache configuration for IE users with:

SetEnvIf User-Agent ".*MSIE.*"   nokeepalive

Is this something you have tried already?

Alex
--
Orbeon Forms - Web forms, open-source, for the Enterprise
Orbeon's Blog: http://www.orbeon.com/blog/
My Twitter: http://twitter.com/avernet


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws