Community
Participate
Working Groups
Reported on the list by Chris Wall and on spring bug http://jira.springframework.org/browse/SPR-4390 --- When my plugin is initiated and during Spring context beans loading, we're getting the following: Caused by: java.lang.NullPointerException at org.aspectj.weaver.reflect.Java15AnnotationFinder.getParameterNamesFromLVT(Java15AnnotationFinder.java:196) at org.aspectj.weaver.reflect.Java15AnnotationFinder.getParameterNames(Java15AnnotationFinder.java:187) at org.aspectj.weaver.reflect.Java15ReflectionBasedReferenceTypeDelegate.tryToDiscoverParameterNames(Java15ReflectionBasedReferenceTypeDelegate.java:297) at org.aspectj.weaver.reflect.Java15ReflectionBasedReferenceTypeDelegate.getDeclaredPointcuts(Java15ReflectionBasedReferenceTypeDelegate.java:270) at org.aspectj.weaver.ReferenceType.getDeclaredPointcuts(ReferenceType.java:535) at org.aspectj.weaver.ResolvedType$7.get(ResolvedType.java:477) at org.aspectj.weaver.Iterators$3$1.hasNext(Iterators.java:118) at org.aspectj.weaver.Iterators$3.hasNext(Iterators.java:128) at org.aspectj.weaver.ResolvedType.findPointcut(ResolvedType.java:488) at org.aspectj.weaver.patterns.ReferencePointcut.resolveBindings(ReferencePointcut.java:152) at org.aspectj.weaver.patterns.Pointcut.resolve(Pointcut.java:196) at org.aspectj.weaver.tools.PointcutParser.resolvePointcutExpression(PointcutParser.java:330) at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:308) at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:197) at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:184) at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:165) at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:198) at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:253) at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:287) at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:113) at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:85) at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:66) at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:345) at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:309) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:360) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1343) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:470) I've tried with with Spring 2.5.2 and 2.5.3 with JDK 1.5. We're using "@AspectJ" so <aop:aspectj-autoproxy/> is set, and aspectjweaver.jar and aspectjrt.jar are included. The Spring IDE shows that AOP advise is applied to expected pointcuts. When compiled and run outside of the Spring IDE, the application encounters the NPE. Ideas?
Created attachment 92723 [details] patch class file for weaver This class replaces the one in aspectjweaver.jar, to apply jar -xvf patch.zip jar -uvf aspectjweaver.jar org The new version will output DEBUG info to System.err indicating the method it is having problems with - it will also attempt to continue rather than crash with an NPE. This patch is for aspectjweaver.jar from AspectJ1.5.4 - it will not work if applied to later versions of AspectJ.
Thanks for the quick response, Andy. I tried the aspectjweaver.jar found in the following bug. The jar outputted the same or similar information, but unfortunately I did not find relevant output in Eclipse's or plugin's log. I'll give your attachment a go. http://jira.springframework.org/browse/SPR-4390 Note: I also tried aspectj*.jar from the latest 1.6 download. -Chris
I have now committed a guard into the codebase for the NPE - but I still think it will error when this situation happens. But at least it may give out a sensible error rather than NPE.
Thank you. I'll add the jars and give it a spin and report back. Sorry I haven't tried the patch yet - been pulled away. Again, thanks for your speedy response.
unfortunately the build machine is complaining so it wont be in a dev build yet - i will post again when it is available for download.
ok, build machine resurrected. The latest dev build from the download page includes the changes.
missing 1.6.0 - once diagnostics are collected, a fix can go into 1.6.1
still seeing this problem Chris?
NPE can't happen with the guard that is now in the dev builds of AspectJ - however that may have simply been hiding some underlying problem. Please reopen if you get a chance to try this again and it still fails for you. I would also say there were some issues with multi-threaded problems in the ReflectionBasedReferenceTypeDelegate types - and they have also been addressed in this timeframe (bug 227029) - that may have been a factor here.