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: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


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.

Reply via email to