Bug 132012 - Runtime exception disables JavaNoTypeCompletionProposalComputer
Summary: Runtime exception disables JavaNoTypeCompletionProposalComputer
Status: RESOLVED DUPLICATE of bug 115918
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 132997 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-03-15 14:19 EST by Jason Miller CLA
Modified: 2006-03-23 15:50 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 Jason Miller CLA 2006-03-15 14:19:27 EST
I am running eclipse version:
Version: 3.2.0
Build id: I20051102-1600

Whenever I attempt to do a ctrl-space autocomplete in the java editor, I see the following exception occur twice.  From then on all attempts at auto-complete show only an empty list of suggestions.  Restarting eclipse allows the functionality to work again, at least until an auto-complete attempt causes this error again.

!ENTRY org.eclipse.jdt.ui 2 0 2006-03-15 14:17:36.107
!MESSAGE Content Assist: Disabling the "org.eclipse.jdt.ui.JavaNoTypeCompletionProposalComputer" (org.eclipse.jdt.ui.JavaNoTypeCompletionProposalComputer) extension to the "javaCompletionProposalComputer" extension point. Reason: The extension has thrown a runtime exception.
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.lookup.Scope.minimalErasedCandidates(Scope.java:3167)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperInterfaces(ClassScope.java:888)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:947)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:266)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:251)
	at org.eclipse.jdt.internal.codeassist.impl.Engine.accept(Engine.java:93)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:131)
	at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:178)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2472)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2211)
	at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:41)
	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:149)
	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:106)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1106)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:766)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:946)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectMemberTypes(ClassScope.java:734)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:953)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:266)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:251)
	at org.eclipse.jdt.internal.codeassist.impl.Engine.accept(Engine.java:93)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:131)
	at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:178)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2472)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2211)
	at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:41)
	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:149)
	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:106)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1106)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:766)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:946)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:266)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:251)
	at org.eclipse.jdt.internal.codeassist.impl.Engine.accept(Engine.java:93)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:131)
	at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:178)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findImport(CompilationUnitScope.java:415)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findSingleImport(CompilationUnitScope.java:469)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInImports(CompilationUnitScope.java:333)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:402)
	at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1647)
	at org.eclipse.jdt.internal.core.Openable.codeComplete(Openable.java:127)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:290)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:283)
	at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.internalComputeCompletionProposals(JavaCompletionProposalComputer.java:211)
	at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer.computeCompletionProposals(JavaCompletionProposalComputer.java:191)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:278)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:248)
	at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:158)
	at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:143)
	at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1566)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:447)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$15(CompletionProposalPopup.java:444)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:379)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:373)
	at org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.java:1414)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(CompilationUnitEditor.java:204)
	at org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
	at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:182)
	at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:108)
	at org.eclipse.core.commands.Command.execute(Command.java:287)
	at org.eclipse.core.commands.ParameterizedCommand.execute(ParameterizedCommand.java:401)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:459)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:781)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:828)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:550)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:493)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:117)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:975)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:895)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:920)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:905)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:933)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:929)
	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1243)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3241)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3142)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:3908)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1703)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2854)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1774)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1738)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:376)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:165)
	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.invokeFramework(Main.java:338)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
	at org.eclipse.core.launcher.Main.run(Main.java:977)
	at org.eclipse.core.launcher.Main.main(Main.java:952)
Comment 1 Frederic Fusier CLA 2006-03-21 02:49:44 EST
Would it be possible to make a try using a more recent build, 3.2 M5 for example, and let us know if this problem still occurs?
If so, then please provide test case to help us to reproduce, thanks
Comment 2 Emanuel Greisen CLA 2006-03-23 15:01:00 EST
I get the same behavior in my project. Using:

Version: 3.2.0
Build id: N20060320-0010

I have reported this in an other bugreport [Bug 132997] and it seems like its also similar to [Bug 131681]
Comment 3 Jason Miller CLA 2006-03-23 15:03:39 EST
This is pretty hard for me to recreate and give to you - it was only happening for one class in a very large project.  I guess I was hoping that the NPE that is causing the feature to disable could be handled better, but I don't know.
Comment 4 Olivier Thomann CLA 2006-03-23 15:36:03 EST
*** Bug 132997 has been marked as a duplicate of this bug. ***
Comment 5 Olivier Thomann CLA 2006-03-23 15:38:52 EST
If you have a reproducable test case, please provide it even if it is big.
With such problems, the more difficult part is to reproduce it.
I tried the test case from bug 132997, but I don't get the problem.
Comment 6 Emanuel Greisen CLA 2006-03-23 15:44:19 EST
I will try to cut down the problem, this will take an hour or so, but hopefully I can give you a test-case that is small enough.
Comment 7 Kent Johnson CLA 2006-03-23 15:50:12 EST

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