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/28 13:33:00 UTC

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

     [ https://issues.apache.org/jira/browse/DAFFODIL-2059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Lawrence resolved DAFFODIL-2059.
--------------------------------------
    Resolution: Fixed

Fixed in commit cdf956b113e1eea2d7eddac87ffb11e66b872a41

> 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
>            Priority: Major
>             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)