[jboss-jira] [JBoss JIRA] (JASSIST-186) java.lang.VerifyError: Inconsistent args count operand in invokeinterface in method
Grigori Goronzy (JIRA)
jira-events at lists.jboss.org
Wed Mar 20 14:40:42 EDT 2013
[ https://issues.jboss.org/browse/JASSIST-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762195#comment-12762195 ]
Grigori Goronzy commented on JASSIST-186:
-----------------------------------------
I bisected this issue. It is caused by commit 669, which added invokedynamic support. Among other things, this reserves an element more stack space for invokevirtual calls. I am not quite sure why. The issue with that is that later on the argument count for invokeinterface calls is determined from the stack size.
The attached patch changes and simplifies this calculation so that it is based on the actual argument count.
> java.lang.VerifyError: Inconsistent args count operand in invokeinterface in method
> -----------------------------------------------------------------------------------
>
> Key: JASSIST-186
> URL: https://issues.jboss.org/browse/JASSIST-186
> Project: Javassist
> Issue Type: Bug
> Affects Versions: 3.17.0-GA, 3.17.1-GA
> Reporter: Lauri Tulmin
> Assignee: Shigeru Chiba
> Attachments: JASSIST-186.patch, javassist-bug2.zip
>
>
> Happens when the argument of interface method call comes from anoter method call, like
> {code}
> m.insertBefore(
> "{" +
> " java.util.List l = new java.util.ArrayList();" +
> " l.add(this.toString());" +
> "}"
> );
> {code}
--
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
More information about the jboss-jira
mailing list