Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 310756 - InvalidRegistryObjectException updating plug-in dependencies
Summary: InvalidRegistryObjectException updating plug-in dependencies
Status: CLOSED DUPLICATE of bug 299636
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.6   Edit
Hardware: Macintosh Mac OS X
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: PDE-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-28 02:31 EDT by ekkehard gentz CLA
Modified: 2012-09-07 12:52 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ekkehard gentz CLA 2010-04-28 02:31:37 EDT
yesterday I hat the first time an InvalidRegistryObjectException while updating plug-in dependencies.
happens using "Set as Target Platform" from inside Target Platform Definition File.
It's the same Target Platform as actually running, but because of Bug 309795 I always have to reset the TP after a restart of Eclipse.

To be sure that there's nothing in caches or invalid in .bundlepool I did a fresh install:

* installed SDKM6
* updated to I20100426-0852
* installed some tools into IDE from my updatesite (http://ekkes-updates.de/redview-team-developer)
* cloned projects from repository
* set TargetPlatform from TargetPlatform Definition file
all compiles well

Restarted Eclipse
as described in Bug 309795 I have to reset the TP
opened my TargetPlatformDefinition file (same as used if looking under preferences)
the TP Definition was resolved well
then clicked "Set as Target Platform"

now the error (see below) happens
hitting a second time "Set as Target Platform" all works without an error
because this happens since 1 or 2 I-Builds and again in a fresh installation I report this

ekke
eclipse.buildId=I20100426-0852
java.version=1.6.0_17
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=de_DE
Framework arguments:  -keyring /Users/admin/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -keyring /Users/admin/.eclipse_keyring -showlocation


Error
Wed Apr 28 08:14:24 CEST 2010
An internal error occurred during: "Updating plug-in dependencies".

org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object
at org.eclipse.core.internal.registry.RegistryObjectManager.basicGetObject(RegistryObjectManager.java:272)
at org.eclipse.core.internal.registry.RegistryObjectManager.getObject(RegistryObjectManager.java:262)
at org.eclipse.core.internal.registry.BaseExtensionHandle.getExtension(BaseExtensionHandle.java:30)
at org.eclipse.core.internal.registry.BaseExtensionHandle.getConfigurationElements(BaseExtensionHandle.java:79)
at org.eclipse.pde.internal.core.SourceLocationManager.processExtensions(SourceLocationManager.java:344)
at org.eclipse.pde.internal.core.SourceLocationManager.getExtensionLocations(SourceLocationManager.java:192)
at org.eclipse.pde.internal.core.SourceLocationManager.searchExtensionLocations(SourceLocationManager.java:273)
at org.eclipse.pde.internal.core.SourceLocationManager.findSourcePath(SourceLocationManager.java:60)
at org.eclipse.pde.internal.core.ClasspathUtilCore.getSourceAnnotation(ClasspathUtilCore.java:156)
at org.eclipse.pde.internal.core.PDEClasspathContainer.addExternalPlugin(PDEClasspathContainer.java:66)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.addPlugin(RequiredPluginsClasspathContainer.java:256)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.addDependency(RequiredPluginsClasspathContainer.java:230)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.addDependency(RequiredPluginsClasspathContainer.java:242)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.addDependency(RequiredPluginsClasspathContainer.java:214)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.computePluginEntries(RequiredPluginsClasspathContainer.java:129)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.getClasspathEntries(RequiredPluginsClasspathContainer.java:88)
at org.eclipse.jdt.internal.core.ClasspathEntry.validateClasspathEntry(ClasspathEntry.java:1866)
at org.eclipse.jdt.internal.core.ClasspathEntry.validateClasspathEntry(ClasspathEntry.java:1815)
at org.eclipse.jdt.internal.core.ClasspathValidation.validate(ClasspathValidation.java:68)
at org.eclipse.jdt.internal.core.ChangeClasspathOperation.classpathChanged(ChangeClasspathOperation.java:51)
at org.eclipse.jdt.internal.core.SetContainerOperation.executeOperation(SetContainerOperation.java:110)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793)
at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:4842)
at org.eclipse.pde.internal.core.PluginModelManager$UpdateClasspathsJob.run(PluginModelManager.java:73)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 1 ekkehard gentz CLA 2010-04-29 14:03:22 EDT
today - while resetting TargetPlatform I got a ConcurrentModificationException

using newest I-Build

ekke
-------

eclipse.buildId=I20100429-0206
java.version=1.6.0_17
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=de_DE
Framework arguments:  -keyring /Users/admin/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -keyring /Users/admin/.eclipse_keyring -showlocation


