[jboss-jira] [JBoss JIRA] Created: (JBAOP-527) field NotFoundException on an already instrumented class

Konstantin Sobolev (JIRA) jira-events at lists.jboss.org
Sat Feb 16 21:00:26 EST 2008


field NotFoundException on an already instrumented class
--------------------------------------------------------

                 Key: JBAOP-527
                 URL: http://jira.jboss.com/jira/browse/JBAOP-527
             Project: JBoss AOP
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 1.5.6.GA
         Environment: Linux, 1.6.0_04 x64
            Reporter: Konstantin Sobolev


I'm using java agent API to instrument all of my classes, a static field named "sIzE_" is added using javassist library. Later, when such instrumented classes get to JBossAOP, it becomes very upset:

Caused by: java.lang.ExceptionInInitializerError
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at org.jboss.ejb.plugins.BMPPersistenceManager.createBeanClassInstance(BMPPersistenceManager.java:128)
        at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createBeanClassInstance(CachedConnectionInterceptor.java:220)
        at org.jboss.ejb.EntityContainer.createBeanClassInstance(EntityContainer.java:238)
        at org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java:183)
        ... 121 more
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: javassist.NotFoundException: field: sIzE_ in com.supportwizard.utils.ejb.SWBMPEntityBean
        at org.jboss.aop.pointcut.FieldMatcher.visit(FieldMatcher.java:166)
        at org.jboss.aop.pointcut.ast.ASTAll.jjtAccept(ASTAll.java:21)
        at org.jboss.aop.pointcut.MatcherHelper.visit(MatcherHelper.java:77)
        at org.jboss.aop.pointcut.MatcherHelper.matches(MatcherHelper.java:72)
        at org.jboss.aop.pointcut.PointcutExpression.matchesGet(PointcutExpression.java:139)
        at org.jboss.aop.ClassAdvisor.resolveFieldPointcut(ClassAdvisor.java:365)
        at org.jboss.aop.ClassAdvisor.createInterceptorChains(ClassAdvisor.java:456)
        at org.jboss.aop.ClassAdvisor$1.run(ClassAdvisor.java:237)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.jboss.aop.ClassAdvisor.attachClass(ClassAdvisor.java:209)
        at org.jboss.aop.AspectManager.getAdvisor(AspectManager.java:459)
        at com.supportwizard.swgroups.SWGroupsBean.<clinit>(SWGroupsBean.java)
        ... 131 more
Caused by: java.lang.RuntimeException: javassist.NotFoundException: field: sIzE_ in com.supportwizard.utils.ejb.SWBMPEntityBean
        at org.jboss.aop.Advisor.hasAnnotation(Advisor.java:325)
        at org.jboss.aop.pointcut.FieldMatcher.visit(FieldMatcher.java:162)
        ... 142 more
Caused by: javassist.NotFoundException: field: sIzE_ in com.supportwizard.utils.ejb.SWBMPEntityBean
        at javassist.CtClassType.getField(CtClassType.java:822)
        at org.jboss.aop.util.ReflectToJavassist.fieldToJavassist(ReflectToJavassist.java:34)
        at org.jboss.aop.annotation.PortableAnnotationElement.isAnyAnnotationPresent(PortableAnnotationElement.java:97)
        at org.jboss.aop.Advisor.hasAnnotation(Advisor.java:321)

I tried to add
try{ ... } catch (javassist.NotFoundException e) {return false;}
to PortableAnnotationElement.isAnyAnnotationPresent(Field, String)
and it helped. Don't know if it is a valid fix though.

-- 
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