Summary: | Compile error: NullPointerException thrown | ||||||
---|---|---|---|---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Jesse Englert <jenglert> | ||||
Component: | Compiler | Assignee: | aspectj inbox <aspectj-inbox> | ||||
Status: | NEW --- | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | P3 | CC: | aclement, andrew.eisenberg | ||||
Version: | 1.6.9 | ||||||
Target Milestone: | --- | ||||||
Hardware: | PC | ||||||
OS: | Windows Vista | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Jesse Englert
2010-09-08 12:29:50 EDT
An AspectJ bug by the looks of it. You say that this bug caused Eclipse itself to quit? Do you have anything on the command line for that? This kind of bug doesn't usually cause Eclipse to shut down, unless there is an out of memory error involved in the mix. I'd recommend bumping up your heap size and perm gen size, which you can do by adding something like this to your eclipse.ini: -vmargs -Xmx768M -XX:PermSize=64M -XX:MaxP ermSize=256M My eclipse.ini file has the following VM args: -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms1024m -Xmx1024m -Xss2m -XX:MaxPermSize=256m -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC I can't be sure that this is what caused Eclipse to crash. It was just the last error in the Error Log. Not sure if this is relevant but the crash happened while I was editing a before() advice that affects all JComponent methods (including subclasses) on a large Swing project. This Aspect does slow down my build quite a bit especially with the Cross References view open, and uses a lot of heap space so maybe it was an OOM. Created attachment 178464 [details]
JVM Error Log
Attaching the JVM error log for posterity. I don't see anything related to AspectJ or AJDT though.
The null indicates a sourcetypebinding was being examined (looking at its membertypes) before the membertypes have been set. Even if the aspect has no member types the array should be initialized to an empty array constant before it is first referenced. I've put in a guard with a message to the console when this occurs. |