AspectJ 1.7.1, LTW.

We use custom classloader that loads classes from byte[] array.

Class loading looks like this:
Class clazz = new MyClassLoader().defineClass(classPackage + className,
bytecode, 0, bytecode.length);

This code executes concurrently.

Classes from classPackage are not included for weaving in aop.xml.
Moreover, AspectJ reports that it can't find configuration for
MyClassLoader.

>From time to time we are getting the following exceptions:

SEVERE: my.package.MyClass
java.lang.NullPointerException
        at org.aspectj.weaver.Dump.dumpOnExit(Dump.java:163)
        at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:100)
        at
org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)
        at
sun.instrument.TransformerManager.transform(TransformerManager.java:169)
        at
sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
        at MyClassLoader.defineClass
        ...

Why AspectJ tries to weave this classes?

Why it fails with NullPointerException?

Sergii
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to