eclipse.platform icon indicating copy to clipboard operation
eclipse.platform copied to clipboard

Invalid registry object on workbench shutdown

Open Holzmacher opened this issue 1 year ago • 4 comments

I use eclipse rcp 4.33 (https://download.eclipse.org/eclipse/updates/4.33/). When i close the program i get the following error:

org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object at org.eclipse.core.internal.registry.RegistryObjectManager.basicGetObject(RegistryObjectManager.java:293) at org.eclipse.core.internal.registry.RegistryObjectManager.getObject(RegistryObjectManager.java:283) at org.eclipse.core.internal.registry.ConfigurationElementHandle.getConfigurationElement(ConfigurationElementHandle.java:29) at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:65) at org.eclipse.ui.internal.commands.CommandStateProxy.loadState(CommandStateProxy.java:177) at org.eclipse.ui.internal.commands.CommandStateProxy.loadState(CommandStateProxy.java:161) at org.eclipse.ui.internal.commands.CommandStateProxy.shouldPersist(CommandStateProxy.java:255) at org.eclipse.ui.internal.commands.CommandService.dispose(CommandService.java:142) at org.eclipse.ui.internal.services.ServiceLocator$3.run(ServiceLocator.java:180) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) at org.eclipse.ui.internal.services.ServiceLocator.disposeServices(ServiceLocator.java:177) at org.eclipse.ui.internal.services.ServiceLocator.dispose(ServiceLocator.java:150) at org.eclipse.ui.internal.Workbench.shutdown(Workbench.java:3040) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1141) at org.eclipse.ui.internal.Workbench.lambda$4(Workbench.java:1414) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1414) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1385) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1720) at org.eclipse.ui.internal.WorkbenchWindow.lambda$5(WorkbenchWindow.java:1747) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)

It looks like the error doesn't apear with all Eclipse RCP. But I haven't figured out why this happens in my application yet.

For me it seems there is something wrong with the order of dispose of shutdown. Maybe the registry object is disposed too fast.

Holzmacher avatar Sep 19 '24 08:09 Holzmacher

could you please contribute a fix?

jukzi avatar Sep 19 '24 09:09 jukzi

@Holzmacher , did you ever find a solution or work around? I'm seeing a similar issue and haven't been able to address it myself.

andrew-tram avatar Feb 21 '25 16:02 andrew-tram

@andrew-tram No. Found no solution or workaround.

Holzmacher avatar Feb 24 '25 10:02 Holzmacher

@Holzmacher , I have a discussion ticket for Equinox here - https://github.com/eclipse-equinox/p2/discussions/690

Though not exactly your case as you were seeing issues on 4.33, while I did not, I think some of the information in there may be relevant to finding some fix for this.

andrew-tram avatar Feb 27 '25 07:02 andrew-tram