xalan-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven J. Hathaway (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (XALANC-752) Recursive xsl:call-template exhausts memory
Date Wed, 25 Sep 2013 16:44:03 GMT

    [ https://issues.apache.org/jira/browse/XALANC-752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13777717#comment-13777717

Steven J. Hathaway commented on XALANC-752:

I have some templates that have arbitrary recursion depth
that may break if a fixed recursion limit is enforced.  I
prefer to have memory exhaustion failure to be recognized if
the platform is unable to do the needed recursion depth.
It is quite possible for my templates to see hundreds if not
a 1-2 thousand recursions that are legitimate assuming that
hardware resources are available. 

There is a possibility when using the pluggable memory manager
of Xerces such that an out-of-memory resource can be detected
and return a non-abortive exception in a graceful manner.
This can help with proper notifications to the parent control

The problem with stack overflow is a different memory 
management issue having catastrophic consequences.

I have been trying to review the memory management issues
for several years now and see no easy solution.

I also see no easy programmatic way other than a max-depth hack
to detect an infinite recursion.

- Steven J. Hathaway
> Recursive xsl:call-template exhausts memory
> -------------------------------------------
>                 Key: XALANC-752
>                 URL: https://issues.apache.org/jira/browse/XALANC-752
>             Project: XalanC
>          Issue Type: Bug
>          Components: XalanC
>    Affects Versions: 1.11
>         Environment: Debian GNU/Linux
>            Reporter: Bill Blough
>            Assignee: Steven J. Hathaway
>            Priority: Critical
> Forwarded from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718315
> When using the following template, recursion occurs in an unbounded fashion, eventually
exhausting all memory.
> $ cat test.xsl
> <xsl:stylesheet version="1.0"
>                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:template match="/" name="add">
>   <xsl:call-template name="add"/>
> </xsl:template>
> </xsl:stylesheet>
> To reproduce:
> $ TestXSLT -in test.xsl -xsl test.xsl
> The Xalan executable exhibits the same behavior.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

To unsubscribe, e-mail: dev-unsubscribe@xalan.apache.org
For additional commands, e-mail: dev-help@xalan.apache.org

View raw message