Updated: (XERCESJ-589) Bug with pattern restriction on long strings 2005-03-18 - By Andy O'Brien (JIRA)
[ http://issues.apache.org/jira/browse/XERCESJ-589?page=history ]
Andy O'Brien updated XERCESJ-589: ---------------------------------
Attachment: test.zip
I'm also getting StackOverflow exceptions for this issue. I'm using Xerces 2.6 .2, Java 1.3.1_06
Here's my element definition, where large values cause stack problems:
<!-- Test digit tokens w/o beginning, trailing, or adjacent spaces -->
<xsd:element name="foo"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="([0-9] ?)*[0-9]" /> </xsd:restriction> </xsd:simpleType> </xsd:element>
With 10,000 digits for <foo> above, I get a StackOverflow:
Exception in thread "main" java.lang.StackOverflowError at org.apache.xerces.impl.xpath.regex.Op$UnionOp.elementAt(Unknown Sourc e) at org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unkn own Source) at org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unkn own Source) . . . . . .
My attachment has a simple instance (10,000 digits for <foo> above) and its schema.
A variable size causes exceptions.
Note that another very popular GUI XML tool has problems here too. In their case, they seem to limit the data to 1000 chars. (for <foo> above). Maybe they 're avoiding stack issues with such a static value?
In another XML parser though, I get no stack overflow exceptions, nor am I limited in size (at least I haven't seen a problem with it yet).
Sounds like this is still an issue.
> Bug with pattern restriction on long strings > -------------------------------------------- > > Key: XERCESJ-589 > URL: http://issues.apache.org/jira/browse/XERCESJ-589 > Project: Xerces2-J > Type: Bug > Components: XML Schema Structures > Versions: 2.3.0 > Environment: Operating System: All > Platform: All > Reporter: Mark Woon > Assignee: Xerces-J Developers Mailing List > Attachments: test.xml, test.xsd, test.zip > > There is a bug with applying a pattern restriction on long strings while trying > to validate an XML file against a schema. I'm including an xml file and xsd > file that demonstrates this problem. One character less in <sequence> and the > problem does not occur. > As it is, I'm getting > java.lang.StackOverflowError > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > at > org.apache.xerces.impl.xpath.regex.RegularExpression.matchString(Unknown Source) > ...
-- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira
--------------------------------------------------------------------- To unsubscribe, e-mail: xerces-j-dev-unsubscribe@(protected) For additional commands, e-mail: xerces-j-dev-help@(protected)
|
|