Bug 97139 - eclipse 3.1RC1 compiler crash for project
Summary: eclipse 3.1RC1 compiler crash for project
Status: CLOSED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.1   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.1 RC2   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-29 06:33 EDT by Haris Peco CLA
Modified: 2005-06-10 09:17 EDT (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 Haris Peco CLA 2005-05-29 06:33:45 EDT
Hello,
I try compile databinding project (databinding.dev.java.net)
I make project for eclipse (original is for netbeans) - complete project is
on http://www.snpe.co.yu/databinding.zip (1.8 mb)

eclipse 3.1 (<= 3.1M7) work fine (netbeans and command line compile work
fine , too)

In eclipse 3.1RCl compiler crash (after format it work fine)

error log :

!ENTRY org.eclipse.jdt.core 4 4 2005-05-29 01:57:32.550
!MESSAGE Exception occurred during problem detection: 
!STACK 0
java.lang.ArrayIndexOutOfBoundsException: 800
 at
org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttributeForSyntheticMethod(ClassFile.java:2727)
 at
org.eclipse.jdt.internal.compiler.ClassFile.addSyntheticSwitchTable(ClassFile.java:1332)
 at
org.eclipse.jdt.internal.compiler.ClassFile.addSpecialMethods(ClassFile.java:1242)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:565)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:596)
 at
org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression.generateCode(QualifiedAllocationExpression.java:143)
 at
org.eclipse.jdt.internal.compiler.ast.ReturnStatement.generateCode(ReturnStatement.java:116)
 at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:219)
 at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:166)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:561)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:615)
 at
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:184)
 at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:566)
 at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:599)
 at
org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:165)
 at
org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:214)
 at
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:79)
 at
org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:718)
 at
org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:777)
 at
org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1081)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:98)
 at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1038)
 at org.eclipse.core.runtime.Platform.run(Platform.java:775)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:174)
 at
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)
 at
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:120)
 at
org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:103)
 at
org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:307)
 at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:170)

!ENTRY org.eclipse.jdt.ui 4 0 2005-05-29 01:57:32.554
!MESSAGE Error in JDT Core during reconcile
!STACK 1
org.eclipse.jdt.core.JavaModelException[1005]:
java.lang.ArrayIndexOutOfBoundsException: 800
 at
org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttributeForSyntheticMethod(ClassFile.java:2727)
 at
org.eclipse.jdt.internal.compiler.ClassFile.addSyntheticSwitchTable(ClassFile.java:1332)
 at
org.eclipse.jdt.internal.compiler.ClassFile.addSpecialMethods(ClassFile.java:1242)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:565)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:596)
 at
org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression.generateCode(QualifiedAllocationExpression.java:143)
 at
org.eclipse.jdt.internal.compiler.ast.ReturnStatement.generateCode(ReturnStatement.java:116)
 at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:219)
 at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:166)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:561)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:615)
 at
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:184)
 at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:566)
 at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:599)
 at
org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:165)
 at
org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:214)
 at
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:79)
 at
org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:718)
 at
org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:777)
 at
org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1081)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:98)
 at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1038)
 at org.eclipse.core.runtime.Platform.run(Platform.java:775)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:174)
 at
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)
 at
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:120)
 at
org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:103)
 at
org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:307)
 at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:170)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 800
 at
org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttributeForSyntheticMethod(ClassFile.java:2727)
 at
org.eclipse.jdt.internal.compiler.ClassFile.addSyntheticSwitchTable(ClassFile.java:1332)
 at
org.eclipse.jdt.internal.compiler.ClassFile.addSpecialMethods(ClassFile.java:1242)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:565)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:596)
 at
org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression.generateCode(QualifiedAllocationExpression.java:143)
 at
org.eclipse.jdt.internal.compiler.ast.ReturnStatement.generateCode(ReturnStatement.java:116)
 at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:219)
 at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:166)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:561)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:615)
 at
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:184)
 at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:566)
 at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:599)
 at
org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:165)
 at
org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:214)
 at
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:79)
 at
org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:718)
 at
org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:777)
 at
org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1081)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:98)
 at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1038)
 at org.eclipse.core.runtime.Platform.run(Platform.java:775)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:174)
 at
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)
 at
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:120)
 at
org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:103)
 at
org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:307)
 at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:170)
!SUBENTRY 1 org.eclipse.jdt.core 4 1005 2005-05-29 01:57:32.571
!MESSAGE 800
!STACK 0
java.lang.ArrayIndexOutOfBoundsException: 800
 at
org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttributeForSyntheticMethod(ClassFile.java:2727)
 at
org.eclipse.jdt.internal.compiler.ClassFile.addSyntheticSwitchTable(ClassFile.java:1332)
 at
org.eclipse.jdt.internal.compiler.ClassFile.addSpecialMethods(ClassFile.java:1242)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:565)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:596)
 at
org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression.generateCode(QualifiedAllocationExpression.java:143)
 at
org.eclipse.jdt.internal.compiler.ast.ReturnStatement.generateCode(ReturnStatement.java:116)
 at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:219)
 at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:166)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:561)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:615)
 at
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:184)
 at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:566)
 at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:599)
 at
org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:165)
 at
org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:214)
 at
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:79)
 at
org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:718)
 at
org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:777)
 at
org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1081)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:98)
 at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1038)
 at org.eclipse.core.runtime.Platform.run(Platform.java:775)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82)
 at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:174)
 at
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)
 at
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:120)
 at
org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:103)
 at
org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:307)
 at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:170)
Comment 1 Olivier Thomann CLA 2005-05-29 21:23:21 EDT
Fixed and released in HEAD.
The bug was a missing bound check in the line number attribute.
Added the bound check in the method completeCodeAttributeForSyntheticMethod.
Added also the same bound check in
completeCodeAttributeForMissingAbstractProblemMethod.
Comment 2 Olivier Thomann CLA 2005-06-06 20:29:48 EDT
Verified in N20050606-0010
Comment 3 David Audel CLA 2005-06-10 09:17:27 EDT
Verified for 3.1 RC2 using build I20050610-0010