-
Notifications
You must be signed in to change notification settings - Fork 51
Open
Description
To reproduce shutdown Eclipse Platform before background startup completes. The error is intermittent.
Discovered by a test, that restarts the application immediately after workbench startup. Failed RCPTT build.
!ENTRY org.eclipse.osgi 2 0 2025-08-29 22:25:33.380
!MESSAGE While loading class "org.eclipse.equinox.internal.p2.ui.ValidationDialogServiceUI", thread "Thread[#41,Worker-2: Deferred Early Start,5,main]" timed out waiting (30063ms) for thread "Thread[#67,Framework stop - Equinox Container: cf03d63d-e8f0-4178-8c00-4a17b155f4c7,6,main]" to finish starting bundle "org.eclipse.equinox.p2.ui_2.8.300.v20240207-1113 [241]". To avoid deadlock, thread "Thread[#41,Worker-2: Deferred Early Start,5,main]" is proceeding but "org.eclipse.equinox.internal.p2.ui.ValidationDialogServiceUI" may not be fully initialized.
!STACK 0
org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="2.8.300.v20240207-1113"; osgi.identity="org.eclipse.equinox.p2.ui"; singleton:="true" [id=241] STARTED [STOPPED]
at org.eclipse.osgi.container.Module.lockStateChange(Module.java:373)
at org.eclipse.osgi.container.Module.start(Module.java:447)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)
at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:348)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:414)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:520)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at org.eclipse.equinox.internal.p2.ui.ServiceUIComponent.createService(ServiceUIComponent.java:28)
at org.eclipse.equinox.internal.p2.core.ProvisioningAgent.getService(ProvisioningAgent.java:74)
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.<clinit>(SetupCoreUtil.java:159)
at org.eclipse.oomph.setup.ui.recorder.RecorderManager.<clinit>(RecorderManager.java:121)
at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:218)
at org.eclipse.oomph.setup.ui.EarlyStartup.earlyStartup(EarlyStartup.java:23)
at org.eclipse.oomph.internal.ui.EarlyStart.run(EarlyStart.java:119)
at org.eclipse.oomph.internal.ui.EarlyStart$1.run(EarlyStart.java:98)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 30 seconds to acquire the lock.
at org.eclipse.osgi.container.Module.lockStateChange(Module.java:368)
... 19 more
Caused by: org.eclipse.osgi.framework.util.ThreadInfoReport: Thread dump
ThreadId: 41 ThreadName: Worker-2: Deferred Early Start ThreadState: RUNNABLE
Blocked On: org.eclipse.osgi.internal.container.EquinoxReentrantLock@2d421b29[Locked by thread Framework stop - Equinox Container: cf03d63d-e8f0-4178-8c00-4a17b155f4c7]
Synchronizers Locked: none
Monitors Locked:
java.util.Collections$SynchronizedMap@3a6ad9cd
Stack Trace:
[email protected]/sun.management.ThreadImpl.dumpThreads0(Native Method)
[email protected]/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:518)
[email protected]/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:506)
org.eclipse.osgi.framework.util.ThreadInfoReport.getThreadDump(ThreadInfoReport.java:30)
org.eclipse.osgi.framework.util.ThreadInfoReport.<init>(ThreadInfoReport.java:23)
org.eclipse.osgi.container.Module.lockStateChange(Module.java:370)
org.eclipse.osgi.container.Module.start(Module.java:447)
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)
org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)
org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:348)
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:414)
org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:520)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)
org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)
[email protected]/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
org.eclipse.equinox.internal.p2.ui.ServiceUIComponent.createService(ServiceUIComponent.java:28)
org.eclipse.equinox.internal.p2.core.ProvisioningAgent.getService(ProvisioningAgent.java:74)
org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil.<clinit>(SetupCoreUtil.java:159)
org.eclipse.oomph.setup.ui.recorder.RecorderManager.<clinit>(RecorderManager.java:121)
org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:218)
org.eclipse.oomph.setup.ui.EarlyStartup.earlyStartup(EarlyStartup.java:23)
org.eclipse.oomph.internal.ui.EarlyStart.run(EarlyStart.java:119)
org.eclipse.oomph.internal.ui.EarlyStart$1.run(EarlyStart.java:98)
org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
ThreadId: 67 ThreadName: Framework stop - Equinox Container: cf03d63d-e8f0-4178-8c00-4a17b155f4c7 ThreadState: BLOCKED
Blocked On: java.util.Collections$SynchronizedMap@3a6ad9cd LockOwnerId: 41 LockOwnerName: Worker-2: Deferred Early Start
Synchronizers Locked:
java.util.concurrent.locks.ReentrantLock$NonfairSync@1091f5bf
java.util.concurrent.locks.ReentrantLock$NonfairSync@48d78960
java.util.concurrent.locks.ReentrantLock$NonfairSync@45a3780e
Monitors Locked:
java.lang.Object@33f8177
Stack Trace:
[email protected]/java.util.Collections$SynchronizedMap.get(Collections.java:2892)
org.eclipse.equinox.internal.p2.core.ProvisioningAgent.removedService(ProvisioningAgent.java:177)
org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:973)
org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1)
org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:342)
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:915)
org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:133)
org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:985)
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:956)
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:890)
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:245)
org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:952)
org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:915)
org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:140)
org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterService(AbstractComponentManager.java:994)
org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:844)
org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:825)
org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:589)
org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.disposeComponents(ConfigurableComponentHolder.java:722)
org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:492)
org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:672)
org.apache.felix.scr.impl.Activator.access$300(Activator.java:75)
org.apache.felix.scr.impl.Activator$ScrExtension.destroy(Activator.java:510)
org.apache.felix.scr.impl.AbstractExtender$1.run(AbstractExtender.java:216)
[email protected]/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
[email protected]/java.util.concurrent.FutureTask.run(FutureTask.java:317)
org.apache.felix.scr.impl.AbstractExtender.destroyExtension(AbstractExtender.java:238)
org.apache.felix.scr.impl.AbstractExtender.bundleChanged(AbstractExtender.java:132)
org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:256)
org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:972)
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:235)
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:134)
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:126)
org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:229)
org.eclipse.osgi.container.Module.publishEvent(Module.java:531)
org.eclipse.osgi.container.Module.doStop(Module.java:693)
org.eclipse.osgi.container.Module.stop(Module.java:554)
org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:2115)
org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1985)
org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:281)
org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:222)
org.eclipse.osgi.container.Module.doStop(Module.java:695)
org.eclipse.osgi.container.Module.stop(Module.java:554)
org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:212)
org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:240)
[email protected]/java.lang.Thread.runWith(Thread.java:1596)
[email protected]/java.lang.Thread.run(Thread.java:1583)
Metadata
Metadata
Assignees
Labels
No labels