[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-dev] NPE at org.aspectj.weaver.bcel.LazyMethodGen.remap(LazyMethodGen.java:1415) - AspectJ 1.6.11
|
My product MaintainJ uses AspectJ 1.6.11 to load time weave Java applications. When instrumenting Spring based applications, sometimes I get exceptions like the one below:
May 7, 2012 10:51:22 PM org.aspectj.weaver.tools.Jdk14Trace error
SEVERE: com/xxx/yyy/zzz/Abc$$FastClassByCGLIB$$161e674
java.lang.NullPointerException
at org.aspectj.weaver.bcel.LazyMethodGen.remap(
LazyMethodGen.java:1415)
at org.aspectj.weaver.bcel.LazyMethodGen.addExceptionHandlers(LazyMethodGen.java:1269)
at org.aspectj.weaver.bcel.LazyMethodGen.packBody(LazyMethodGen.java:1067)
at org.aspectj.weaver.bcel.LazyMethodGen.pack(LazyMethodGen.java:968)
at org.aspectj.weaver.bcel.LazyMethodGen.getMethod(LazyMethodGen.java:462)
at org.aspectj.weaver.bcel.LazyClassGen.writeBack(LazyClassGen.java:492)
at org.aspectj.weaver.bcel.LazyClassGen.getJavaClassBytesIncludingReweavable(LazyClassGen.java:674)
at org.aspectj.weaver.bcel.BcelWeaver.getClassFilesFor(BcelWeaver.java:1436)
at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1180)
at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:467)
at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:318)
at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:96)
at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)
at sun.instrument.TransformerManager.transform(Unknown Source)
at sun.instrument.InstrumentationImpl.transform(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219)
at net.sf.cglib.reflect.FastClass$Generator.create(FastClass.java:64)
at net.sf.cglib.proxy.MethodProxy.helper(MethodProxy.java:81)
at net.sf.cglib.proxy.MethodProxy.create(MethodProxy.java:46)
at com.fl.sas3.render.engine.PreviewRenderer$$EnhancerByCGLIB$$a285e30b.CGLIB$STATICHOOK13(<generated>)
at com.fl.sas3.render.engine.PreviewRenderer$$EnhancerByCGLIB$$a285e30b.<clinit>(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.sf.cglib.proxy.Enhancer.setCallbacksHelper(Enhancer.java:616)
at net.sf.cglib.proxy.Enhancer.setThreadCallbacks(Enhancer.java:609)
at net.sf.cglib.proxy.Enhancer.createUsingReflection(Enhancer.java:631)
at net.sf.cglib.proxy.Enhancer.firstInstance(Enhancer.java:538)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:225)
at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:285)
at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:201)
at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
...
The errors are pretty consistent - all of them are at the same line LazyMethodGen.java:1415. Is this something that can be fixed? Is this related to
this bug?
I currently ask my users to exclude that class. Any fix for this will be of great help.
Thanks,
Choudary Kothapalli.