Community
Participate
Working Groups
..is obviously a wierd thing to do. So we should inform people with an error message rather than spewing a stack shown below at them. The weaver is in fact trying to throw an error message but the "ResolvedTypeX inAspect" parameter that it tries to get the world from is null. This is the second time I encounter poor error behavior in the weaver because it is trying to get the message handler from a null thing's world. Perhaps it should be getting the message handler from somehwere more accessible? ----------- null java.lang.NullPointerException at org.aspectj.weaver.patterns.PerFromSuper.concretize (PerFromSuper.java:59) at org.aspectj.weaver.CrosscuttingMembers.setPerClause (CrosscuttingMembers.java:205) at org.aspectj.weaver.ResolvedTypeX.collectCrosscuttingMembers (ResolvedTypeX.java:329) at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect (CrosscuttingMembersSet.java:50) at org.aspectj.weaver.bcel.BcelWeaver.addLibraryJarFile (BcelWeaver.java:107) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.initBcelWorld (AjBuildManager.java:194) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuildManager.java:113) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild (AjBuildManager.java:70) at org.aspectj.ajde.internal.CompilerAdapter.compile (CompilerAdapter.java:103) at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run (AspectJBuildManager.java:165) null java.lang.NullPointerException at org.aspectj.weaver.patterns.PerFromSuper.concretize (PerFromSuper.java:59) at org.aspectj.weaver.CrosscuttingMembers.setPerClause (CrosscuttingMembers.java:205) at org.aspectj.weaver.ResolvedTypeX.collectCrosscuttingMembers (ResolvedTypeX.java:329) at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect (CrosscuttingMembersSet.java:50) at org.aspectj.weaver.bcel.BcelWeaver.addLibraryJarFile (BcelWeaver.java:107) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.initBcelWorld (AjBuildManager.java:194) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuildManager.java:113) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild (AjBuildManager.java:70) at org.aspectj.ajde.internal.CompilerAdapter.compile (CompilerAdapter.java:103) at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run (AspectJBuildManager.java:165)
included in list under the general category "improve error messages from weaver"
I'm being chicken here and reassigning this bug to Jim, with the expectation that he'll either be able to easily fix it (since it's front-endy) or he'll be able to pingpong it back to me.
I'll take a look at this in the 'front-end'...
FROM: invalid stored block lengths invalid stored block lengths java.util.zip.ZipException: invalid stored block lengths at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:137) at java.util.zip.ZipInputStream.read(ZipInputStream.java:137) at org.aspectj.util.FileUtil.readAsByteArray(FileUtil.java:1042) at org.aspectj.weaver.bcel.BcelWeaver.addJarFile(BcelWeaver.java:208) at org.aspectj.ajdt.internal.core.builder.AjBuildManager. initBcelWorld(AjBuildManager.java:256) at org.aspectj.ajdt.internal.core.builder.AjBuildManager. doBuild(AjBuildManager.java:130) at org.aspectj.ajdt.internal.core.builder.AjBuildManager. batchBuild(AjBuildManager.java:81) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:104) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:53) at org.aspectj.tools.ajc.Main.run(Main.java:231) at org.aspectj.tools.ajc.Main.runMain(Main.java:168) at org.aspectj.tools.ajc.Main.main(Main.java:81) TO: C:\ColyerRoot\...\oneInjar.jar error Could not read input jar file C: \ColyerRoot\...\injarChange\oneInjar.jar(invalid stored block lengths) 1 error A failure during the writing of an output jar now produces: error at C:\ColyerRoot\...\notAJar.jar Unable to write outjar C:\ColyerRoot\... \notAJar.jar(ZIP file must have at least one entry) I also extended the test harness to support an 'outjar' attribute on 'compile' as part of this bug fix.