Bug 14037 - Internal Error doing java search
Summary: Internal Error doing java search
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 2.0 M6   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-04-17 15:17 EDT by Tod Creasey CLA
Modified: 2002-05-16 14:22 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tod Creasey CLA 2002-04-17 15:26:41 EDT
There appears to be an error when sending large entries to Bugzilla.

I received an internal error when doing a Search on references to String in 
Eclipse. I am using the 1.3.1 Hursley VM

STEPS
1) Import all of Eclipse
2) Open the Search dialog
3) Do a Java Search on all references to String
Comment 1 Tod Creasey CLA 2002-04-17 15:40:42 EDT
I recievied 100 or so entries of the form

<?xml version="1.0" encoding="UTF-8"?>
<log>
<log-entry date="Wed Apr 17 15:05:59 EDT 2002">
  <status
     plugin-id="org.eclipse.jdt.ui"
     severity="ERROR"
     message="Internal Error"
     code="1">
    <exception
       message="Execute$Java13CommandLauncher$ScriptCommandLauncher.class does 
not exist."
       trace="
org.eclipse.jdt.core.JavaModelException[966]: Java Model Exception: Java Model 
Status [Execute$Java13CommandLauncher$ScriptCommandLauncher.class does not 
exist.]
	at org.eclipse.jdt.internal.core.ClassFile.getBinaryTypeInfo
(ClassFile.java(Compiled Code))
	at org.eclipse.jdt.internal.core.ClassFile.getBinaryTypeInfo
(ClassFile.java(Compiled Code))
	at org.eclipse.jdt.internal.core.ClassFile.generateInfos(ClassFile.java
(Compiled Code))
	at org.eclipse.jdt.internal.core.Openable.buildStructure(Openable.java
(Compiled Code))
	at org.eclipse.jdt.internal.core.Openable.openWhenClosed(Openable.java
(Compiled Code))
	at org.eclipse.jdt.internal.core.BinaryMember.openHierarchy
(BinaryMember.java(Compiled Code))
	at org.eclipse.jdt.internal.core.BinaryType.isInterface(BinaryType.java
(Compiled Code))
	at org.eclipse.jdt.internal.core.BinaryType.isInterface(BinaryType.java
(Compiled Code))
	at 
org.eclipse.jdt.internal.ui.viewsupport.JavaElementImageProvider.getBaseImageDes
criptor(JavaElementImageProvider.java:169)
	at 
org.eclipse.jdt.internal.ui.viewsupport.JavaElementImageProvider.getJavaImageDes
criptor(JavaElementImageProvider.java:135)
	at 
org.eclipse.jdt.internal.ui.viewsupport.JavaElementImageProvider.getImageLabel
(JavaElementImageProvider.java:107)
	at org.eclipse.jdt.internal.ui.viewsupport.JavaUILabelProvider.getImage
(JavaUILabelProvider.java(Compiled Code))
	at org.eclipse.jface.viewers.DecoratingLabelProvider.getImage
(DecoratingLabelProvider.java:65)
	at 
org.eclipse.jdt.internal.ui.search.JavaSearchResultLabelProvider.getImage
(JavaSearchResultLabelProvider.java:77)
	at org.eclipse.jface.viewers.DecoratingLabelProvider.getImage
(DecoratingLabelProvider.java:65)
	at org.eclipse.jface.viewers.StructuredViewer.getLabel
(StructuredViewer.java:1089)
	at org.eclipse.jface.viewers.TableViewer.doUpdateItem
(TableViewer.java:185)
	at org.eclipse.jface.viewers.StructuredViewer.updateItem
(StructuredViewer.java:1044)
	at org.eclipse.jface.viewers.TableViewer.internalRefresh
(TableViewer.java:481)
	at org.eclipse.jface.viewers.TableViewer.internalRefresh
(TableViewer.java:423)
	at org.eclipse.jface.viewers.StructuredViewer$1.run
(StructuredViewer.java:676)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection
(StructuredViewer.java:616)
	at org.eclipse.jface.viewers.StructuredViewer.refresh
(StructuredViewer.java:674)
	at org.eclipse.jface.viewers.StructuredViewer.refresh
(StructuredViewer.java:636)
	at org.eclipse.jface.viewers.TableViewer.inputChanged
(TableViewer.java:390)
	at org.eclipse.search.internal.ui.SearchResultViewer.inputChanged
(SearchResultViewer.java:198)
	at org.eclipse.jface.viewers.ContentViewer.setInput
(ContentViewer.java:234)
	at org.eclipse.jface.viewers.StructuredViewer.setInput
