You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2002/02/05 22:51:55 UTC

DO NOT REPLY [Bug 6257] New: - ArrayIndexOutOfBoundsException in AbstractTranslet.pushVarFrame()

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6257>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6257

ArrayIndexOutOfBoundsException in AbstractTranslet.pushVarFrame()

           Summary: ArrayIndexOutOfBoundsException in
                    AbstractTranslet.pushVarFrame()
           Product: XalanJ2
           Version: 2.2.0
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: org.apache.xalan.xsltc
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: ms53@inf.tu-dresden.de


After using XSLTC and running a translet I get:

Exception:
java.lang.ArrayIndexOutOfBoundsException: 2 > 1 at
java.util.Vector.insertElementAt(Vector.java:561) at
org.apache.xalan.xsltc.runtime.AbstractTranslet.pushVarFrame
(AbstractTranslet.java:212) at
...

This appears only if certain paramtervalues are passed to the translet. 
Debugging showed that two calls pushVarFrame(1) without an popVarFrame() call 
inbetween cause the problem. I couldn't simplify the stylesheet in such a way 
that it still produces the exception until now, but I'll try and add it then as 
a comment.

I changed:

vbase = ++vframe; to vbase = vframe + 1; (in pushVarFrame(int))

Which works fine for me. I couldn't figure out how the var frame stack is 
supposed to be used, but the author of the method should be able to figure out 
if this is the right solution.