Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Equinox » InvalidRegistryObjectException on upgrade
InvalidRegistryObjectException on upgrade [message #125385] Mon, 02 February 2009 19:42 Go to next message
Eclipse User
Originally posted by: andrew.eisenberg.springsource.com

Hi,

I am consistently receiving multiple InvalidRegistryObjectException
exceptions when upgrading from AJDT 1.6.2 to 1.6.3. The P2 installation
process seems to work properly when performing "Software Updates..." from
the update site.

However, after shutting down and attempting to restart, many exceptions are
thrown and Eclipse fails to start. The second restart is then successful
and these exceptions are no longer thrown.

Can anyone shed some light on why these exceptions might be thrown?
Thanks.

Andrew

---------------------------------


Here are a few sample stack traces (all in all, looks like about 50
exceptions are thrown):


!ENTRY org.eclipse.osgi 4 0 2009-02-02 08:57:47.929
!MESSAGE An unexpected runtime error has occurred.
!STACK 0
org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry
object
at
org.eclipse.core.internal.registry.RegistryObjectManager.bas icGetObject(Regi
stryObjectManager.java:273)
at
org.eclipse.core.internal.registry.RegistryObjectManager.get Object(RegistryO
bjectManager.java:263)
at
org.eclipse.core.internal.registry.ExtensionRegistry.removeE xtension(Extensi
onRegistry.java:556)
at
org.eclipse.core.internal.registry.ExtensionRegistry.removeE xtensionsAndExte
nsionPoints(ExtensionRegistry.java:601)
at
org.eclipse.core.internal.registry.ExtensionRegistry.basicRe move(ExtensionRe
gistry.java:228)
at
org.eclipse.core.internal.registry.ExtensionRegistry.remove( ExtensionRegistr
y.java:546)
at
org.eclipse.core.internal.registry.ExtensionRegistry.remove( ExtensionRegistr
y.java:520)
at
org.eclipse.core.internal.registry.osgi.EclipseBundleListene r.removeBundle(E
clipseBundleListener.java:107)
at
org.eclipse.core.internal.registry.osgi.EclipseBundleListene r.bundleChanged(
EclipseBundleListener.java:82)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.d ispatchEvent(Bun
dleContextImpl.java:1234)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEve nt(EventManager.
java:211)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEv entSynchronous(L
istenerQueue.java:141)
at
org.eclipse.osgi.framework.internal.core.Framework.publishBu ndleEventPrivile
ged(Framework.java:1518)
at
org.eclipse.osgi.framework.internal.core.Framework.publishBu ndleEvent(Framew
ork.java:1469)
at
org.eclipse.osgi.framework.internal.core.PackageAdminImpl.pr ocessDelta(Packa
geAdminImpl.java:435)
at
org.eclipse.osgi.framework.internal.core.PackageAdminImpl.do ResolveBundles(P
ackageAdminImpl.java:224)
at
org.eclipse.osgi.framework.internal.core.PackageAdminImpl$1. run(PackageAdmin
Impl.java:162)
at java.lang.Thread.run(Thread.java:619)


!ENTRY org.eclipse.equinox.registry 4 2 2009-02-02 08:57:48.276
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.equinox.registry".
!STACK 0
java.lang.NullPointerException
at
org.eclipse.ui.internal.Workbench.getWorkbenchWindows(Workbe nch.java:1252)
at
org.eclipse.ui.internal.ExtensionEventHandler.registryChange d(ExtensionEvent
Handler.java:59)
at
org.eclipse.core.internal.registry.ExtensionRegistry$2.run(E xtensionRegistry
..java:884)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at
org.eclipse.core.internal.registry.ExtensionRegistry.process ChangeEvent(Exte
nsionRegistry.java:882)
at
org.eclipse.core.runtime.spi.RegistryStrategy.processChangeE vent(RegistryStr
ategy.java:267)
at
org.eclipse.core.internal.registry.osgi.ExtensionEventDispat cherJob.run(Exte
nsionEventDispatcherJob.java:50)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)




