XSD Validation - Field too large throws exception
-------------------------------------------------
Key: XERCESJ-1405
URL: https://issues.apache.org/jira/browse/XERCESJ-1405
Project: Xerces2-J
Issue Type: Bug
Components: SAX
Environment: OS: Windows XP, 2003 , 32bits
Tomcat 6.0.16
2gb RAM
intel pentium 2,80ghz
Reporter: zack cavalera
Priority: Critical
In my XML file exists a tag that can contain a lot of characters (maximum of
5000 chars).
When i'm validating this XML ( with a XSD file ), the stack is throwed:
17/11/2009 10:29:02 com.sun.xml.ws.server.sei.EndpointMethodHandler invoke
SEVERE: null
java.lang.StackOverflowError
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.Op$RangeOp.getToken(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matchString(Unknown
Source)
...
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matches(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression.matches(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.dv.xs.XSSimpleTypeDecl.getActualValue(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.dv.xs.XSSimpleTypeDecl.validate(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown
Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at services.ValidatorXmlService.Validator(ValidatorXmlService.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
com.sun.xml.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:246)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
at
com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
at
com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
at
com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
at
com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
at
com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
at
com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
at
com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)
at
com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160)
at
com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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:175)
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:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
17/11/2009 10:29:05 com.sun.xml.ws.transport.http.servlet.WSServletDelegate
doGet
SEVERE: caught throwable
javax.xml.ws.WebServiceException: javax.xml.bind.MarshalException
- with linked exception:
[javax.xml.transform.TransformerException: ClientAbortException:
java.net.SocketException: Connection reset by peer: socket write error]
at
com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:317)
at
com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:142)
at
com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:108)
at
com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:265)
at
com.sun.xml.ws.transport.http.HttpAdapter.encodePacket(HttpAdapter.java:320)
at
com.sun.xml.ws.transport.http.HttpAdapter.access$100(HttpAdapter.java:93)
at
com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:454)
at
com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
at
com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
at
com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)
at
com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160)
at
com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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:175)
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:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.xml.bind.MarshalException
- with linked exception:
[javax.xml.transform.TransformerException: ClientAbortException:
java.net.SocketException: Connection reset by peer: socket write error]
at
com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
at
com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(Unknown Source)
at
com.sun.xml.ws.message.jaxb.MarshallerBridge.marshal(MarshallerBridge.java:80)
at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:141)
at
com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:310)
... 25 more
Caused by: javax.xml.transform.TransformerException: ClientAbortException:
java.net.SocketException: Connection reset by peer: socket write error
at
com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
at
com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
at
com.sun.xml.bind.v2.runtime.XMLSerializer.writeDom(XMLSerializer.java:792)
at
com.sun.xml.bind.v2.runtime.property.ArrayReferenceNodeProperty.serializeListBody(ArrayReferenceNodeProperty.java:112)
at
com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:152)
at
com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:322)
at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:681)
at
com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:150)
at
com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:322)
at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:589)
at
com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:312)
at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
at
com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
... 30 more
Caused by: javax.xml.transform.TransformerException: ClientAbortException:
java.net.SocketException: Connection reset by peer: socket write error
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at
com.sun.xml.bind.v2.runtime.XMLSerializer.writeDom(XMLSerializer.java:790)
... 40 more
Caused by: ClientAbortException: java.net.SocketException: Connection reset by
peer: socket write error
at
com.sun.xml.bind.v2.runtime.XMLSerializer.attribute(XMLSerializer.java:433)
at
com.sun.xml.bind.v2.runtime.ContentHandlerAdaptor.startElement(ContentHandlerAdaptor.java:130)
at
com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.closeStartTag(Unknown
Source)
at
com.sun.org.apache.xml.internal.serializer.ToSAXHandler.flushPending(Unknown
Source)
at
com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.endElement(Unknown
Source)
at
com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.endElement(Unknown
Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown
Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown
Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown
Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown
Source)
... 43 more
Caused by: ClientAbortException: java.net.SocketException: Connection reset by
peer: socket write error
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
at
org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381)
at
org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
at
org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
at
com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput.write(UTF8XmlOutput.java:394)
at com.sun.xml.bind.v2.runtime.output.Encoded.write(Encoded.java:163)
at
com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput.attribute(UTF8XmlOutput.java:255)
at
com.sun.xml.bind.v2.runtime.XMLSerializer.attribute(XMLSerializer.java:431)
... 53 more
Caused by: java.net.SocketException: Connection reset by peer: socket write
error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at
org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:737)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
at
org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:761)
at
org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:127)
at
org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:570)
at org.apache.coyote.Response.doWrite(Response.java:560)
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
... 62 more
When i increase the property "Thread stack size" of tomcat to 1024 kb, the
error not occurrs.
But, with this value "1024kb", the XML file with the maximum lenght continue to
throwing the exception above.
Can you help me with this problem?!
thanks!
Gustavo
Brazil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]