Community
Participate
Working Groups
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)
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)
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)
(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.
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.
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 ***