All,
I have a question about how Orbeon works internally, how it uses DOM (it doesn't?) and SAX, and how Orbeon manages its memory. My problem is that I am getting a "java.lang.OutOfMemoryError: Java heap space" when I am parsing larger XML documents with the below pipeline definition. This is (to me) somewhat unexpected, as I imagined we are talking SAX events all the way, (hopefully) making the size of the input XML irrelevant. As a solution, I could of course increase the heap space, but what would happen if I then sent a really humongous XML document to my pipeline? I have attached a zip file with a self contained application that (sometimes) causes a OutOfMemory error when run on the default settings of Tomcat 5.5.26, OS X 10.4 and Java 1.5.0_13-b05-241. Here is my XPL definition: <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:oxf="http://www.orbeon.com/oxf/processors" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xforms="http://www.w3.org/2002/xforms"> <!-- p:param name="instance" type="input"/ --> <p:param name="data" type="output"/> <!-- Read in the stylesheet definition --> <p:processor name="oxf:url-generator"> <p:input name="config"> <config> <url>transform.xsl</url> <content-type>text/xml</content-type> <validating>false</validating> <handle-xinclude>false</handle-xinclude> </config> </p:input> <p:output name="data" id="firstXslt" debug="firstXSLT"/> </p:processor> <!-- Read in the source XML --> <p:processor name="oxf:url-generator"> <p:input name="config"> <config> <url>smith.hotels.xml</url> <content-type>text/xml</content-type> <validating>false</validating> <handle-xinclude>false</handle-xinclude> </config> </p:input> <p:output name="data" id="smithXml" debug="smithXml"/> </p:processor> <!-- Create the Escenic format: Apply the stylesheet to the source xml --> <p:processor name="oxf:xslt"> <p:input name="data" href="#smithXml" debug="smithXml"/> <p:input name="config" href="#firstXslt" debug="firstXslt"/> <p:output name="data" id="escenicXml" debug="escenicXml"/> </p:processor> <!-- Wired off, just send the transformed XML back to the client for now (using the identity processor below) --> <!-- Call the REST webservice --> <!--p:processor name="oxf:xforms-submission"> <p:input name="submission"> <xforms:submission method="put" action="http://localhost:8080/timmy/import"/> </p:input> <p:input name="request" href="#escenicXml" debug="escenicXml"/> <p:output name="response" ref="data" debug="response"/> </p:processor--> <!-- Just return the transformed XML to the user for now. Once we get this right, will send it to the webservice instead (see above) --> <p:processor name="oxf:identity"> <p:input name="data" href="#escenicXml" debug="escenicXml"/> <p:output name="data" ref="data" debug="same"/> </p:processor> </p:config> And here is the stack trace: java.lang.OutOfMemoryError: Java heap space at org.orbeon.oxf.xml.SAXStore.addToCharBuffer(SAXStore.java:424) at org.orbeon.oxf.xml.SAXStore.characters(SAXStore.java:269) at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:197) at org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:61) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1400(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$6.run(PipelineProcessor.java:564) at org.orbeon.oxf.processor.ProcessorImpl.executeParents(ProcessorImpl.java:536) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1500(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput.readImpl(PipelineProcessor.java:560) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) The exception does not always occur, but appears more frequent with multiple parallel requests (as expected). I am also seeing Broken Pipe socket exceptions in the epilogue XPL (when we don't get OutOfMemory errors), which I think is related to the size of the XML document returned from the above XPL: 2008-08-15 15:05:34,250 ERROR ProcessorService - Exception at line 348, column 55 of oxf:/config/epilogue-servlet.xpl (reading processor output: name='data', id='converted') java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:747) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347) at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:770) at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126) at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:580) at org.apache.coyote.Response.doWrite(Response.java:560) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:361) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:323) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89) at org.orbeon.oxf.processor.serializer.store.ResultStoreOutputStream.write(ResultStoreOutputStream.java:47) at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336) at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:395) at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:136) at java.io.OutputStreamWriter.write(OutputStreamWriter.java:191) at org.orbeon.oxf.util.TextContentHandler.characters(TextContentHandler.java:22) at org.orbeon.oxf.processor.serializer.BinaryTextContentHandler.characters(BinaryTextContentHandler.java:166) at org.orbeon.oxf.util.ContentHandlerWriter.write(ContentHandlerWriter.java:95) at org.orbeon.saxon.tinytree.CharSlice.write(CharSlice.java:170) at org.orbeon.saxon.event.XMLEmitter.writeCharSequence(XMLEmitter.java:595) at org.orbeon.saxon.event.XMLEmitter.writeEscape(XMLEmitter.java:686) at org.orbeon.saxon.event.XMLEmitter.characters(XMLEmitter.java:550) at org.orbeon.saxon.event.ReceivingContentHandler.flush(ReceivingContentHandler.java:425) at org.orbeon.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:332) at org.orbeon.oxf.xml.ForwardingContentHandler.endElement(ForwardingContentHandler.java:52) at org.orbeon.oxf.xml.ForwardingContentHandler.endElement(ForwardingContentHandler.java:52) at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:201) at org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:61) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1400(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$6.run(PipelineProcessor.java:564) at org.orbeon.oxf.processor.ProcessorImpl.executeParents(ProcessorImpl.java:536) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1500(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput.readImpl(PipelineProcessor.java:560) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.serializer.legacy.XMLSerializer.readInput(XMLSerializer.java:58) at org.orbeon.oxf.processor.serializer.HttpTextSerializer$1.readImpl(HttpTextSerializer.java:101) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.serializer.HttpSerializer.readInput(HttpSerializer.java:42) at org.orbeon.oxf.processor.serializer.HttpSerializerBase$1.read(HttpSerializerBase.java:151) at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:452) at org.orbeon.oxf.processor.serializer.HttpSerializerBase.start(HttpSerializerBase.java:142) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:230) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:230) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:230) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641) at org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControllerProcessor.java:489) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.getInput(PipelineProcessor.java:136) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:85) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:92) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1400(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$6.run(PipelineProcessor.java:564) at org.orbeon.oxf.processor.ProcessorImpl.executeParents(ProcessorImpl.java:536) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1500(PipelineProcessor.java:62) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput.readImpl(PipelineProcessor.java:560) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:994) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1177) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) at org.orbeon.oxf.processor.NullSerializer.start(NullSerializer.java:31) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:230) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:644) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:518) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:641) at org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControllerProcessor.java:489) at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:95) 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:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:613) Is it the size of the input / source XML that causes an OutOfMemory error? How about these broken pipes? If so, is there anything I can do to resolve this (except from -Xmx<size> )? Does anyone else have experiences with dealing with large XML documents as inputs and/or outputs? Am I just abusing Orbeon Forms with this type of use case? Any insight would be much appreciated. Many thanks! Sincerely, Henrik Pettersen -- 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 smith.zip (530K) Download Attachment |
Forgot to mention which version of Orbeon I am running:
orbeon-3.6.0.200806260137 nightly build Henrik On Fri, Aug 15, 2008 at 3:12 PM, Henrik Pettersen <[hidden email]> wrote: All, -- 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 |