[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Regression from 1.5: can't find type error in AspectJ 1.6

Hello,

I'm using the aj5 script to perform dynamic weaving on Xalan for Java.
Things were working fine when we were using AspectJ 1.5. Recently I
upgraded to version 1.6.1 and recompiled my aspects using the newer
compiler. The runtime weaving / aspects still work most of the time,
but I have encountered an important case where AspectJ core-dumps with
ajcore files when trying to dynamically weave a certain class:

Aug 25, 2008 6:20:52 PM org.aspectj.weaver.tools.Jdk14Trace error
SEVERE: org/apache/xalan/xslt/Process
java.lang.IllegalStateException: Argh!
    at org.aspectj.apache.bcel.generic.InstructionBranch.updatePosition(InstructionBranch.java:178)
    at org.aspectj.apache.bcel.generic.BranchHandle.updatePosition(BranchHandle.java:92)
    at org.aspectj.apache.bcel.generic.InstructionList.setPositions(InstructionList.java:905)
    at org.aspectj.apache.bcel.generic.InstructionList.setPositions(InstructionList.java:826)
    at org.aspectj.apache.bcel.generic.InstructionList.getByteCode(InstructionList.java:931)
    at org.aspectj.apache.bcel.generic.MethodGen.getMethod(MethodGen.java:699)
    ...

Process is a class that has a main method. (I'm able to weave other
classes not from Xalan that have main methods just fine.) I have tried
compiling Xalan with Java 1.4 or 1.5 but it doesn't affect the result.
I haven't tried compiling with 1.6.

I still have the JAR of my aspects that were compiled with AspectJ
1.5. Using the JAR of aspects compiled with AspectJ 1.5 with the
AspectJ 1.6 runtime weaver produces the same error. Using the AspectJ
1.5 runtime weaver with the aspects compiled with AspectJ 1.5 still
works fine. (and using the AspectJ 1.5 runtime with the aspects
compiled with AspectJ 1.6 isn't possible...)

Here are links to the ajcore files (two ajcore files generated per
attempt at weaving the class):

http://www.cs.purdue.edu/homes/kjhoffma/ajcore.20080825.182052.910.txt
http://www.cs.purdue.edu/homes/kjhoffma/ajcore.20080825.182053.153.txt

The Java class file that it is having trouble weaving is also available:

http://www.cs.purdue.edu/homes/kjhoffma/Process.class

I can provide information to download the full package with JARs and
scripts to reproduce off-list. Let me know what else I can gather to
help get this issue fixed.

Thanks,
Kevin