Skip to main content

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

Back to the top