Bug 94398

Summary: Error attempting to find References
Product: [Eclipse Project] JDT Reporter: Steve Northover <steve_northover>
Component: CoreAssignee: Jerome Lanneluc <jerome_lanneluc>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: brockj
Version: 3.0   
Target Milestone: 3.1 RC1   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Proposed patch
none
Regression test none

Description Steve Northover CLA 2005-05-10 12:07:52 EDT
eclipse-SDK-I20050510-0010-win32

1) Get SWT for Windows from HEAD
2) Go to Spinner.java
3) Go to the method Spinner.setSelection(int, boolean)
4) In the editr, double click "SetWindowText" near the bottom of the method
5) From the popup menu, References->Workspace
6) You get an error dialog and this is what is in the Eclipse error log:

!ENTRY org.eclipse.ui 4 4 2005-05-10 12:00:10.77
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.ui 4 0 2005-05-10 12:00:10.77
!MESSAGE java.lang.IllegalArgumentException
!STACK 0
java.lang.IllegalArgumentException
	at org.eclipse.jdt.core.Signature.getParameterCount(Signature.java:981)
	at org.eclipse.jdt.core.Signature.getParameterTypes
(Signature.java:1118)
	at org.eclipse.jdt.core.Signature.getParameterTypes
(Signature.java:1157)
	at org.eclipse.jdt.ui.JavaElementLabels.getMethodLabel
(JavaElementLabels.java:490)
	at org.eclipse.jdt.ui.JavaElementLabels.getElementLabel
(JavaElementLabels.java:386)
	at org.eclipse.jdt.ui.JavaElementLabels.getElementLabel
(JavaElementLabels.java:363)
	at 
org.eclipse.jdt.internal.ui.search.JavaSearchQuery.getSearchPatternDescription
(JavaSearchQuery.java:219)
	at org.eclipse.jdt.internal.ui.search.JavaSearchQuery.getResultLabel
(JavaSearchQuery.java:196)
	at org.eclipse.jdt.internal.ui.search.JavaSearchResult.getLabel
(JavaSearchResult.java:67)
	at org.eclipse.search.ui.text.AbstractTextSearchViewPage.getLabel
(AbstractTextSearchViewPage.java:329)
	at org.eclipse.jdt.internal.ui.search.JavaSearchResultPage.getLabel
(JavaSearchResultPage.java:766)
	at org.eclipse.search2.internal.ui.SearchView.updateLabel
(SearchView.java:284)
	at org.eclipse.search2.internal.ui.SearchView.showSearchResult
(SearchView.java:276)
	at org.eclipse.search2.internal.ui.SearchView.queryAdded
(SearchView.java:343)
	at org.eclipse.search2.internal.ui.QueryManager.fireAdded
(QueryManager.java:76)
	at org.eclipse.search2.internal.ui.QueryManager.addQuery
(QueryManager.java:53)
	at org.eclipse.search2.internal.ui.InternalSearchUI.addQuery
(InternalSearchUI.java:303)
	at 
org.eclipse.search2.internal.ui.InternalSearchUI.runSearchInBackground
(InternalSearchUI.java:157)
	at org.eclipse.search.ui.NewSearchUI.runQueryInBackground
(NewSearchUI.java:92)
	at org.eclipse.jdt.internal.ui.search.SearchUtil.runQueryInBackground
(SearchUtil.java:75)
	at org.eclipse.jdt.ui.actions.FindAction.performNewSearch
(FindAction.java:294)
	at org.eclipse.jdt.ui.actions.FindAction.run(FindAction.java:277)
	at org.eclipse.jdt.ui.actions.FindReferencesAction.run
(FindReferencesAction.java:90)
	at org.eclipse.jdt.ui.actions.FindAction.run(FindAction.java:241)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun
(SelectionDispatchAction.java:226)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run
(SelectionDispatchAction.java:198)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
	at 
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:538)
	at org.eclipse.jface.action.ActionContributionItem.access$2
