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) |
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 |
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
|
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
|
Administrator
|
Neil,
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 |
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
|
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
|
Administrator
|
Neil,
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 |
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
|
Administrator
|
Neil,
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 |
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
|
Administrator
|
Neil,
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 |
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
|
Administrator
|
Neil,
OK, even if anecdotal, this is interesting. 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 |
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
|
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
|
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. 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 |
Free forum by Nabble | Edit this page |