Periodic refresh causing server "Read timed out"
Posted by ncrofts on
URL: https://discuss.orbeon.com/Periodic-refresh-causing-server-Read-timed-out-tp45294.html
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)