[jboss-jira] [JBoss JIRA] Created: (JBAOP-531) Array replacement bytecode triggers VerifyError
Jason T. Greene (JIRA)
jira-events at lists.jboss.org
Tue Feb 26 23:27:42 EST 2008
Array replacement bytecode triggers VerifyError
-----------------------------------------------
Key: JBAOP-531
URL: http://jira.jboss.com/jira/browse/JBAOP-531
Project: JBoss AOP
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Jason T. Greene
Fix For: 2.0.0.GA
This is technically a javassist issue, however, I thought I would create this as a containing issue in AOP.
When array replacement is performed on a typed object array, bad bytecode is generated which triggers a VerifyError when loaded.
Example:
public Person getPerson(int index)
{
return team[index];
}
The problem is that the bytecode generated from javassist.convert.TransformAccessArrayField for reads always uses an untyped return type, which is invalid if the result of the operation is returned, passed, or accessed as a typed value, as seen below:
14: invokestatic #108; //Method org/jboss/aop/array/ArrayAdvisor.arrayReadObject:(Ljava/lang/Object;I)Ljava/lang/Object;
17: areturn
This should probably be fixed by adding a checkcast using the component type after the invokestatic.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list