!ENTRY org.eclipse.ui 4 0 2009-02-02 08:57:48.537
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry
object
at
org.eclipse.core.internal.registry.RegistryObjectManager.bas icGetObject(Regi
stryObjectManager.java:273)
at
org.eclipse.core.internal.registry.RegistryObjectManager.get Object(RegistryO
bjectManager.java:263)
at
org.eclipse.core.internal.registry.ConfigurationElementHandl e.getConfigurati
onElement(ConfigurationElementHandle.java:26)
at
org.eclipse.core.internal.registry.ConfigurationElementHandl e.getAttribute(C
onfigurationElementHandle.java:34)
at
org.eclipse.ui.internal.services.RegistryPersistence.readReq uired(RegistryPe
rsistence.java:491)
at
org.eclipse.ui.internal.services.RegistryPersistence.readReq uired(RegistryPe
rsistence.java:464)
at
org.eclipse.ui.internal.commands.CommandPersistence.readCate goriesFromRegist
ry(CommandPersistence.java:104)
at
org.eclipse.ui.internal.commands.CommandPersistence.reRead(C ommandPersistenc
e.java:520)
at
org.eclipse.ui.internal.commands.CommandPersistence.read(Com mandPersistence.
java:472)
at
org.eclipse.ui.internal.commands.CommandService.readRegistry (CommandService.
java:190)
at
org.eclipse.ui.internal.Workbench$36.runWithException(Workbe nch.java:1567)
at
org.eclipse.ui.internal.StartupThreading$StartupRunnable.run (StartupThreadin
g.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2293)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.
java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:
193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(
EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAp
pLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl
..java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Re: InvalidRegistryObjectException on upgrade [message #125445 is a reply to message #125385] Tue, 03 February 2009 10:05 Go to previous message
Oleg Besedin is currently offline Oleg Besedin
Messages: 41
Registered: July 2009
Member
Hi Andrew,
The error means that somebody holds on to the handles to the extension
registry objects that no longer exists.

Most likely AJDT (or one of the bundles it depends on) maintains persistent
cache of registry objects, such as extensions or extension points. When a
bundle is updated, behind the scene the "old" version of the bundle is
uninstalled, removing all its registry elements, and when the new version of
the bundle is installed, adding new registry element. If a bundle cached
handles for extensions/extension points and did not react to the registry
events, it ends up with invalid handles.

If during update you pressed "restart" (*not* apply), when I suggest filing
a bug with steps to reproduce against AJDT.

Sincerely,
Oleg Besedin

"Andrew Eisenberg" <andrew.eisenberg@springsource.com> wrote in message
news:C5ACD2EE.1805%andrew.eisenberg@springsource.com...
> Hi,
>
> I am consistently receiving multiple InvalidRegistryObjectException
> exceptions when upgrading from AJDT 1.6.2 to 1.6.3. The P2 installation
> process seems to work properly when performing "Software Updates..." from
> the update site.
>
> However, after shutting down and attempting to restart, many exceptions
> are
> thrown and Eclipse fails to start. The second restart is then successful
> and these exceptions are no longer thrown.
>
> Can anyone shed some light on why these exceptions might be thrown?
> Thanks.
>
> Andrew
>
> ---------------------------------
>
>
> Here are a few sample stack traces (all in all, looks like about 50
> exceptions are thrown):
>
>
> !ENTRY org.eclipse.osgi 4 0 2009-02-02 08:57:47.929
> !MESSAGE An unexpected runtime error has occurred.
> !STACK 0
> org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry
> object
> at
> org.eclipse.core.internal.registry.RegistryObjectManager.bas icGetObject(Regi
> stryObjectManager.java:273)
> at
> org.eclipse.core.internal.registry.RegistryObjectManager.get Object(RegistryO
> bjectManager.java:263)
> at
> org.eclipse.core.internal.registry.ExtensionRegistry.removeE xtension(Extensi
> onRegistry.java:556)
> at
> org.eclipse.core.internal.registry.ExtensionRegistry.removeE xtensionsAndExte
> nsionPoints(ExtensionRegistry.java:601)
> at
> org.eclipse.core.internal.registry.ExtensionRegistry.basicRe move(ExtensionRe
> gistry.java:228)
> at
> org.eclipse.core.internal.registry.ExtensionRegistry.remove( ExtensionRegistr
> y.java:546)
> at
> org.eclipse.core.internal.registry.ExtensionRegistry.remove( ExtensionRegistr
> y.java:520)
> at
> org.eclipse.core.internal.registry.osgi.EclipseBundleListene r.removeBundle(E
> clipseBundleListener.java:107)
> at
> org.eclipse.core.internal.registry.osgi.EclipseBundleListene r.bundleChanged(
> EclipseBundleListener.java:82)
> at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.d ispatchEvent(Bun
> dleContextImpl.java:1234)
> at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEve nt(EventManager.
> java:211)
> at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEv entSynchronous(L
> istenerQueue.java:141)
> at
> org.eclipse.osgi.framework.internal.core.Framework.publishBu ndleEventPrivile
> ged(Framework.java:1518)
> at
> org.eclipse.osgi.framework.internal.core.Framework.publishBu ndleEvent(Framew
> ork.java:1469)
> at
> org.eclipse.osgi.framework.internal.core.PackageAdminImpl.pr ocessDelta(Packa
> geAdminImpl.java:435)
> at
> org.eclipse.osgi.framework.internal.core.PackageAdminImpl.do ResolveBundles(P
> ackageAdminImpl.java:224)
> at
> org.eclipse.osgi.framework.internal.core.PackageAdminImpl$1. run(PackageAdmin
> Impl.java:162)
> at java.lang.Thread.run(Thread.java:619)
>
>
> !ENTRY org.eclipse.equinox.registry 4 2 2009-02-02 08:57:48.276
> !MESSAGE Problems occurred when invoking code from plug-in:
> "org.eclipse.equinox.registry".
> !STACK 0
> java.lang.NullPointerException
> at
> org.eclipse.ui.internal.Workbench.getWorkbenchWindows(Workbe nch.java:1252)
> at
> org.eclipse.ui.internal.ExtensionEventHandler.registryChange d(ExtensionEvent
> Handler.java:59)
> at
> org.eclipse.core.internal.registry.ExtensionRegistry$2.run(E xtensionRegistry
> .java:884)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
> at
> org.eclipse.core.internal.registry.ExtensionRegistry.process ChangeEvent(Exte
> nsionRegistry.java:882)
> at
> org.eclipse.core.runtime.spi.RegistryStrategy.processChangeE vent(RegistryStr
> ategy.java:267)
> at
> org.eclipse.core.internal.registry.osgi.ExtensionEventDispat cherJob.run(Exte
> nsionEventDispatcherJob.java:50)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
>
>
>
>
> !ENTRY org.eclipse.ui 4 0 2009-02-02 08:57:48.537
> !MESSAGE Unhandled event loop exception
> !STACK 0
> org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry
> object
> at
> org.eclipse.core.internal.registry.RegistryObjectManager.bas icGetObject(Regi
> stryObjectManager.java:273)
> at
> org.eclipse.core.internal.registry.RegistryObjectManager.get Object(RegistryO
> bjectManager.java:263)
> at
> org.eclipse.core.internal.registry.ConfigurationElementHandl e.getConfigurati
> onElement(ConfigurationElementHandle.java:26)
> at
> org.eclipse.core.internal.registry.ConfigurationElementHandl e.getAttribute(C
> onfigurationElementHandle.java:34)
> at
> org.eclipse.ui.internal.services.RegistryPersistence.readReq uired(RegistryPe
> rsistence.java:491)
> at
> org.eclipse.ui.internal.services.RegistryPersistence.readReq uired(RegistryPe
> rsistence.java:464)
> at
> org.eclipse.ui.internal.commands.CommandPersistence.readCate goriesFromRegist
> ry(CommandPersistence.java:104)
> at
> org.eclipse.ui.internal.commands.CommandPersistence.reRead(C ommandPersistenc
> e.java:520)
> at
> org.eclipse.ui.internal.commands.CommandPersistence.read(Com mandPersistence.
> java:472)
> at
> org.eclipse.ui.internal.commands.CommandService.readRegistry (CommandService.
> java:190)
> at
> org.eclipse.ui.internal.Workbench$36.runWithException(Workbe nch.java:1567)
> at
> org.eclipse.ui.internal.StartupThreading$StartupRunnable.run (StartupThreadin
> g.java:31)
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2293)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at
> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.
> java:113)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:
> 193)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(
> EclipseAppLauncher.java:110)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAp
> pLauncher.java:79)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39
> )
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl
> .java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>
Previous Topic:[p2] updating a configuration wich has missing dependencies
Next Topic:Eclipse JAAS - registerListener()
Goto Forum:
  


Current Time: Mon Apr 21 09:01:09 EDT 2014

Powered by FUDForum. Page generated in 0.02170 seconds