Bug 168665

Summary: [1.6][compiler] AIOOBE during stack map frame generation
Product: [Eclipse Project] JDT Reporter: Thomas Suetterlin <Thomas.Suetterlin>
Component: CoreAssignee: Olivier Thomann <Olivier_Thomann>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: P3 CC: olga, philippe_mulet, tobys
Version: 3.2.1   
Target Milestone: 3.2.2   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
The file in which the error occurs
none
Proposed fix
none
Proposed fix for 3.2 maintenance branch none

Description Thomas Suetterlin CLA 2006-12-20 07:50:12 EST
I've following probem:

if I set the comiler compliance level  in eclipse to 6.0 I get the following internal compiler error: 

Internal compiler error
java.lang.ArrayIndexOutOfBoundsException: 9

	at org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream.getLocal(StackMapFrameCodeStream.java:771)

	at org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream.iload(StackMapFrameCodeStream.java:950)

	at org.eclipse.jdt.internal.compiler.codegen.CodeStream.load(CodeStream.java:5166)

	at org.eclipse.jdt.internal.compiler.codegen.CodeStream.load(CodeStream.java:5138)

	at org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.generateSyntheticFieldInitializationsIfNecessary(ConstructorDeclaration.java:226)

	at org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.internalGenerateCode(ConstructorDeclaration.java:286)

	at org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.generateCode(ConstructorDeclaration.java:179)

	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:533)

	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:567)

	at org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression.generateCode(QualifiedAllocationExpression.java:145)

	at org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.generateCode(LocalDeclaration.java:109)

	at org.eclipse.jdt.internal.compiler.ast.Block.generateCode(Block.java:58)

	at org.eclipse.jdt.internal.compiler.ast.IfStatement.generateCode(IfStatement.java:160)

	at org.eclipse.jdt.internal.compiler.ast.Block.generateCode(Block.java:58)

	at org.eclipse.jdt.internal.compiler.ast.IfStatement.generateCode(IfStatement.java:160)

	at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:229)

	at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:176)

	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:533)

	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:584)

	at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:214)

	at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:600)

	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:411)

	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:300)

	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:213)

	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:237)

	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:59)

	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:249)

	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:169)

	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:603)

	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)

	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:167)

	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)

	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:230)

	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)

	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:233)

	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:307)

	at org.eclipse.core.internal.resources.Project.build(Project.java:88)

	at org.eclipse.jdt.internal.ui.util.CoreUtility$BuildJob.run(CoreUtility.java:142)

	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

An Error is shown in the first line of always the same java file and indicates that somthing is wrong with the package declaration (in fact there is no error).

Sometimes I was able to start the application anyway but it crashes because the package name of the abovementioned class was empty.

At the moment I'm not able to start the the application because eclipse is not able to fin the class definition of the main class
Comment 1 Thomas Suetterlin CLA 2006-12-20 07:51:19 EST
Created attachment 55959 [details]
The file in which the error occurs
Comment 2 Olivier Thomann CLA 2006-12-20 14:54:47 EST
Could you please let me know what else I do need to import to fix all errors?
Thanks.
Comment 3 Olivier Thomann CLA 2006-12-20 15:14:28 EST
Reproduced.
I am investigating.
Comment 4 Olivier Thomann CLA 2006-12-20 15:14:43 EST
Might be a 3.2.2 candidate as well.
Comment 5 Olivier Thomann CLA 2006-12-22 15:28:03 EST
Created attachment 56105 [details]
Proposed fix
Comment 6 Olivier Thomann CLA 2006-12-22 16:00:30 EST
Released for 3.3M5.
Philippe,
Candidate for 3.2.2?
Comment 7 Kent Johnson CLA 2007-01-02 15:44:38 EST
*** Bug 169358 has been marked as a duplicate of this bug. ***
Comment 8 Philipe Mulet CLA 2007-01-08 06:17:26 EST
+1 for 3.2.2
Comment 9 Olivier Thomann CLA 2007-01-08 12:04:50 EST
Created attachment 56562 [details]
Proposed fix for 3.2 maintenance branch
Comment 10 Olivier Thomann CLA 2007-01-08 12:05:54 EST
Reopen to fix in 3.2.2
Comment 11 Olivier Thomann CLA 2007-01-08 12:06:13 EST
Released for 3.2.2.
Added regression test org.eclipse.jdt.core.tests.compiler.regression.StackMapAttributeTest#test023
Comment 12 Maxime Daniel CLA 2007-01-16 06:30:51 EST
Verified for 3.2.2 using build M20070112-1200.
Comment 13 Olivier Thomann CLA 2007-02-06 09:23:51 EST
Add regression test org.eclipse.jdt.core.tests.compiler.regression.StackMapAttributeTest#test031 in HEAD stream.
Comment 14 Eric Jodet CLA 2007-02-06 09:42:50 EST
Verified for 3.3 M5 using build I20070205-0009
Comment 15 Olivier Thomann CLA 2008-08-19 15:02:40 EDT
*** Bug 244339 has been marked as a duplicate of this bug. ***