Bug 212322

Summary: NPE occurred in org.eclipse.jdt.internal.core.search.JavaSearchScope
Product: [Eclipse Project] JDT Reporter: Alexander Maletz <avmaletz>
Component: CoreAssignee: JDT-Core-Inbox <jdt-core-inbox>
Status: VERIFIED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: maxime_daniel
Version: 3.3.1   
Target Milestone: 3.3.2   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Alexander Maletz CLA 2007-12-08 05:24:40 EST
Build ID: M20071205-0800

Steps To Reproduce:
1.Navigate->Open type
2.Start typing letters (any)
3.Exception dialog is shown

This did not occur in Eclipse 3.1.1. Started happening for me only in 3.3.2 builds. Looks very similar to bug 179199, but does not seem to be the same (exception is thrown from createTypeFromJar). There is quite a few jars that are referenced by many projects. Removing some of them fixes the problem, but I could not figure out WHAT in these jars causes crash.


More information:

eclipse.buildId=M20071023-1652
java.version=1.6.0_03
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86


The trace is following:
java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.search.JavaSearchScope.packageFragmentRoot(JavaSearchScope.java:589)
	at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorWrapper.createTypeFromJar(TypeNameMatchRequestorWrapper.java:124)
	at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorWrapper.acceptType(TypeNameMatchRequestorWrapper.java:108)
	at org.eclipse.jdt.internal.core.search.BasicSearchEngine$2.acceptIndexMatch(BasicSearchEngine.java:767)
	at org.eclipse.jdt.internal.core.search.matching.InternalSearchPattern.acceptMatch(InternalSearchPattern.java:45)
	at org.eclipse.jdt.internal.core.search.matching.InternalSearchPattern.findIndexMatches(InternalSearchPattern.java:89)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator.findIndexMatches(MatchLocator.java:325)
	at org.eclipse.jdt.internal.core.search.PatternSearchJob.search(PatternSearchJob.java:114)
	at org.eclipse.jdt.internal.core.search.PatternSearchJob.execute(PatternSearchJob.java:64)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:279)
	at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllTypeNames(BasicSearchEngine.java:778)
	at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:781)
	at org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog.fillContentProvider(FilteredTypesSelectionDialog.java:593)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.filterContent(FilteredItemsSelectionDialog.java:2083)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.internalRun(FilteredItemsSelectionDialog.java:2025)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.doRun(FilteredItemsSelectionDialog.java:1997)
	at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.run(FilteredItemsSelectionDialog.java:1984)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Alexander Maletz CLA 2007-12-08 05:41:12 EST
Sorry I meant "This did not occur in Eclipse 3.3.1.1 ..."

As per bug 179199, i switched on debug output and here is output:

Start VM: -Xms40m
-Xmx256m
-XX:MaxPermSize=256m
-Djava.class.path=D:\bin\eclipse33\plugins\org.eclipse.equinox.launcher_1.0.1.R3
3x_v20070828.jar
-os win32
-ws win32
-arch x86
-showsplash D:\bin\eclipse33\\plugins\org.eclipse.platform_3.3.2.R33x_v20071010\
splash.bmp
-launcher D:\bin\eclipse33\eclipse.exe
-name Eclipse
--launcher.library D:\bin\eclipse33\plugins\org.eclipse.equinox.launcher.win32.w
in32.x86_1.0.2.R33x_v20071005\eclipse_1021.dll
-startup D:\bin\eclipse33\plugins\org.eclipse.equinox.launcher_1.0.1.R33x_v20070
828.jar
-debug
-vm d:\jdk1.6\bin\..\jre\bin\client\jvm.dll
-vmargs
-Xms40m
-Xmx256m
-XX:MaxPermSize=256m
-Djava.class.path=D:\bin\eclipse33\plugins\org.eclipse.equinox.launcher_1.0.1.R3
3x_v20070828.jar
Install location:
    file:/d:/bin/eclipse33/
Configuration file:
    file:/d:/bin/eclipse33/configuration/config.ini loaded
