Bug 54907 - [prefs] references to removed nodes
Summary: [prefs] references to removed nodes
Status: RESOLVED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Runtime (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.1   Edit
Assignee: DJ Houghton CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-15 16:49 EST by DJ Houghton CLA
Modified: 2005-03-04 08:09 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description DJ Houghton CLA 2004-03-15 16:49:20 EST
People may keep hold of the nodes that deal with their plug-in preferences. This
can be problematic.

Especially in the case of import where we clear the prefs and remove the node.
People will get IllegalStateExceptions when they won't expect it.

This exact scenerio might not be a problem once we re-evaluate the import/export
over-write vs merge, but it is still a general issue.
Comment 1 John Arthorne CLA 2004-08-31 10:44:04 EDT
This exact scenario is now happening in build I20040824. JavaCore is caching
Preferences objects, and their lookups fail after an import. A shutdown and
restart is required to get things back in order.

java.lang.IllegalStateException: Preference node "org.eclipse.jdt.core" has been
removed.
	at
org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved(EclipsePreferences.java:142)
	at
org.eclipse.core.internal.preferences.EclipsePreferences.internalGet(EclipsePreferences.java:481)
	at
org.eclipse.core.internal.preferences.EclipsePreferences.get(EclipsePreferences.java:349)
	at
org.eclipse.core.internal.preferences.PreferencesService.get(PreferencesService.java:391)
	at org.eclipse.jdt.core.JavaCore.getOptions(JavaCore.java:2218)
	at org.eclipse.jdt.internal.core.JavaProject.getOptions(JavaProject.java:1428)
	at
org.eclipse.jdt.internal.core.search.indexing.SourceIndexer.indexDocument(SourceIndexer.java:57)
	at
org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:72)
	at
org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:290)
	at
org.eclipse.jdt.internal.core.search.indexing.IndexManager$1.execute(IndexManager.java:600)
	at
org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:368)
	at java.lang.Thread.run(Thread.java:534)
Comment 2 DJ Houghton CLA 2004-08-31 10:45:57 EDT
Should consider using pref node handles to help users?
Comment 3 DJ Houghton CLA 2005-03-04 08:09:25 EST
Not going to fix for now. Its spec'd such that nodes can become invalidated.