Hi,
I get a StackOverflowError when trying to parse a 50 lines, 3 nodes
deep XML file:
java.lang.StackOverflowError
at
com.sun.org.apache.xerces.internal.impl.dtd.models.CMStateSet.<init>(CMStateSet.java:85)
at
com.sun.org.apache.xerces.internal.impl.dtd.models.CMNode.lastPos(CMNode.java:107)
at
com.sun.org.apache.xerces.internal.impl.dtd.models.CMBinOp.calcLastPos(CMBinOp.java:156)
at
com.sun.org.apache.xerces.internal.impl.dtd.models.CMNode.lastPos(CMNode.java:108)
... 200 more identical lines of lastPos() and calcLastPos() ...
at
com.sun.org.apache.xerces.internal.impl.dtd.models.CMBinOp.calcLastPos(CMBinOp.java:156)
at
com.sun.org.apache.xerces.internal.impl.dtd.models.CMNode.lastPos(CMNode.java:108)
at
com.sun.org.apache.xerces.internal.impl.dtd.models.CMUniOp.calcLastPos(CMUniOp.java:127)
at
com.sun.org.apache.xerces.internal.impl.dtd.models.CMNode.lastPos(CMNode.java:108)
at
com.sun.org.apache.xerces.internal.impl.dtd.models.DFAContentModel.calcFollowList(DFAContentModel.java:816)
at
com.sun.org.apache.xerces.internal.impl.dtd.models.DFAContentModel.buildDFA(DFAContentModel.java:510)
at
com.sun.org.apache.xerces.internal.impl.dtd.models.DFAContentModel.<init>(DFAContentModel.java:253)
at
com.sun.org.apache.xerces.internal.impl.dtd.DTDGrammar.createChildModel(DTDGrammar.java:2290)
at
com.sun.org.apache.xerces.internal.impl.dtd.DTDGrammar.getElementContentModelValidator(DTDGrammar.java:1746)
at
com.sun.org.apache.xerces.internal.impl.dtd.DTDGrammar.getElementDecl(DTDGrammar.java:1290)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.checkContent(XMLDTDValidator.java:1698)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2034)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:822)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:322)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at
com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250)
at
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
at
weblogic.xml.jaxp.RegistryDocumentBuilder.parse(RegistryDocumentBuilder.java:155)
at com.waveset.util.XmlParser.parseString(XmlParser.java:557)
at com.waveset.util.XmlUtil.parseString(XmlUtil.java:441)
at com.waveset.object.PersistentObject.create(PersistentObject.java:562)
at
jsp_servlet._debug.__checkout_object._jspService(__checkout_object.java:534)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at
com.sun.idm.profiler.instrumentation.RequestTimingFilter.doFilter(RequestTimingFilter.java:76)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3393)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
This happens on a BEA Weblogic, Sun jre1.5.0_11-b03 and the JVM should
have about 2 GB of heap available.
Strangely enough I do not get any error on my local machine with
glassfish and Sun jre 1.6.0_10
As far as I can tell from the manifest in xercesImpl.jar the xerces
version in use is Xerces-J 2.9.0 and xmlcommons in xml-apis are 1.3.04
Did I run into some known issues here?
cheers,
thomas
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]