Configuration location:
    file:/d:/bin/eclipse33/configuration/
Framework located:
    file:/d:/bin/eclipse33/plugins/org.eclipse.osgi_3.3.1.R33x_v20071203.jar
Framework classpath:
    file:/d:/bin/eclipse33/plugins/org.eclipse.osgi_3.3.1.R33x_v20071203.jar
Splash location:
    D:\bin\eclipse33\\plugins\org.eclipse.platform_3.3.2.R33x_v20071010\splash.b
mp
Debug options:
    file:/D:/bin/eclipse33/.options loaded
Time to load bundles: 16
Starting application: 1172
Application Started: 15641
Thread[Worker-3,5,main] BasicSearchEngine.searchAllTypeNames(char[], char[], int
, int, IJavaSearchScope, IRestrictedAccessTypeRequestor, int, IProgressMonitor)
Thread[Worker-3,5,main]         - package name: null
Thread[Worker-3,5,main]         - match rule: R_EXACT_MATCH
Thread[Worker-3,5,main]         - type name: !@$#!@
Thread[Worker-3,5,main]         - match rule: R_PATTERN_MATCH | R_CASE_SENSITIVE

Thread[Worker-3,5,main]         - search for: 5
Thread[Worker-3,5,main]         - scope: JavaWorkspaceScope
Thread[Worker-3,5,main] BasicSearchEngine.searchAllTypeNames(char[], char[], int
, int, IJavaSearchScope, IRestrictedAccessTypeRequestor, int, IProgressMonitor)
Thread[Worker-3,5,main]         - package name: null
Thread[Worker-3,5,main]         - match rule: R_EXACT_MATCH
Thread[Worker-3,5,main]         - type name: _______________
Thread[Worker-3,5,main]         - match rule: R_CASE_SENSITIVE
Thread[Worker-3,5,main]         - search for: 7
Thread[Worker-3,5,main]         - scope: JavaWorkspaceScope
Thread[Worker-3,5,main] BasicSearchEngine.searchAllTypeNames(char[], char[], int
, int, IJavaSearchScope, IRestrictedAccessTypeRequestor, int, IProgressMonitor)
Thread[Worker-3,5,main]         - package name: null
Thread[Worker-3,5,main]         - match rule: R_EXACT_MATCH
Thread[Worker-3,5,main]         - type name: _______________
Thread[Worker-3,5,main]         - match rule: R_CASE_SENSITIVE
Thread[Worker-3,5,main]         - search for: 7
Thread[Worker-3,5,main]         - scope: JavaWorkspaceScope
Thread[Worker-0,5,main] BasicSearchEngine.searchAllTypeNames(char[], char[], int
, int, IJavaSearchScope, IRestrictedAccessTypeRequestor, int, IProgressMonitor)
Thread[Worker-0,5,main]         - package name: null
Thread[Worker-0,5,main]         - match rule: R_EXACT_MATCH
Thread[Worker-0,5,main]         - type name: s
Thread[Worker-0,5,main]         - match rule: R_PREFIX_MATCH
Thread[Worker-0,5,main]         - search for: 0
Thread[Worker-0,5,main]         - scope: JavaWorkspaceScope
Thread[Worker-3,5,main] BasicSearchEngine.searchAllTypeNames(char[], char[], int
, int, IJavaSearchScope, IRestrictedAccessTypeRequestor, int, IProgressMonitor)
Thread[Worker-3,5,main]         - package name: null
Thread[Worker-3,5,main]         - match rule: R_EXACT_MATCH
Thread[Worker-3,5,main]         - type name: ss
Thread[Worker-3,5,main]         - match rule: R_PREFIX_MATCH
Thread[Worker-3,5,main]         - search for: 0
Thread[Worker-3,5,main]         - scope: JavaWorkspaceSco
Comment 2 Frederic Fusier CLA 2007-12-10 09:18:58 EST

*** This bug has been marked as a duplicate of bug 211962 ***
Comment 3 Maxime Daniel CLA 2008-01-24 05:08:24 EST
Verified for 3.3.2 using build M20080123-0800.