Bug 202938 - java.lang.ArrayIndexOutOfBoundsException when compiling enumeration inside class
Summary: java.lang.ArrayIndexOutOfBoundsException when compiling enumeration inside class
Status: RESOLVED DUPLICATE of bug 175039
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 1.5.4   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-11 11:20 EDT by Alexandr Chmyr CLA
Modified: 2007-11-06 10:57 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandr Chmyr CLA 2007-09-11 11:20:02 EDT
The RenderMode is an enumeration inside ReportBean. When i moved enumeration to a new class, the compile passed.

java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.country=RU
sun.os.patch.level=Service Pack 2
java.vm.specification.name=Java Virtual Machine Specification
user.dir=D:\eclipse-workspace-cvs\web\portlet
java.runtime.version=1.5.0_07-b03
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\soft\java\jre1.5.0_07\lib\endorsed
os.arch=x86
file.encoding=Cp1251
java.specification.version=1.5
java.class.path=D:\eclipse-workspace-cvs\lib\aspectjtools-1.5.3.jar
java.vm.info=mixed mode
java.version=1.5.0_07

---- Command Line ---
-source
1.5
-target
1.5
-g
-showWeaveInfo
-outjar
D:\eclipse-workspace-cvs\ant\.build\weaved.jar
------------------------

    [iajc] when weaving type com.mypackage.ReportBean$RenderMode
     [iajc] when weaving classes 
     [iajc] when weaving 
     [iajc] when batch building BuildConfig[null] #Files=0
     [iajc] 0
     [iajc] java.lang.ArrayIndexOutOfBoundsException: 0
     [iajc] 	at org.aspectj.weaver.ResolvedType.getMemberParameterizationMap(ResolvedType.java:695)
     [iajc] 	at org.aspectj.weaver.ReferenceType.getDeclaredInterfaces(ReferenceType.java:406)
     [iajc] 	at org.aspectj.weaver.ResolvedType.getDirectSupertypes(ResolvedType.java:65)
     [iajc] 	at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1156)
     [iajc] 	at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1158)
     [iajc] 	at org.aspectj.weaver.ResolvedType.getInterTypeMungersIncludingSupers(ResolvedType.java:1135)
     [iajc] 	at org.aspectj.weaver.ResolvedType.checkInterTypeMungers(ResolvedType.java:1202)
     [iajc] 	at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1588)
     [iajc] 	at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1563)
     [iajc] 	at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1341)
     [iajc] 	at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1161)
     [iajc] 	at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:455)
     [iajc] 	at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterCompiling(AjPipeliningCompilerAdapter.java:329)
     [iajc] 	at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:73)
     [iajc] 	at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:367)
     [iajc] 	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:906)
     [iajc] 	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:260)
     [iajc] 	at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:176)
     [iajc] 	at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
     [iajc] 	at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
     [iajc] 	at org.aspectj.tools.ajc.Main.run(Main.java:378)
     [iajc] 	at org.aspectj.tools.ajc.Main.runMain(Main.java:253)
     [iajc] 	at org.aspectj.tools.ajc.Main.main(Main.java:88)
     [iajc] 11.09.2007 18:08:38 org.aspectj.weaver.tools.Jdk14Trace info
Comment 1 Andrew Clement CLA 2007-10-09 09:28:24 EDT
Please can you give me a little more information about the ReportBean type declaration? Is it generic? 
Comment 2 Alexandr Chmyr CLA 2007-10-10 06:29:16 EDT
No, the ReportBean is just has setters,getters and jsf-ActionListener methods.

Those ActionListener methods has annotation: 

@PermissionsAllowed({ Permission.READ })

the PermissionAllowed :


@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface PermissionsAllowed {

	String DO_NOTHING = "donothing";

	/** Array of permissions one of which user should have to execute the method*/
	String[] value();

	/** Method name that will be called in case if permissions are not sufficient.
	 * Optional*/
	String onFail() default DO_NOTHING;
}
Comment 3 Andrew Clement CLA 2007-10-26 08:25:18 EDT
there is another bug with the same exception trace that includes some sample code for recreate, close this one as a dup of that one when I have time to find it!
Comment 4 Andrew Clement CLA 2007-11-06 10:57:17 EST
I am closing this as a dup of bug 175039.  That bug covers the same stack trace but also includes an explanation of the problem and a fix was put in under that bug on the 6Mar2007.  Of all these similar bugs I have yet to see one reported on an AspectJ level after the 6Mar2007

Although the level of AspectJ compiler that was used hasnt been reported - the weaver jar name of aspectjtools-1.5.3 implies 1.5.3 which was 22Nov2006.

*** This bug has been marked as a duplicate of bug 175039 ***