Community
Participate
Working Groups
M4 testing (I20041214-2000-gtk) I was testing the refactoring annotation support and created the annotation below. All of a sudden (When I first modified the source of the annotation CU, which had been created by a refactoring), I get tons (ok, ~8) of the execptions below. I was unable to give focus to the editor until I turned off 'Mark Occurrences', I guess the AST getter job was running into the problem. -------- ThrowAwayMethod.java -------- package com.example.m4testing; import java.lang.annotation.Retention; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.METHOD) @interface ThrowAwayMethod { /** * Comment for <code>test</code> */ private final Test test; /** * @param test */ ThrowAwayMethod(Test test) { this.test= test; } } -------- First Exception (Killed the reconciler) --------- !ENTRY org.eclipse.jdt.core 4 4 2004-12-15 15:03:17.419 !MESSAGE Exception occurred during problem detection: !STACK 0 java.lang.ClassCastException: org.eclipse.jdt.internal.compiler.lookup.ProblemBinding at org.eclipse.jdt.internal.compiler.ast.NameReference.fieldBinding(NameReference.java:37) at org.eclipse.jdt.internal.compiler.ast.Annotation.detectStandardAnnotation(Annotation.java:97) at org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType(Annotation.java:229) at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:369) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:928) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1063) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:280) at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:566) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:175) at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:142) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:203) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:547) at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:979) at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:60) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:739) at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1105) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:91) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:133) at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86) at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:94) at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:75) at org.eclipse.jdt.internal.ui.text.JavaReconciler.process(JavaReconciler.java:318) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:204) ---- second exception (and all following) -------- !ENTRY org.eclipse.jdt.ui 4 10001 2004-12-15 15:03:18.299 !MESSAGE Internal Error !STACK 0 java.lang.reflect.InvocationTargetException at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:333) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:269) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:624) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:621) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1949) at org.eclipse.ui.internal.progress.ProgressManager$5.run(ProgressManager.java:1061) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.progress.ProgressManager.runInUI(ProgressManager.java:1057) at org.eclipse.jdt.internal.ui.javaeditor.AddImportOnSelectionAction.run(AddImportOnSelectionAction.java:109) at org.eclipse.jface.action.Action.runWithEvent(Action.java:989) at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:188) at org.eclipse.ui.internal.commands.Command.execute(Command.java:130) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:445) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:724) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:767) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:536) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2(WorkbenchKeyboard.java:479) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1.handleEvent(WorkbenchKeyboard.java:221) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1067) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:995) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1020) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1005) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1032) at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:596) at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:1886) at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:527) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1332) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3241) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:4633) at org.eclipse.swt.widgets.Display.eventProc(Display.java:907) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1095) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2395) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1569) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1540) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:285) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:102) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:220) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:710) at org.eclipse.core.launcher.Main.main(Main.java:694) Caused by: java.lang.ClassCastException: org.eclipse.jdt.internal.compiler.lookup.ProblemBinding at org.eclipse.jdt.internal.compiler.ast.NameReference.fieldBinding(NameReference.java:37) at org.eclipse.jdt.internal.compiler.ast.Annotation.detectStandardAnnotation(Annotation.java:97) at org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType(Annotation.java:229) at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:369) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:928) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1063) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:280) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:651) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:443) at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:708) at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:574) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:563) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:494) at org.eclipse.jdt.internal.corext.codemanipulation.AddImportsOperation.run(AddImportsOperation.java:134) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1674) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3672) at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:65) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:322) ... 50 more Root exception: java.lang.ClassCastException: org.eclipse.jdt.internal.compiler.lookup.ProblemBinding at org.eclipse.jdt.internal.compiler.ast.NameReference.fieldBinding(NameReference.java:37) at org.eclipse.jdt.internal.compiler.ast.Annotation.detectStandardAnnotation(Annotation.java:97) at org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType(Annotation.java:229) at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:369) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:928) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1063) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:280) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:651) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:443) at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:708) at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:574) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:563) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:494) at org.eclipse.jdt.internal.corext.codemanipulation.AddImportsOperation.run(AddImportsOperation.java:134) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1674) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3672) at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:65) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:322) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:269) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:624) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:621) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1949) at org.eclipse.ui.internal.progress.ProgressManager$5.run(ProgressManager.java:1061) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.progress.ProgressManager.runInUI(ProgressManager.java:1057) at org.eclipse.jdt.internal.ui.javaeditor.AddImportOnSelectionAction.run(AddImportOnSelectionAction.java:109) at org.eclipse.jface.action.Action.runWithEvent(Action.java:989) at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:188) at org.eclipse.ui.internal.commands.Command.execute(Command.java:130) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:445) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:724) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:767) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:536) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2(WorkbenchKeyboard.java:479) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1.handleEvent(WorkbenchKeyboard.java:221) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1067) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:995) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1020) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1005) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1032) at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:596) at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:1886) at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:527) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1332) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3241) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:4633) at org.eclipse.swt.widgets.Display.eventProc(Display.java:907) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1095) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2395) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1569) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1540) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:285) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:102) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:220) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:710) at org.eclipse.core.launcher.Main.main(Main.java:694) !ENTRY org.eclipse.core.runtime 4 2 2004-12-15 15:03:18.399 !MESSAGE An internal error occurred during: "Java AST creation". !STACK 0 java.lang.ClassCastException: org.eclipse.jdt.internal.compiler.lookup.ProblemBinding at org.eclipse.jdt.internal.compiler.ast.NameReference.fieldBinding(NameReference.java:37) at org.eclipse.jdt.internal.compiler.ast.Annotation.detectStandardAnnotation(Annotation.java:97) at org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType(Annotation.java:229) at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:369) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:928) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1063) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:280) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:651) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:443) at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:708) at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:574) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:563) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:494) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:165) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:142) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
*** Bug 81148 has been marked as a duplicate of this bug. ***
Fixed and released in HEAD. Regression tests added in ASTConverter15Test and AnnotationTest.
Verified in 200412160010