Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-dev] NullPointerException in org.aspectj.weaver.ReferenceType.getTypeVariables() - Aspectj 1.5.3


Hi,

We have a project that at build time performs binary weaving of aspects on class files produced by IBM Java (J2RE 1.5.0 IBM J9 2.3 Linux amd64-64). We're running AspectJ 1.5.3. Upgrading to 1.5.4 is an option, but would be more work than we'd rather do in the immediate future.


At a particular point in the build, we intermittently hit a NullPointerException in org.aspectj.weaver.ReferenceType:


    [iajc] info Pipelining compilation

    [iajc] info weaver operating in reweavable mode.  Need to verify any required types exist.

    [iajc] java.lang.NullPointerException

    [iajc]         at org.aspectj.weaver.ReferenceType.getTypeVariables(ReferenceType.java:555)

    [iajc]         at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.fixUpCircularDependencies(BcelGenericSignatureToTypeXConverter.java:257)

    [iajc]         at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:47)

    [iajc]         at org.aspectj.weaver.bcel.BcelObjectType.ensureGenericSignatureUnpacked(BcelObjectType.java:685)

    [iajc]         at org.aspectj.weaver.bcel.BcelObjectType.getDeclaredInterfaces(BcelObjectType.java:201)

    [iajc]         at org.aspectj.weaver.ReferenceType.getDeclaredInterfaces(ReferenceType.java:398)

    [iajc]         at org.aspectj.weaver.ResolvedType.getDirectSupertypes(ResolvedType.java:65)

    [iajc]         at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1156)

    [iajc]         at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1158)

    [iajc]         at org.aspectj.weaver.ResolvedType.getInterTypeMungersIncludingSupers(ResolvedType.java:1135)

    [iajc]         at org.aspectj.weaver.ResolvedType.checkInterTypeMungers(ResolvedType.java:1202)

    [iajc]         at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1588)

    [iajc]         at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1563)

    [iajc]         at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1341)

    [iajc]         at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1161)


Looking at the source code, it is clear that the 'delegate' field is set to null. This problem doesn't occur all the time, but often enough to cause us concern. It happens on multiple build servers at seemingly random times. Our main build servers run 64bit Intel Xeon CPUs, with 4 GB of RAM, and SLES 10 SP1. To my knowledge no one has encountered this running an Ant build on a development workstation (32bit Windows).


Any help you can provide is greatly appreciated. We're looking to simply understand what the problem is so our paranoia can decrease and hopefully a workaround so that we don't see it again.


Thanks,


Alejandro Bascuas
Small-Medium Enterprise Platform Development
IBM - Rochester, MN

Dept: V2TA Bldg: 050-3 Office: H110
T/L 553-1962; Direct (507)253-1962
alej@xxxxxxxxxx

Back to the top