(ActionContributionItem.java:488)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent
(ActionContributionItem.java:400)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2901)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2534)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1601)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1565)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:315)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:103)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:230)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:345)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:158)
	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:328)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:272)
	at org.eclipse.core.launcher.Main.run(Main.java:974)
	at org.eclipse.core.launcher.Main.main(Main.java:950)

!ENTRY org.eclipse.ui 4 4 2005-05-10 12:00:10.108
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.ui 4 0 2005-05-10 12:00:10.108
!MESSAGE Failed to execute runnable (java.lang.IllegalArgumentException)
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable 
(java.lang.IllegalArgumentException)
	at org.eclipse.swt.SWT.error(SWT.java:2940)
	at org.eclipse.swt.SWT.error(SWT.java:2863)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:121)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2878)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2537)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1601)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1565)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:315)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:103)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:230)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:345)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:158)
	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:328)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:272)
	at org.eclipse.core.launcher.Main.run(Main.java:974)
	at org.eclipse.core.launcher.Main.main(Main.java:950)
Caused by: java.lang.IllegalArgumentException
	at org.eclipse.jdt.core.Signature.getParameterCount(Signature.java:981)
	at org.eclipse.jdt.core.Signature.getParameterTypes
(Signature.java:1118)
	at org.eclipse.jdt.core.Signature.getParameterTypes
(Signature.java:1157)
	at org.eclipse.jdt.ui.JavaElementLabels.getMethodLabel
(JavaElementLabels.java:490)
	at org.eclipse.jdt.ui.JavaElementLabels.getElementLabel
(JavaElementLabels.java:386)
	at org.eclipse.jdt.ui.JavaElementLabels.getElementLabel
(JavaElementLabels.java:363)
	at 
org.eclipse.jdt.internal.ui.search.JavaSearchQuery.getSearchPatternDescription
(JavaSearchQuery.java:219)
	at org.eclipse.jdt.internal.ui.search.JavaSearchQuery.getResultLabel
(JavaSearchQuery.java:196)
	at org.eclipse.jdt.internal.ui.search.JavaSearchResult.getLabel
(JavaSearchResult.java:67)
	at org.eclipse.search.ui.text.AbstractTextSearchViewPage.getLabel
(AbstractTextSearchViewPage.java:329)
	at org.eclipse.jdt.internal.ui.search.JavaSearchResultPage.getLabel
(JavaSearchResultPage.java:766)
	at org.eclipse.search2.internal.ui.SearchView.updateLabel
(SearchView.java:284)
	at 
org.eclipse.search.ui.text.AbstractTextSearchViewPage$UpdateUIJob.runInUIThread
(AbstractTextSearchViewPage.java:138)
	at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:93)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:118)
	... 18 more
Comment 1 Steve Northover CLA 2005-05-12 18:16:10 EDT
This seems kind of bad.  Not even looked at for 3.1?
Comment 2 Jerome Lanneluc CLA 2005-05-13 04:34:33 EDT
Sorry Steve, we somehow missed it. We'll provide a fix for RC1.
Comment 3 Jerome Lanneluc CLA 2005-05-13 04:44:19 EDT
Created attachment 21092 [details]
Proposed patch

Changed BindingKeyParser.Scanner#nextToken() to not return a TYPE if the
character corresponds to a base type signature and the previous one is '.'.
Comment 4 Jerome Lanneluc CLA 2005-05-13 04:45:22 EDT
Created attachment 21093 [details]
Regression test

Added regression test BindingKeyTests#test034()
Comment 5 Jerome Lanneluc CLA 2005-05-13 06:14:16 EDT
*** Bug 94895 has been marked as a duplicate of this bug. ***
Comment 6 Jerome Lanneluc CLA 2005-05-15 06:19:34 EDT
Release fix and regression test
Comment 7 David Audel CLA 2005-05-27 04:55:07 EDT
Verified in i20050527-0010