[jboss-jira] [JBoss JIRA] Commented: (JBAOP-441) NPE On ConsCall Per Instance Interceptions

Flavia Rainone (JIRA) jira-events at lists.jboss.org
Wed Jul 18 13:59:01 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBAOP-441?page=comments#action_12369356 ] 
            
Flavia Rainone commented on JBAOP-441:
--------------------------------------

Simply placing the call to initialiseCallers method at the same place as the other info field initialisation calls are made does not work:
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
        at org.jboss.aop.ClassAdvisor$ConByMethodData.doResolveCallerConstructorInfo(ClassAdvisor.java:2306)
        at org.jboss.aop.ClassAdvisor$ConByMethodData.access$200(ClassAdvisor.java:2192)
        at org.jboss.aop.ClassAdvisor$ResolveCallerConstuctorInfoAction$1$1.run(ClassAdvisor.java:1764)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.jboss.aop.ClassAdvisor$ResolveCallerConstuctorInfoAction$1.resolveInfo(ClassAdvisor.java:1760)
        at org.jboss.aop.ClassAdvisor$ConByMethodData.resolveCallerConstructorInfo(ClassAdvisor.java:2270)
        at org.jboss.aop.ClassAdvisor.resolveCallerConstructorInfo(ClassAdvisor.java:1231)
        at org.jboss.test.aop.beforeafterthrowingscoped.SuperPOJOCaller$SuperPOJOCallerAdvisor.initialiseCallers(SuperPOJOCaller$SuperPOJOCallerAdvisor.java)
        at org.jboss.aop.GeneratedClassAdvisor$ClassAdvisorStrategy.initialise(GeneratedClassAdvisor.java:1222)
        at org.jboss.aop.GeneratedClassAdvisor.initialise(GeneratedClassAdvisor.java:115)
        at org.jboss.test.aop.beforeafterthrowingscoped.SuperPOJOCaller$SuperPOJOCallerAdvisor.initialise(SuperPOJOCaller$SuperPOJOCallerAdvisor.java)
        at org.jboss.test.aop.beforeafterthrowingscoped.SuperPOJOCaller$SuperPOJOCallerAdvisor.<init>(SuperPOJOCaller$SuperPOJOCallerAdvisor.java)
        at org.jboss.test.aop.beforeafterthrowingscoped.SuperPOJOCaller.<clinit>(POJOCaller.java)
        ... 19 more
Caused by: java.lang.NullPointerException
        at org.jboss.aop.util.SecurityActions$GetDeclaredMethodsAction$1$1.run(SecurityActions.java:51)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.jboss.aop.util.SecurityActions$GetDeclaredMethodsAction$1.getDeclaredMethods(SecurityActions.java:47)
        at org.jboss.aop.util.SecurityActions.getDeclaredMethods(SecurityActions.java:113)
        at org.jboss.aop.util.MethodHashing.getMethodHashMap(MethodHashing.java:267)
        at org.jboss.aop.util.MethodHashing.getMethodHashes(MethodHashing.java:258)
        at org.jboss.aop.util.MethodHashing.findMethodByHash(MethodHashing.java:61)
        at org.jboss.aop.util.MethodHashing.findMethodByHash(MethodHashing.java:56)
        at org.jboss.aop.ClassAdvisor$ConByMethodData.doResolveCallerConstructorInfo(ClassAdvisor.java:2278)
        ... 31 more


> NPE On ConsCall Per Instance Interceptions
> ------------------------------------------
>
>                 Key: JBAOP-441
>                 URL: http://jira.jboss.com/jira/browse/JBAOP-441
>             Project: JBoss AOP
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 2.0.0.alpha5
>            Reporter: Flavia Rainone
>         Assigned To: Flavia Rainone
>            Priority: Critical
>             Fix For: 2.0.0.beta
>
>
> Here is the stack trace:
> java.lang.NullPointerException
>         at org.jboss.aop.GeneratedClassAdvisor.copyInfoFromClassAdvisor(GeneratedClassAdvisor.java:188)
>         at org.jboss.test.aop.beforeafterthrowingscoped.POJOCaller1$POJOCaller1InstanceAdvisor.initialiseInfosForInstance(POJOCaller1$POJOCaller1InstanceAdvi
> sor.java)
>         at org.jboss.aop.GeneratedClassAdvisor$InstanceAdvisorStrategy.initialise(GeneratedClassAdvisor.java:1495)
>         at org.jboss.aop.GeneratedClassAdvisor.initialise(GeneratedClassAdvisor.java:115)
>         at org.jboss.test.aop.beforeafterthrowingscoped.POJOCaller1$POJOCaller1Advisor.initialise(POJOCaller1$POJOCaller1Advisor.java)
>         at org.jboss.test.aop.beforeafterthrowingscoped.POJOCaller1$POJOCaller1Advisor.<init>(POJOCaller1$POJOCaller1Advisor.java)
>         at org.jboss.test.aop.beforeafterthrowingscoped.POJOCaller1$POJOCaller1InstanceAdvisor.<init>(POJOCaller1$POJOCaller1InstanceAdvisor.java)
>         at org.jboss.test.aop.beforeafterthrowingscoped.POJOCaller1$POJOCaller1Advisor.createInstanceAdvisor(POJOCaller1$POJOCaller1Advisor.java)
>         at org.jboss.test.aop.beforeafterthrowingscoped.POJOCaller1._getInstanceAdvisor(POJOCaller.java)
>         at org.jboss.test.aop.beforeafterthrowingscoped.JoinPoint_CByC__1org_jboss_test_aop_beforeafterthrowingscoped_TargetPOJO1_N_397299418508535556_2.invo
> keJoinpoint(JoinPoint_CByC__1org_jboss_test_aop_beforeafterthrowingscoped_TargetPOJO1_N_397299418508535556_2.java)
>         at org.jboss.test.aop.beforeafterthrowingscoped.POJOCaller1$POJOCaller1Advisor.aop$constructorCall_con__1org_jboss_test_aop_beforeafterthrowingscoped
> _TargetPOJO1_N_397299418508535556(POJOCaller1$POJOCaller1Advisor.java)
>         at org.jboss.test.aop.beforeafterthrowingscoped.POJOCaller1.<init>(POJOCaller.java:97)
>         at org.jboss.test.aop.beforeafterthrowingscoped.CallerJoinpointScopedTestCase.assertConByCon(CallerJoinpointScopedTestCase.java:84)
>         at org.jboss.test.aop.beforeafterthrowingscoped.CallerJoinpointScopedTestCase.testConByCon(CallerJoinpointScopedTestCase.java:61)
> This is happening because initialization of per instance advisor is taking place before the call to initialiseCallers (method that initializes caller infos on class advisor). This instance advisor initialization assumes that all info fields of class advisor are already initialized and, hence, the NPE occurs.

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