Error
Thu Apr 29 19:59:24 CEST 2010
An internal error occurred during: "Resetting Target Platform".

java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$ValueIterator.next(HashMap.java:822)
at java.util.AbstractCollection.toArray(AbstractCollection.java:171)
at org.eclipse.core.internal.registry.ExtensionRegistry.getAllContributors(ExtensionRegistry.java:1358)
at org.eclipse.pde.internal.core.PDERegistryStrategy$ModelListener.modelsChanged(PDERegistryStrategy.java:80)
at org.eclipse.pde.internal.core.PluginModelManager.fireDelta(PluginModelManager.java:344)
at org.eclipse.pde.internal.core.PluginModelManager.modelsChanged(PluginModelManager.java:255)
at org.eclipse.pde.internal.core.PluginModelManager.resetState(PluginModelManager.java:1014)
at org.eclipse.pde.internal.core.TargetPlatformResetJob.run(TargetPlatformResetJob.java:39)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 2 Remy Suen CLA 2010-05-12 07:51:03 EDT
My stack trace is different but I guess it's complaining about the same thing.

1. Unzip I20100511-0800.
2. Start it on my Platform workspace.
3. Apply some patch.
4. Remember to set target platform to check for API problems.
5. Set a 3.5 one and let PDE do its loading stuff.
6. An error occurs.

org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object
at org.eclipse.core.internal.registry.RegistryObjectManager.basicGetObject(RegistryObjectManager.java:272)
at org.eclipse.core.internal.registry.RegistryObjectManager.getObject(RegistryObjectManager.java:262)
at org.eclipse.core.internal.registry.BaseExtensionHandle.getExtension(BaseExtensionHandle.java:30)
at org.eclipse.core.internal.registry.BaseExtensionHandle.getContributor(BaseExtensionHandle.java:47)
at org.eclipse.pde.internal.core.JavadocLocationManager.initialize(JavadocLocationManager.java:68)
at org.eclipse.pde.internal.core.JavadocLocationManager.getEntry(JavadocLocationManager.java:43)
at org.eclipse.pde.internal.core.JavadocLocationManager.getJavadocLocation(JavadocLocationManager.java:39)
at org.eclipse.pde.internal.core.PDEClasspathContainer.getClasspathAttributes(PDEClasspathContainer.java:123)
at org.eclipse.pde.internal.core.PDEClasspathContainer.addExternalPlugin(PDEClasspathContainer.java:69)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.addPlugin(RequiredPluginsClasspathContainer.java:256)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.addDependency(RequiredPluginsClasspathContainer.java:230)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.addDependency(RequiredPluginsClasspathContainer.java:214)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.computePluginEntries(RequiredPluginsClasspathContainer.java:129)
at org.eclipse.pde.internal.core.RequiredPluginsClasspathContainer.getClasspathEntries(RequiredPluginsClasspathContainer.java:88)
at org.eclipse.jdt.internal.core.ClasspathEntry.validateClasspathEntry(ClasspathEntry.java:1866)
at org.eclipse.jdt.internal.core.ClasspathEntry.validateClasspathEntry(ClasspathEntry.java:1815)
at org.eclipse.jdt.internal.core.ClasspathValidation.validate(ClasspathValidation.java:68)
at org.eclipse.jdt.internal.core.ChangeClasspathOperation.classpathChanged(ChangeClasspathOperation.java:51)
at org.eclipse.jdt.internal.core.SetContainerOperation.executeOperation(SetContainerOperation.java:110)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793)
at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:4842)
at org.eclipse.pde.internal.core.PluginModelManager$UpdateClasspathsJob.run(PluginModelManager.java:62)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 3 Remy Suen CLA 2010-05-12 07:57:08 EDT
(In reply to comment #2)
> 4. Remember to set target platform to check for API problems.

Note that this was a mistake on my part. I should've set a baseline instead of switching my target platform. In any case, I set my target platform to a 3.5.0 and then it died.
Comment 4 Ed Willink CLA 2011-09-26 13:57:53 EDT
I was trying to isolate a repro for bug 342294 but once I put the launch config in the project I got this stack trace on 4.2M2.
Comment 5 Curtis Windatt CLA 2012-09-07 12:52:51 EDT
There are many bugs referencing the same InvalidRegistryObjectException with different steps.  They are being merged into Bug 299636.

*** This bug has been marked as a duplicate of bug 299636 ***