Bug 241592 - [search] Open Type failed due to internal error on "Item filtering"
Summary: [search] Open Type failed due to internal error on "Item filtering"
Status: VERIFIED DUPLICATE of bug 251504
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.4   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 3.5 M4   Edit
Assignee: Frederic Fusier CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 254415 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-07-21 17:43 EDT by Yuming Liu CLA
Modified: 2010-10-26 05:38 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yuming Liu CLA 2008-07-21 17:43:02 EDT
Build ID: I20080617-2000

Steps To Reproduce:
1.launch "Open Type"
2.Type in any valid class names you may have in your Java project
3.A error message pops up stating:
'Item filtering' has encountered a problem.
An internal error occured during: "Item filtering".



More information:
"Open Type" used to work flawlessly until update to the latest "Usage Data Collector" is applied this morning(07/21/2008).

Now It fails EVERY TIME with the same error shown above.

Here is a exception trace produced by Eclipse:
!ENTRY org.eclipse.core.jobs 4 2 2008-07-21 17:05:56.780
!MESSAGE An internal error occurred during: "Items filtering".
!STACK 0
java.lang.IllegalArgumentException: Class file name must end with .class
	at org.eclipse.jdt.internal.core.PackageFragment.getClassFile(PackageFragment.java:182)
	at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorWrapper.createTypeFromJar(TypeNameMatchRequestorWrapper.java:146)
	at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorWrapper.acceptType(TypeNameMatchRequestorWrapper.java:108)
	at org.eclipse.jdt.internal.core.search.BasicSearchEngine$2.acceptIndexMatch(BasicSearchEngine.java:779)
	at org.eclipse.jdt.internal.core.search.matching.InternalSearchPattern.acceptMatch(InternalSearchPattern.java:57)
	at org.eclipse.jdt.internal.core.search.matching.InternalSearchPattern.findIndexMatches(InternalSearchPattern.java:88)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator.findIndexMatches(MatchLocator.java:269)
	at org.eclipse.jdt.internal.core.search.PatternSearchJob.search(PatternSearchJob.java:97)
	at org.eclipse.jdt.internal.core.search.PatternSearchJob.execute(PatternSearchJob.java:63)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:276)
	at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllTypeNames(BasicSearchEngine.java:790)
	at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:815)
	at org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog.fillContentProvider(FilteredTypesSelectionDialog.java:553)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.filterContent(FilteredItemsSelectionDialog.java:2175)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.internalRun(FilteredItemsSelectionDialog.java:2117)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.doRun(FilteredItemsSelectionDialog.java:2089)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.run(FilteredItemsSelectionDialog.java:2076)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Frank Henningsen CLA 2008-10-21 10:41:39 EDT
i just tried to reset my eclipse workspace by applying the -clean parameter on startup. This solved the problem, but I expect that the problem will return sometime later.
Comment 2 Frederic Fusier CLA 2008-11-06 09:52:00 EST
*** Bug 254415 has been marked as a duplicate of this bug. ***
Comment 3 Greg Giacovelli CLA 2008-12-18 16:48:49 EST
I have used the -clean option and it still doesn't correct itself. Is there an idea as to what may be causing this?

Comment 4 Frederic Fusier CLA 2009-03-02 06:55:38 EST
Do you have any project with name ending with '.jar' or file(s) on the classpath with '.jar' extension but in fact not a Jar File?
Comment 5 Yuming Liu CLA 2009-03-05 15:17:15 EST
(In reply to comment #4)
> Do you have any project with name ending with '.jar' or file(s) on the
> classpath with '.jar' extension but in fact not a Jar File?
> 
Not in my case.

I just shifted to 3.4.2, the problem no longer manifest.  However, 3.4.2 has  more nuances of its own!
Comment 6 Frederic Fusier CLA 2009-03-06 03:25:18 EST
My assumption is that it was a problem with the indexes. When installing 3.4.2, all indexes have been recreated and the problem vanished, but as you said it may happen again. This has been fixed for 3.5M4 but not backported to 3.4.2 as too risky for a maintenance stream...

So, I close this as a duplicate of bug 251504. If you encounter this problem again, then close your session, delete all the files in .metadata/.plugins/org.eclipse.jdt.core directory and restart. If this action does fix your problem, my assumption was correct, if not, then please reopen this bug, thanks

*** This bug has been marked as a duplicate of bug 251504 ***
Comment 7 David Audel CLA 2009-03-10 07:21:08 EDT
Verified for 3.5M6. This bug is probably a duplicate of bug 251504

Comment 8 Alexander Veit CLA 2010-06-04 10:00:56 EDT
This bug exists in Build id: 20100218-1602.

Please provide a sensible error message that helps users to solve the problem.

"Class file name must end with .class" is fail.


----------------------------------------------------
An internal error occurred during: "Items filtering".

java.lang.IllegalArgumentException: Class file name must end with .class
	at org.eclipse.jdt.internal.core.PackageFragment.getClassFile(PackageFragment.java:182)
	at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorWrapper.createTypeFromPath(TypeNameMatchRequestorWrapper.java:191)
	at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorWrapper.acceptType(TypeNameMatchRequestorWrapper.java:107)
	at org.eclipse.jdt.internal.core.search.BasicSearchEngine$3.acceptIndexMatch(BasicSearchEngine.java:1111)
	at org.eclipse.jdt.core.search.SearchPattern.acceptMatch(SearchPattern.java:299)
	at org.eclipse.jdt.core.search.SearchPattern.findIndexMatches(SearchPattern.java:2124)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator.findIndexMatches(MatchLocator.java:264)
	at org.eclipse.jdt.internal.core.search.PatternSearchJob.search(PatternSearchJob.java:97)
	at org.eclipse.jdt.internal.core.search.PatternSearchJob.execute(PatternSearchJob.java:63)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:276)
	at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllTypeNames(BasicSearchEngine.java:1122)
	at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:815)
	at org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog.fillContentProvider(FilteredTypesSelectionDialog.java:556)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.filterContent(FilteredItemsSelectionDialog.java:2182)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.internalRun(FilteredItemsSelectionDialog.java:2124)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.doRun(FilteredItemsSelectionDialog.java:2096)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.run(FilteredItemsSelectionDialog.java:2083)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)