Bug 266996 - AspectJElementHierarchy.java:427 NullPointerException
Summary: AspectJElementHierarchy.java:427 NullPointerException
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.6.4   Edit
Hardware: PC Linux
: P3 critical (vote)
Target Milestone: 1.6.4   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-04 05:49 EST by Thorsten Guenther CLA
Modified: 2009-03-05 10:49 EST (History)
1 user (show)

See Also:


Attachments
patch for aspectjweaver.jar in org.aspectj.weaver plugin (6.22 KB, application/octet-stream)
2009-03-04 12:13 EST, Andrew Clement CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thorsten Guenther CLA 2009-03-04 05:49:51 EST
Since an recent update to eclipse I get errors when using ajdt compile time weaving. Single used aspect is @Configurable from spring 2.5.6. I call this critical because my application wont run without that aspect compiled in.

When doing a build two popups "AspectJ Internal Compiler Error" are showing up with instructions to look for and post bugreports.


1st popup:
--------------------------------
java.lang.NullPointerException
at org.aspectj.asm.internal.AspectJElementHierarchy.findCloserMatchForLineNumber(AspectJElementHierarchy.java:427)
at org.aspectj.weaver.model.AsmRelationshipProvider.addRelationship(AsmRelationshipProvider.java:130)
at org.aspectj.weaver.bcel.BcelTypeMunger.munge(BcelTypeMunger.java:124)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:441)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave( ... 
end abstract interface org.springframework.beans.factory.aspectj.AbstractInterfaceDrivenDependencyInjectionAspect$ConfigurableDeserializationSupport
--------------------------------


2nd popup
--------------------------------
java.lang.NullPointerException
at org.aspectj.asm.internal.AspectJElementHierarchy.findCloserMatchForLineNumber(AspectJElementHierarchy.java:427)
at org.aspectj.weaver.model.AsmRelationshipProvider.addRelationship(AsmRelationshipProvider.java:130)
at org.aspectj.weaver.bcel.BcelTypeMunger.munge(BcelTypeMunger.java:124)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:441)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave( ... ibatis/domain/Banf;)I
                    IRETURN
  end public volatile int compareTo(Object)
end public class de.synaix.k070_Banf.ibatis.domain.Banf
--------------------------------


Output of AJDT Event trace window:
--------------------------------
11:21:34 Removed problems and tasks for project SOME_webapp
11:21:34 Builder: Tidied output folder(s), removed class files and derived resources
11:21:35 Timer event: 1ms: Delete markers: SOME_webapp (Finished deleting markers for SOME_webapp
11:21:38 Compiler configuration for project SOME_webapp doesn't know previous state, so assuming EVERYTHING has changed.
11:21:38 ===========================================================================================
11:21:38 Build kind = FULLBUILD
11:21:38 Project=SOME_webapp, kind of build requested=Full AspectJ compilation
11:21:38 Builder: Tidied output folder(s), removed class files and derived resources
11:21:38 Timer event: 442ms: Pre compile
11:21:38 Compiler configuration for project SOME_webapp has been read by compiler.  Resetting.
11:21:38      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:21:38 Resetting list of modified source files.  Was null
11:21:38 Preparing for build: not going to be incremental because no successful previous full build
11:21:40 Timer event: 1252ms: Time to first compiled message
11:21:40 Timer event: 1276ms: Time to first woven message
11:21:45 AspectJ reports build successful, build was: FULL
11:21:45 AJDE Callback: finish. Was full build: true
11:21:45 Timer event: 6456ms: Total time spent in AJDE
11:21:45 Timer event: 157ms: Refresh after build
11:21:45 Types affected during build = 308
11:21:45 Crosscutting model sanity checked with no problems
11:21:45 Timer event: 0ms: Post compile
11:21:45 Timer event: 7248ms: Total time spent in AJBuilder.build()
11:21:45 Timer event: 2ms: Delete markers: SOME_webapp (Finished deleting markers for SOME_webapp)
11:21:45 Timer event: 179ms: Create markers: SOME_webapp (Finished creating markers for SOME_webapp)
--------------------------------
Comment 1 Andrew Clement CLA 2009-03-04 12:13:58 EST
Created attachment 127505 [details]
patch for aspectjweaver.jar in org.aspectj.weaver plugin

This is a replacement .class for the one in org.aspectj.weaver_XXXXX/aspectjweaver.jar that should address the NPE.
Comment 2 Andrew Clement CLA 2009-03-04 12:20:04 EST
Sorry about this problem Thorsten, I will try and get a new AJDT out today with the fix in.  it is due to some 'improvements' to the relationships support.  If you get a chance to try the patch I attached, great - otherwise just pick it up in when it is in AJDT.  To apply the patch, go to your eclipse plugins folder, then the most recent org.aspectj.weaver folder:

1) backup: copy aspectjweaver.jar aspectjweaver.jar.original
2) jar -xvf weaverpatch.zip
3) jar -uvf aspectjweaver.jar org
Comment 3 Andrew Clement CLA 2009-03-04 12:52:33 EST
wait! Dont apply the patch.  I thought you would be on the AspectJ I released yesterday into AJDT, but seems like you can't be as there hasn't been a release of that AJDT yet.  So the patch is unlikely to be compatible with what you have.  I'll try and get a decent fix out today through ajdt.
Comment 4 Andrew Clement CLA 2009-03-04 16:53:27 EST
proposed fix is in todays AJDT 1.6.4 RC 
Comment 5 Thorsten Guenther CLA 2009-03-05 03:44:33 EST
I did the update and think thats fixed. No more errors shown, aspect is woven in as expected. Thank you big times, Andy!
Comment 6 Andrew Clement CLA 2009-03-05 10:49:49 EST
great, thanks for testing it.