Community
Participate
Working Groups
Steps to reproduce: 1. import project 2. clean build 3. edit and save Java file and exception 1 is thrown 4. edit and save AJ file and exception 2 is thrown EXCEPTION 1 org.aspectj.weaver.BCException: Couldn't find ITD holder member 'void bug2.AspectWithITDConstructor.ajc$postInterConstructor$bug2_AspectWithITDConstructor$bug2_ConstructorOn(bug2.ConstructorOn, java.lang.Object)' on aspect bug2.AspectWithITDConstructor when type munging with (BcelTypeMunger ResolvedTypeMunger(Constructor, void bug2.ConstructorOn.<init>(TT;))) when weaving type bug2.ConstructorOn when weaving classes when weaving when incrementally building BuildConfig[/Users/andrew/Eclipse/Installations/Eclipse3.4/Eclipse.app/Contents/MacOS/Constructor ITD Bug] #Files=2 at org.aspectj.weaver.bcel.BcelTypeMunger.mungeNewConstructor(BcelTypeMunger.java:1479) at org.aspectj.weaver.bcel.BcelTypeMunger.munge(BcelTypeMunger.java:108) at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:448) at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:99) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1739) at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1700) at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1466) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1273) at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:435) at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.queueForWeaving(AjPipeliningCompilerAdapter.java:371) at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterProcessing(AjPipeliningCompilerAdapter.java:358) at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$after$org_aspectj_ajdt_internal_compiler_CompilerAdapter$5$6b855184(CompilerAdapter.aj:98) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:652) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:392) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:975) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:301) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.incrementalBuild(AjBuildManager.java:183) at org.aspectj.ajde.core.internal.AjdeCoreBuildManager.performBuild(AjdeCoreBuildManager.java:126) at org.aspectj.ajde.core.AjCompiler.build(AjCompiler.java:88) at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:223) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) EXCEPTION 2 java.lang.NullPointerException at org.aspectj.weaver.NewConstructorTypeMunger.equals(NewConstructorTypeMunger.java:46) at org.aspectj.weaver.ConcreteTypeMunger.equivalentTo(ConcreteTypeMunger.java:38) at org.aspectj.weaver.CrosscuttingMembers.replaceWith(CrosscuttingMembers.java:366) at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect(CrosscuttingMembersSet.java:77) at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.addCrosscuttingStructures(AjLookupEnvironment.java:454) at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.collectAllITDsAndDeclares(AjLookupEnvironment.java:380) at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.completeTypeBindings(AjLookupEnvironment.java:194) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:616) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:357) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:371) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:975) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:301) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.incrementalBuild(AjBuildManager.java:183) at org.aspectj.ajde.core.internal.AjdeCoreBuildManager.performBuild(AjdeCoreBuildManager.java:126) at org.aspectj.ajde.core.AjCompiler.build(AjCompiler.java:88) at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:223) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Created attachment 122472 [details] Project to reproduce this bug
Oh, and this is the title of the first exception in Eclipse: trouble in: public class bug2.ConstructorOn extends java.lang.Object: public void <init>(): ALOAD_0 // Lbug2/ConstructorOn; this (line 3) INVOKESPECIAL java.lang.Object.<init> ()V RETURN end public void <init>() end public class bug2.ConstructorOn
this is not failing for me. I imported the project - it did have a dependency on another project I dont have, so I removed the dependency (possibly a factor?) whitespace change to either file and the compile is fine. I think the NPE was addressed by another bug you raised, bug 262218, and that is already fixed. However, I don't believe I have fixed the bceltypemunger exception, but I cant recreate it.
Hmmmm...funny. I can't recreate this now either. Guess you fixed it! Thanks for looking into this.