Community
Participate
Working Groups
Description I'm developing an monitor function. I'm using an ANT build script for building the application. to avoid recursieve behaviour the monitor package is excluded from the aspect build and is built javac earlier. The error description is as followed: When i'm including the monitor package in my aspect (this is the same package that is excluded from the buildin ajc) the compiler goes into a NullPointerException. Interrime solution: I'm compiling everything with aspectJ and overwrites the excluded pakages with a new compiling using javac The exception can be reconstructed using the following code Aspect Java source extract package com.radix.core; import org.aspectj.lang.*; import org.aspectj.lang.reflect.*; //import com.radix.core.monitor.*; //import com.radix.core.test.*; import com.radix.core.monitor.RadixMonitor; public aspect RadixObjectTraceAspect { private int _indent = -1; private RadixMonitor radixMonitor = new RadixMonitor(); // private RadixTestAspectObject radixMonitor = new RadixTestAspectObject (); Ant file extract <ajc destdir="${radix.runtime.dir}" srcdir="${radix.src.root.dir}" includes="java/**/*.java, aspect/com/radix/core/RadixObjectTraceAspect.java" excludes="**/monitor/**, java/com/radix/core/RadixObjectReference.java, java/com/radix/core/guid/RadixGUID.java, **/test/**" > <classpath> <pathelement location="${aspectjrt.jar}"/> <pathelement path="${radix.src.java.dir}"/> <pathelement path="${radix.runtime.dir}"/> </classpath> Compiler Exception [ajc] Compiling 10 source and 0 arg files to C:\Dev\workspaces\Radix\Radix Core\runtime [ajc] java.lang.NullPointerException [ajc] at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.ge tExactConstructor(SourceTypeBinding.java:419) [ajc] at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getConstr uctor(BlockScope.java:797) [ajc] at org.eclipse.jdt.internal.compiler.ast.AllocationExpression.re solveType(AllocationExpression.java:233) [ajc] at org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.resolv e(FieldDeclaration.java:177) [ajc] at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:788) [ajc] at org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.reso lve(AspectDeclaration.java:73) [ajc] at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:845) [ajc] at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclarat ion.resolve(CompilationUnitDeclaration.java:251) [ajc] at org.eclipse.jdt.internal.compiler.Compiler.process (Compiler.j ava:538) [ajc] at org.aspectj.ajdt.internal.compiler.AjCompiler.process (AjCompi ler.java:65) [ajc] at org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.j ava:338) [ajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.perform Compilation(AjBuildManager.java:373) [ajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuildManager.java:125) [ajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBu ild(AjBuildManager.java:70) [ajc] at org.aspectj.ajdt.ajc.AjdtCommand.doCommand (AjdtCommand.java:9 9) [ajc] at org.aspectj.ajdt.ajc.AjdtCommand.runCommand (AjdtCommand.java: 53) [ajc] at org.aspectj.tools.ajc.Main.run(Main.java:217) [ajc] at org.aspectj.tools.ant.taskdefs.Ajc10.spoon(Ajc10.java:598) [ajc] at org.aspectj.tools.ant.taskdefs.Ajc10.execute(Ajc10.java:484) [ajc] at org.apache.tools.ant.UnknownElement.execute (UnknownElement.ja va:193) [ajc] at org.apache.tools.ant.Task.perform(Task.java:341) [ajc] at org.apache.tools.ant.Target.execute(Target.java:309) [ajc] at org.apache.tools.ant.Target.performTasks(Target.java:336) [ajc] at org.apache.tools.ant.Project.executeTarget (Project.java:1339) [ajc] at org.apache.tools.ant.Project.executeTargets (Project.java:1255 ) [ajc] at org.apache.tools.ant.Main.runBuild(Main.java:609) [ajc] at org.apache.tools.ant.Main.start(Main.java:196) [ajc] at org.apache.tools.ant.Main.main(Main.java:235) [ajc] C:\Dev\workspaces\Radix\RadixCore\src\aspect\com\radix\core\RadixObj ectTraceAspect.java:0 Internal compiler error [ajc] java.lang.NullPointerException [ajc] at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.ge tExactConstructor(SourceTypeBinding.java:419) [ajc] at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getConstr uctor(BlockScope.java:797) [ajc] at org.eclipse.jdt.internal.compiler.ast.AllocationExpression.re solveType(AllocationExpression.java:233) [ajc] at org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.resolv e(FieldDeclaration.java:177) [ajc] at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:788) [ajc] at org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.reso lve(AspectDeclaration.java:73) [ajc] at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:845) [ajc] at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclarat ion.resolve(CompilationUnitDeclaration.java:251) [ajc] at org.eclipse.jdt.internal.compiler.Compiler.process (Compiler.j ava:538) [ajc] at org.aspectj.ajdt.internal.compiler.AjCompiler.process (AjCompi ler.java:65) [ajc] at org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.j ava:338) [ajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.perform Compilation(AjBuildManager.java:373) [ajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuildManager.java:125) [ajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBu ild(AjBuildManager.java:70) [ajc] at org.aspectj.ajdt.ajc.AjdtCommand.doCommand (AjdtCommand.java:9 9) [ajc] at org.aspectj.ajdt.ajc.AjdtCommand.runCommand (AjdtCommand.java: 53) [ajc] at org.aspectj.tools.ajc.Main.run(Main.java:217) [ajc] at org.aspectj.tools.ant.taskdefs.Ajc10.spoon(Ajc10.java:598) [ajc] at org.aspectj.tools.ant.taskdefs.Ajc10.execute(Ajc10.java:484) [ajc] at org.apache.tools.ant.UnknownElement.execute (UnknownElement.ja va:193) [ajc] at org.apache.tools.ant.Task.perform(Task.java:341) [ajc] at org.apache.tools.ant.Target.execute(Target.java:309) [ajc] at org.apache.tools.ant.Target.performTasks(Target.java:336) [ajc] at org.apache.tools.ant.Project.executeTarget (Project.java:1339) [ajc] at org.apache.tools.ant.Project.executeTargets (Project.java:1255 ) [ajc] at org.apache.tools.ant.Main.runBuild(Main.java:609) [ajc] at org.apache.tools.ant.Main.start(Main.java:196) [ajc] at org.apache.tools.ant.Main.main(Main.java:235) [ajc] !! no source information available !! [ajc] ABORT [ajc] Exception thrown from AspectJ 1.1.1 [ajc] This might be logged as a bug already -- find current bugs at [ajc] http://bugs.eclipse.org/bugs/buglist.cgi? product=AspectJ&component =Compiler [ajc] Bugs for exceptions thrown have titles File:line from the top stack, [ajc] e.g., "SomeFile.java:243" [ajc] If you don't find the exception below in a bug, please add a new bug [ajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ [ajc] To make the bug a priority, please include a test program [ajc] that can reproduce this exception. [ajc] null [ajc] java.lang.NullPointerException [ajc] at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.ge tExactConstructor(SourceTypeBinding.java:419) [ajc] at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getConstr uctor(BlockScope.java:797) [ajc] at org.eclipse.jdt.internal.compiler.ast.AllocationExpression.re solveType(AllocationExpression.java:233) [ajc] at org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.resolv e(FieldDeclaration.java:177) [ajc] at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:788) [ajc] at org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.reso lve(AspectDeclaration.java:73) [ajc] at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDeclaration.java:845) [ajc] at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclarat ion.resolve(CompilationUnitDeclaration.java:251) [ajc] at org.eclipse.jdt.internal.compiler.Compiler.process (Compiler.j ava:538) [ajc] at org.aspectj.ajdt.internal.compiler.AjCompiler.process (AjCompi ler.java:65) [ajc] at org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.j ava:338) [ajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.perform Compilation(AjBuildManager.java:373) [ajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuildManager.java:125) [ajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBu ild(AjBuildManager.java:70) [ajc] at org.aspectj.ajdt.ajc.AjdtCommand.doCommand (AjdtCommand.java:9 9) [ajc] at org.aspectj.ajdt.ajc.AjdtCommand.runCommand (AjdtCommand.java: 53) [ajc] at org.aspectj.tools.ajc.Main.run(Main.java:217) [ajc] at org.aspectj.tools.ant.taskdefs.Ajc10.spoon(Ajc10.java:598) [ajc] at org.aspectj.tools.ant.taskdefs.Ajc10.execute(Ajc10.java:484) [ajc] at org.apache.tools.ant.UnknownElement.execute (UnknownElement.ja va:193) [ajc] at org.apache.tools.ant.Task.perform(Task.java:341) [ajc] at org.apache.tools.ant.Target.execute(Target.java:309) [ajc] at org.apache.tools.ant.Target.performTasks(Target.java:336) [ajc] at org.apache.tools.ant.Project.executeTarget (Project.java:1339) [ajc] at org.apache.tools.ant.Project.executeTargets (Project.java:1255 ) [ajc] at org.apache.tools.ant.Main.runBuild(Main.java:609) [ajc] at org.apache.tools.ant.Main.start(Main.java:196) [ajc] at org.apache.tools.ant.Main.main(Main.java:235)
Is there any chance that a more general test case for this problem can be provided ?
We have recently upgraded the compiler in AspectJ to the Eclipse JDT 3.0 final version. Please could you try to recreate this bug at that level? The new version is available at : http://download.eclipse.org/technology/ajdt/dev/aspectj-DEVELOPMENT.jar If that still fails, can you include the stack trace it produces. Unfortunately all the stack frames attached to this report right now have moved with the compiler upgrade :( thanks.
I'm closing this bug - it is getting quite old now and we have since entirely replaced the compiler. If you find the problem still exists - please reopen it. thanks.
Fix released as part of AspectJ 1.2.1