You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Steve Lawrence (JIRA)" <ji...@apache.org> on 2019/01/25 16:19:00 UTC

[jira] [Created] (DAFFODIL-2059) Computing the diff of large XML results in a stack overflow

Steve Lawrence created DAFFODIL-2059:
----------------------------------------

             Summary: Computing the diff of large XML results in a stack overflow
                 Key: DAFFODIL-2059
                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2059
             Project: Daffodil
          Issue Type: Bug
            Reporter: Steve Lawrence
            Assignee: Steve Lawrence
             Fix For: 2.3.0


We changed how we compare expected and actual infosets to always use computeDiffOne. However, for very large XML it results in the following stack overflow:
{code}
[error]     at java.lang.String.valueOf(String.java:2994)
[error]     at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:200)
[error]     at scala.collection.TraversableOnce.$anonfun$addString$1(TraversableOnce.scala:359)
[error]     at scala.collection.immutable.List.foreach(List.scala:389)
[error]     at scala.collection.TraversableOnce.addString(TraversableOnce.scala:357)
[error]     at scala.collection.TraversableOnce.addString$(TraversableOnce.scala:353)
[error]     at scala.collection.AbstractTraversable.addString(Traversable.scala:104)
[error]     at scala.collection.TraversableOnce.mkString(TraversableOnce.scala:323)
[error]     at scala.collection.TraversableOnce.mkString$(TraversableOnce.scala:322)
[error]     at scala.collection.AbstractTraversable.mkString(Traversable.scala:104)
[error]     at scala.collection.TraversableOnce.mkString(TraversableOnce.scala:325)
[error]     at scala.collection.TraversableOnce.mkString$(TraversableOnce.scala:325)
[error]     at scala.collection.AbstractTraversable.mkString(Traversable.scala:104)
[error]     at org.apache.daffodil.xml.XMLUtils$.zPath$lzycompute$1(XMLUtils.scala:784)
[error]     at org.apache.daffodil.xml.XMLUtils$.zPath$1(XMLUtils.scala:784)
[error]     at org.apache.daffodil.xml.XMLUtils$.computeDiffOne(XMLUtils.scala:833)
[error]     at org.apache.daffodil.xml.XMLUtils$.computeDiffOne(XMLUtils.scala:825)
[error]     at org.apache.daffodil.xml.XMLUtils$.computeDiffOne(XMLUtils.scala:826)
[error]     at org.apache.daffodil.xml.XMLUtils$.computeDiffOne(XMLUtils.scala:826)
...
{code}
This causes tests on existing real world schemas to fail during TDML testing.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)