(StructuredViewer.java:785)
	at org.eclipse.search.internal.ui.SearchManager.handleNewSearchResult
(SearchManager.java:401)
	at 
org.eclipse.search.internal.ui.SearchManager.handleSearchMarkersChanged
(SearchManager.java:340)
	at org.eclipse.search.internal.ui.SearchManager.access$2
(SearchManager.java:337)
	at org.eclipse.search.internal.ui.SearchManager$7.run
(SearchManager.java:472)
	at org.eclipse.ui.internal.UIWorkspaceLock.doPendingWork
(UIWorkspaceLock.java:53)
	at org.eclipse.ui.internal.UISynchronizer$1.run(UISynchronizer.java:23)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:258)
	at org.eclipse.search.internal.ui.util.ExtendedDialogWindow.run
(ExtendedDialogWindow.java:205)
	at org.eclipse.jdt.internal.ui.search.JavaSearchPage.performAction
(JavaSearchPage.java:181)
	at org.eclipse.search.internal.ui.SearchDialog.performAction
(SearchDialog.java:222)
	at 
org.eclipse.search.internal.ui.util.ExtendedDialogWindow.buttonPressed
(ExtendedDialogWindow.java:162)
	at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:356)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java
(Compiled Code))
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java
(Compiled Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(Compiled 
Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.jface.window.Window.runEventLoop(Window.java(Compiled 
Code))
	at org.eclipse.jface.window.Window.open(Window.java:525)
	at org.eclipse.search.internal.ui.OpenSearchDialogAction.run
(OpenSearchDialogAction.java:45)
	at org.eclipse.search.internal.ui.OpenSearchDialogAction.run
(OpenSearchDialogAction.java:32)
	at org.eclipse.ui.internal.PluginAction.runWithEvent
(PluginAction.java:202)
	at org.eclipse.ui.internal.WWinPluginAction.runWithEvent
(WWinPluginAction.java:162)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:407)
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java(Compiled Code))
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java(Compiled Code))
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java(Compiled Code))
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java
(Compiled Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(Compiled 
Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:819)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:777)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:319)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:190)
	at org.eclipse.core.launcher.Main.run(Main.java:549)
	at org.eclipse.core.launcher.Main.main(Main.java:390)
">
    </exception>
  </status>
</log-entry>
Comment 2 Erich Gamma CLA 2002-05-04 18:05:59 EDT
JavaElementImageProvider.getBaseImageDescriptor is logging a CoreException and 
returns a ghost icon. The question is how can we get a match reported for an 
element but when we want to render it and ask additional info about we get a 
not exist exception? Is this an expected sitatuation that we should not log as 
an internal error?
Comment 3 Olivier Thomann CLA 2002-05-16 11:43:40 EDT
Tod, did you import Eclipse from source or you left all projects in binaries?
Comment 4 Tod Creasey CLA 2002-05-16 11:48:27 EDT
I had imported them all as source. This does not currently work in build 
20020515 (see Bug 16163) so you will likely have to load from the repository to 
replicate this.
Comment 5 Olivier Thomann CLA 2002-05-16 12:03:06 EDT
Did you build before the search?
Comment 6 Tod Creasey CLA 2002-05-16 12:05:40 EDT
I believe so - I normally test with auto build on.
Comment 7 Olivier Thomann CLA 2002-05-16 14:11:38 EDT
I could not reproduce. The search completed fine, but now the CPU is 100% for the last half and hour 
trying to display the 40,000 or so results.
I close it, but don't hesitate to reopen it if you 
encounter it again.
Comment 8 Olivier Thomann CLA 2002-05-16 14:15:57 EDT
I got another error:
Caused by: java.lang.NullPointerException
	at 
org.eclipse.jdt.internal.core.search.matching.MatchLocator.createMethodHandle(MatchLocator.java:321)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportReference(MatchLocator.java:1028)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchSet.reportMatching(MatchSet.java:176)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchSet.reportMatching(MatchSet.java:353)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchSet.reportMatching(MatchSet.java:261)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchingOpenable.locateMatchesInCompilationUnit(MatchingOpenable.java:309)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchingOpenable.locateMatches(MatchingOpenable.java:171)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1322)
	at 
org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:597)
	at 
org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:410)
	at 
org.eclipse.jdt.internal.ui.search.JavaSearchOperation.execute(JavaSearchOperation.java:86)
	at 
org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:64)
	at 
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1361)
	at 
org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:78)
	at 
org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:98)
Comment 9 Olivier Thomann CLA 2002-05-16 14:22:53 EDT
This error is due to the fact that the MatchLocator is not protected against the case where 
getMethods() can return null. All other references are protected except this one.
Fixed and 
released in HEAD.