Bug 6865 - open on selection in BuildNotifier only finds contents of rt.jar
Summary: open on selection in BuildNotifier only finds contents of rt.jar
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 M2   Edit
Assignee: David Audel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 6037 (view as bug list)
Depends on:
Blocks:
 
Reported: 2001-12-12 12:41 EST by John Wiegand CLA
Modified: 2002-01-11 08:56 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 John Wiegand CLA 2001-12-12 12:41:02 EST
1211

1. Use the plugin importer to import all of the projects in binary form
2. Open Type on BuildNotifier - select the one in newBuilder.
3. Select various types and methods.
Util binds to corba, not to the one imported.
IMarker doesn't bind to anything.
(The corresponding methods cannot be found either)
Comment 1 Philipe Mulet CLA 2001-12-12 18:08:21 EST
Suspecting the classpath of the containing project isn't valid.
Therefore, we revert to a simple type search (per simple name) and method/field 
do not work.

Is the classpath ok ?
Comment 2 John Wiegand CLA 2001-12-12 18:35:36 EST
If the classpath is invalid, it is a bug in the plugin importer.

This problem also exists in 1122, 1206.
However, this problem does not appear to exist in 1107.
(the plugin importer tool is different, so that 
could be a factor).  I imported the 1211 libraries 
in all cases
Comment 3 Philipe Mulet CLA 2001-12-13 10:16:37 EST
*** Bug 6037 has been marked as a duplicate of this bug. ***
Comment 4 Philipe Mulet CLA 2001-12-13 10:19:22 EST
We think we have isolated the pattern. It can occur when some code previously 
opened a JAR package fragment root in the wrong context (using a handle 
containing the wrong project). Even this package fragment root does not exist, 
its information is cached, and fooling all subsequent queries against elements 
inside it (they will incorrectly think they are located inside the original 
wrong project).

In this scenario, open types is traversing all projects (UI code) to find the 
enclosing projects. It is creating bogus handles to the JAR pkg root, and 
performing an existency check which causes the cache to be populated.

This defect is being resolved by revisiting the existency/opening condition of 
a JAR package fragment root (will be released in next integration build).