Description
I'm developing an RCP application based on Eclipse 4.31 and Java 17. While the product builds, packages, and runs smoothly overall, I'm encountering an issue when installing update-site zips.
Error notifying registry change listener.
Error notifying registry change listener.
BundleContext is no longer valid org.eclipse.e4.ui.workbench_1.15.300.v20240124-0948 [1502]
and
An internal error occurred during: "Workbench Auto-Save Background Job".
org/eclipse/emf/ecore/resource/Resource
When attempting to install update-site zips, the process eventually triggers the "Restart Workbench" dialog as expected. However, upon confirming the restart, nothing happens. I have to manually close and relaunch the application. After restarting, the updates appear to have been successfully installed, but the restart mechanism itself seems unresponsive.
I thought it was related to this issue - #512, so I applied a patch to my product to incorporate the changes used to fix it. That did not make a difference.
Other things I've tried... In my Available Software Sites, I have the following:
I tried removing all of those update-sites, save for the file / zip I'm trying to install. No difference there. And for some reason WWD and other update-sites are being contacted. I do have WWD and other Eclipse Projects as part of my offering, but as you can see, those update-sites are not available or present in the Preferences. And the update-site I want to install does not contain any nested update-sites.
Interestingly enough, the only thing that did work is if "Contact all update sites..." is unchecked.
A lot of things are logged, so it's hard to tell what's really relevant, but the things that stick out to me are:
!MESSAGE UI thread waiting on a job or lock.
!STACK 0
java.lang.IllegalStateException: Call stack for thread main
at java.base/sun.nio.fs.WindowsNativeDispatcher.GetFileAttributesEx0(Native Method)
at java.base/sun.nio.fs.WindowsNativeDispatcher.GetFileAttributesEx(WindowsNativeDispatcher.java:390)
at java.base/sun.nio.fs.WindowsFileAttributes.get(WindowsFileAttributes.java:307)
at java.base/sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:251)
at java.base/sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:110)
at java.base/java.nio.file.Files.deleteIfExists(Files.java:1191)
!ENTRY org.eclipse.e4.core.di 4 0 2024-09-27 19:18:01.695
!MESSAGE Unable to process "Processor.partService": no actual value was found for the argument "EPartService".
!ENTRY org.eclipse.e4.core.di 4 0 2024-09-27 19:18:01.696
!MESSAGE Unable to process "SplitterAddon.ps": no actual value was found for the argument "EPartService".
!ENTRY org.eclipse.e4.core.di 4 0 2024-09-27 19:18:01.697
!MESSAGE Unable to process "TrimStack.partService": no actual value was found for the argument "EPartService".
!ENTRY org.eclipse.e4.ui.workbench 4 0 2024-09-27 19:18:01.698
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:4922)
at org.eclipse.swt.SWT.error(SWT.java:4837)
at org.eclipse.swt.SWT.error(SWT.java:4808)
at org.eclipse.swt.widgets.Widget.error(Widget.java:450)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:370)
at org.eclipse.swt.widgets.Shell.setModified(Shell.java:1871)
at org.eclipse.ui.internal.handlers.SaveHandler.evaluate(SaveHandler.java:105)
at org.eclipse.ui.internal.handlers.AbstractSaveHandler$1.evaluate(AbstractSaveHandler.java:54)
at org.eclipse.ui.internal.services.EvaluationReference.evaluate(EvaluationReference.java:76)
at org.eclipse.ui.internal.services.EvaluationReference.evaluate(EvaluationReference.java:106)
at org.eclipse.ui.internal.services.EvaluationReference.changed(EvaluationReference.java:100)
at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:105)
at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:358)
at org.eclipse.e4.core.internal.contexts.EclipseContext.remove(EclipseContext.java:332)
at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.serviceChanged(EclipseContextOSGi.java:129)
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:133)
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:985)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:956)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:890)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:245)
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:952)
!ENTRY org.eclipse.ui 4 0 2024-09-27 19:18:01.932
!MESSAGE Unhandled event loop exception
!STACK 0
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.getAttribute(ConfigurationElementHandle.java:38)
at org.eclipse.ui.internal.services.RegistryPersistence.readRequired(RegistryPersistence.java:428)
at org.eclipse.ui.internal.services.RegistryPersistence.readRequired(RegistryPersistence.java:407)
at org.eclipse.ui.internal.menus.LegacyActionPersistence.readEditorContributions(LegacyActionPersistence.java:574)
at org.eclipse.ui.internal.menus.LegacyActionPersistence.read(LegacyActionPersistence.java:426)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4047)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3663)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
!ENTRY org.eclipse.e4.ui.workbench.renderers.swt 4 2 2024-09-27 19:18:02.049
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.e4.ui.workbench.renderers.swt".
!STACK 0
org.eclipse.e4.core.di.InjectionException: org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:68)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:298)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:232)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:174)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.setEnabled(HandlerServiceHandler.java:91)
at org.eclipse.core.commands.Command.setEnabled(Command.java:856)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:170)
...
Caused by: 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)
!ENTRY org.eclipse.e4.ui.workbench 4 0 2024-09-27 19:18:02.050
!MESSAGE Internal error during tool item enablement updating, this is only logged once per tool item.
!STACK 0
org.eclipse.e4.core.di.InjectionException: org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:68)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:298)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:232)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:174)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.setEnabled(HandlerServiceHandler.java:91)
at org.eclipse.core.commands.Command.setEnabled(Command.java:856)
...
Caused by: 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.getContributor(ConfigurationElementHandle.java:162)