Community
Participate
Working Groups
Foo is a JPA @Entity that was built by Roo. All of the AJ functionality has been pushed in to the class, and the class is a rather plain data object. When trying to compile Java file that contains the call Foo.findAllFoos(), the IDE blows up, marking an error on the file itself, and providing the following error: java.lang.RuntimeException at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:383) at org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:160) at org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:394) at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:389) at org.aspectj.weaver.World.resolveToReferenceType(World.java:460) at org.aspectj.weaver.World.re ... l.jobs.Worker.run(Worker.java:54) Compile error: RuntimeException thrown: Problem processing attributes in Foo.class Please let me know what additional information may be needed.
I found how to copy the more-detailed error from the marker, and it appears that the weaver is running off the end of some interesting file and bailing out. Internal compiler error java.lang.RuntimeException: Problem processing attributes in Foo.class at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:383) at org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:160) at org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:394) at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:389) at org.aspectj.weaver.World.resolveToReferenceType(World.java:460) at org.aspectj.weaver.World.resolve(World.java:304) at org.aspectj.weaver.World.resolve(World.java:217) at org.aspectj.ajdt.internal.compiler.lookup.EclipseFactory.fromEclipse(EclipseFactory.java:148) at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:661) at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:647) at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.createBinaryTypeFrom(AjLookupEnvironment.java:1393) at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:599) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:276) at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:139) at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:178) at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findImport(CompilationUnitScope.java:451) at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findSingleImport(CompilationUnitScope.java:505) at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInImports(CompilationUnitScope.java:361) at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:430) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:629) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:392) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1019) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:268) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:181) at org.aspectj.ajde.core.internal.AjdeCoreBuildManager.performBuild(AjdeCoreBuildManager.java:105) at org.aspectj.ajde.core.AjCompiler.buildFresh(AjCompiler.java:97) at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:243) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Caused by: org.aspectj.weaver.BCException: malformed org.aspectj.weaver.WeaverState attribute (length:3244)java.io.EOFException when weaving intertype declarations Foo when processing compilation unit Bar.java when batch building with classpath: <huge classpath snipped> at org.aspectj.weaver.AjAttribute.read(AjAttribute.java:139) at org.aspectj.weaver.bcel.Utility.readAjAttributes(Utility.java:101) at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:379) ... 38 more
this error indicates a mismatch in AspectJ versions. Two versions of AspectJ are in use and they are not the same, the second one being used is older than the first. (it cannot understand the attribute put into the class file by the more recent version of AspectJ). Are you on an up to date dev build of AJDT?
please reopen if the problem still occurs when all your AspectJ versions are in step.