Re: Periodic refresh causing server "Read timed out"

Posted by ncrofts on
URL: https://discuss.orbeon.com/Periodic-refresh-causing-server-Read-timed-out-tp45294p45296.html

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