Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JDT calls PDE Classpath on startup with open Editor hindering the UI to show up #1481

Open
jukzi opened this issue Nov 18, 2024 · 9 comments · May be fixed by #1525
Open

JDT calls PDE Classpath on startup with open Editor hindering the UI to show up #1481

jukzi opened this issue Nov 18, 2024 · 9 comments · May be fixed by #1525
Labels
bug Something isn't working

Comments

@jukzi
Copy link
Contributor

jukzi commented Nov 18, 2024

Sometimes Eclipse does not start, but hangs at splash screen:
image

I am not sure it a real deadlock, but after an hour i stopped waiting.
I am not sure its a PDE problem either, but it feels like it has todo with lock 0x0000000705322ce8 (PluginModelManager.isInitialized) in this example thread dump, but also that org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.waitOnSelf in the dump looks odd (what is it waiting for?):

2024-11-18 14:16:07
Full thread dump OpenJDK 64-Bit Server VM (21.0.2+13-LTS mixed mode, sharing):

Threads class SMR info:
_java_thread_list=0x0000024465f866c0, length=34, elements={
0x000002447f2af5f0, 0x000002441ecbc660, 0x000002441ecbd0c0, 0x000002441ecc0a70,
0x000002441ecc1750, 0x000002441eccd110, 0x000002441ecd1070, 0x000002441ecd25a0,
0x000002441ecd7a00, 0x000002441edf5360, 0x000002441ef1ed80, 0x0000024465fc1fc0,
0x00000244660a2920, 0x000002446605dc40, 0x0000024466cc3290, 0x00000244671a40e0,
0x0000024468ce0900, 0x0000024466cfb2f0, 0x00000244678d2b70, 0x00000244678d24e0,
0x00000244678d3200, 0x00000244678d45b0, 0x00000244699edb20, 0x000002446a2250a0,
0x000002446706dd30, 0x00000244660e11c0, 0x00000244660e0b30, 0x000002446706e3c0,
0x000002446a2222b0, 0x00000244679772c0, 0x00000244699f3070, 0x00000244699ec770,
0x000002446a3fe2e0, 0x000002446a476420
}

"main" #1 [29296] prio=6 os_prio=0 cpu=3124906.25ms elapsed=3449.54s tid=0x000002447f2af5f0 nid=29296 runnable  [0x000000d673da8000]
   java.lang.Thread.State: RUNNABLE
        at org.eclipse.core.internal.jobs.InternalJob.join(InternalJob.java:355)
        at org.eclipse.core.runtime.jobs.Job.join(Job.java:531)
        at org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.waitOnSelf(FileInfoReader.java:73)
        at org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.getRemoteFiles(FileInfoReader.java:109)
        at org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.getRemoteFile(FileInfoReader.java:124)
        at org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.getLastModified(FileInfoReader.java:129)
        at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.getLastModified(RepositoryTransport.java:275)
        at org.eclipse.equinox.internal.p2.repository.CacheManager.getLastModified(CacheManager.java:278)
        at org.eclipse.equinox.internal.p2.repository.CacheManager.createCache(CacheManager.java:195)
        at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.getLocalFile(SimpleMetadataRepositoryFactory.java:69)
        at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:89)
        at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
        at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:799)
        at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:697)
        at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
        at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
        at org.eclipse.pde.internal.core.target.P2TargetUtils.getQueryableMetadata(P2TargetUtils.java:1007)
        at org.eclipse.pde.internal.core.target.IUBundleContainer.getRootIUs(IUBundleContainer.java:769)
        at org.eclipse.pde.internal.core.target.P2TargetUtils.getRootIUs(P2TargetUtils.java:1540)
        at org.eclipse.pde.internal.core.target.P2TargetUtils.resolveWithSlicer(P2TargetUtils.java:1292)
        at org.eclipse.pde.internal.core.target.P2TargetUtils.synchronize(P2TargetUtils.java:839)
        - locked <0x0000000704434858> (a org.eclipse.pde.internal.core.target.P2TargetUtils)
        at org.eclipse.pde.internal.core.target.TargetDefinition.lambda$3(TargetDefinition.java:402)
        at org.eclipse.pde.internal.core.target.TargetDefinition$$Lambda/0x0000024420a18fb8.accept(Unknown Source)
        at java.util.HashMap.forEach([email protected]/HashMap.java:1429)
        at org.eclipse.pde.internal.core.target.TargetDefinition.resolve(TargetDefinition.java:399)
        at org.eclipse.oomph.targlets.internal.core.TargletContainer$ComposedTargetContent.resolve(TargletContainer.java:1394)
        at org.eclipse.oomph.targlets.internal.core.TargletContainer.generateUnits(TargletContainer.java:688)
        at org.eclipse.oomph.targlets.internal.core.TargletContainer.resolveUnits(TargletContainer.java:651)
        at org.eclipse.oomph.targlets.internal.core.TargletContainer.resolveBundles(TargletContainer.java:597)
        at org.eclipse.pde.internal.core.target.AbstractBundleContainer.resolve(AbstractBundleContainer.java:97)
        at org.eclipse.pde.internal.core.target.TargetDefinition.resolve(TargetDefinition.java:386)
        at org.eclipse.pde.internal.core.TargetPlatformHelper.getWorkspaceTargetResolved(TargetPlatformHelper.java:565)
        at org.eclipse.pde.internal.core.PluginModelManager.getExternalBundles(PluginModelManager.java:644)
        at org.eclipse.pde.internal.core.PluginModelManager.initializeTable(PluginModelManager.java:567)
        at org.eclipse.pde.internal.core.PluginModelManager.findModel(PluginModelManager.java:1032)
        - locked <0x0000000705322ce8> (a java.lang.Object)
        at org.eclipse.pde.internal.core.RequiredPluginsInitializer.initialize(RequiredPluginsInitializer.java:50)
        at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3209)
        at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2136)
        at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3970)
        at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3127)
        at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3291)
        at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2405)
        at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:488)
        at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:246)
        at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:508)
        at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:228)
        at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:569)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:292)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:278)
        at org.eclipse.jdt.internal.core.PackageFragmentRoot.getKind(PackageFragmentRoot.java:539)
        at org.eclipse.jdt.internal.core.PackageFragment.getKind(PackageFragment.java:367)
        at org.eclipse.jdt.internal.core.PackageFragment.validateExistence(PackageFragment.java:596)
        at org.eclipse.jdt.internal.core.Openable.exists(Openable.java:212)
        at org.eclipse.jdt.internal.core.PackageFragment.exists(PackageFragment.java:189)
        at org.eclipse.jdt.ui.StandardJavaElementContentProvider.exists(StandardJavaElementContentProvider.java:509)
        at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getParent(StandardJavaElementContentProvider.java:246)
        at org.eclipse.jdt.internal.ui.javaeditor.JavaEditorBreadcrumb$JavaEditorBreadcrumbContentProvider.getParent(JavaEditorBreadcrumb.java:354)
        at org.eclipse.jdt.internal.ui.javaeditor.breadcrumb.BreadcrumbViewer.buildItemChain(BreadcrumbViewer.java:571)
        at org.eclipse.jdt.internal.ui.javaeditor.breadcrumb.BreadcrumbViewer.buildItemChain(BreadcrumbViewer.java:573)
        at org.eclipse.jdt.internal.ui.javaeditor.breadcrumb.BreadcrumbViewer.inputChanged(BreadcrumbViewer.java:275)
        at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:282)
        at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1636)
        at org.eclipse.jdt.internal.ui.javaeditor.breadcrumb.EditorBreadcrumb.setInput(EditorBreadcrumb.java:168)
        at org.eclipse.jdt.internal.ui.javaeditor.JavaEditorBreadcrumb.setInput(JavaEditorBreadcrumb.java:797)
        at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.setBreadcrumbInput(JavaEditor.java:2007)
        at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.showBreadcrumb(JavaEditor.java:1981)
        at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.createPartControl(JavaEditor.java:3119)
        at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.createPartControl(CompilationUnitEditor.java:1526)
        at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:158)
        at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:96)
        at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:365)
        at java.lang.invoke.LambdaForm$DMH/0x0000024420001400.invokeVirtual([email protected]/LambdaForm$DMH)
        at java.lang.invoke.LambdaForm$MH/0x00000244200b8400.invoke([email protected]/LambdaForm$MH)
        at java.lang.invoke.Invokers$Holder.invokeExact_MT([email protected]/Invokers$Holder)
        at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:153)
        at jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
        at java.lang.reflect.Method.invoke([email protected]/Method.java:580)
        at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
        at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:977)
        at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:939)
        at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)
        at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)
        at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:312)
        at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:203)
        at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:90)
        at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:59)
        at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
        at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:134)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
        at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1389)
        at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:114)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
        at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.run(PartRenderingEngine.java:543)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:527)
        at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:73)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
        at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
        at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:147)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
        at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
        at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:147)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
        at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
        at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:48)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
        at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:79)
        at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:114)
        at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.postProcess(PerspectiveStackRenderer.java:61)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
        at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
        at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:147)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
        at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
        at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:662)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1079)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:663)
        at org.eclipse.ui.internal.Workbench$$Lambda/0x000002442023dc50.run(Unknown Source)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:570)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:178)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
        at java.lang.invoke.DirectMethodHandle$Holder.invokeStatic([email protected]/DirectMethodHandle$Holder)
        at java.lang.invoke.LambdaForm$MH/0x0000024420007800.invoke([email protected]/LambdaForm$MH)
        at java.lang.invoke.LambdaForm$MH/0x0000024420007c00.invokeExact_MT([email protected]/LambdaForm$MH)
        at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:155)
        at jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
        at java.lang.reflect.Method.invoke([email protected]/Method.java:580)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1481)

   Locked ownable synchronizers:
        - None

"Reference Handler" #9 [21712] daemon prio=10 os_prio=2 cpu=0.00ms elapsed=3449.51s tid=0x000002441ecbc660 nid=21712 waiting on condition  [0x000000d6748ff000]
   java.lang.Thread.State: RUNNABLE
        at java.lang.ref.Reference.waitForReferencePendingList([email protected]/Native Method)
        at java.lang.ref.Reference.processPendingReferences([email protected]/Reference.java:246)
        at java.lang.ref.Reference$ReferenceHandler.run([email protected]/Reference.java:208)

   Locked ownable synchronizers:
        - None

"Finalizer" #10 [29976] daemon prio=8 os_prio=1 cpu=0.00ms elapsed=3449.51s tid=0x000002441ecbd0c0 nid=29976 in Object.wait()  [0x000000d6749fe000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at java.lang.Object.wait([email protected]/Object.java:339)
        at java.lang.ref.NativeReferenceQueue.await([email protected]/NativeReferenceQueue.java:48)
        at java.lang.ref.ReferenceQueue.remove0([email protected]/ReferenceQueue.java:158)
        at java.lang.ref.NativeReferenceQueue.remove([email protected]/NativeReferenceQueue.java:89)
        - locked <0x00000007000828e8> (a java.lang.ref.NativeReferenceQueue$Lock)
        at java.lang.ref.Finalizer$FinalizerThread.run([email protected]/Finalizer.java:173)

   Locked ownable synchronizers:
        - None

"Signal Dispatcher" #11 [31000] daemon prio=9 os_prio=2 cpu=0.00ms elapsed=3449.51s tid=0x000002441ecc0a70 nid=31000 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"Attach Listener" #12 [10688] daemon prio=5 os_prio=2 cpu=421.88ms elapsed=3449.51s tid=0x000002441ecc1750 nid=10688 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"Service Thread" #13 [25308] daemon prio=9 os_prio=0 cpu=0.00ms elapsed=3449.51s tid=0x000002441eccd110 nid=25308 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"Monitor Deflation Thread" #14 [19144] daemon prio=9 os_prio=0 cpu=15.62ms elapsed=3449.51s tid=0x000002441ecd1070 nid=19144 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"C2 CompilerThread0" #15 [14692] daemon prio=9 os_prio=2 cpu=11890.62ms elapsed=3449.51s tid=0x000002441ecd25a0 nid=14692 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

   Locked ownable synchronizers:
        - None

"C1 CompilerThread0" #18 [1708] daemon prio=9 os_prio=2 cpu=3921.88ms elapsed=3449.51s tid=0x000002441ecd7a00 nid=1708 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

   Locked ownable synchronizers:
        - None

"Common-Cleaner" #19 [17424] daemon prio=8 os_prio=1 cpu=0.00ms elapsed=3449.49s tid=0x000002441edf5360 nid=17424 waiting on condition  [0x000000d6750ff000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
        - parking to wait for  <0x0000000700084a00> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:269)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:1847)
        at java.lang.ref.ReferenceQueue.await([email protected]/ReferenceQueue.java:71)
        at java.lang.ref.ReferenceQueue.remove0([email protected]/ReferenceQueue.java:143)
        at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:218)
        at jdk.internal.ref.CleanerImpl.run([email protected]/CleanerImpl.java:140)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)
        at jdk.internal.misc.InnocuousThread.run([email protected]/InnocuousThread.java:186)

   Locked ownable synchronizers:
        - None

"Notification Thread" #20 [30076] daemon prio=9 os_prio=0 cpu=0.00ms elapsed=3449.48s tid=0x000002441ef1ed80 nid=30076 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"Active Thread: Equinox Container: 589bc358-ee27-483d-b1ec-174c15e68c32" #22 [31128] prio=5 os_prio=0 cpu=156.25ms elapsed=3448.97s tid=0x0000024465fc1fc0 nid=31128 waiting on condition  [0x000000d6754fe000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
        - parking to wait for  <0x00000007000851b8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:269)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos([email protected]/AbstractQueuedSynchronizer.java:1758)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:1182)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:899)
        at java.util.concurrent.ThreadPoolExecutor.getTask([email protected]/ThreadPoolExecutor.java:1070)
        at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1130)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:642)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - None

"Framework Event Dispatcher: Equinox Container: 589bc358-ee27-483d-b1ec-174c15e68c32" #33 [18308] daemon prio=5 os_prio=0 cpu=62.50ms elapsed=3448.84s tid=0x00000244660a2920 nid=18308 in Object.wait()  [0x000000d675eff000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at java.lang.Object.wait([email protected]/Object.java:339)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
        - locked <0x0000000704bf6280> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

   Locked ownable synchronizers:
        - None

"Start Level: Equinox Container: 589bc358-ee27-483d-b1ec-174c15e68c32" #34 [17020] daemon prio=5 os_prio=0 cpu=1484.38ms elapsed=3448.83s tid=0x000002446605dc40 nid=17020 in Object.wait()  [0x000000d675fff000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at java.lang.Object.wait([email protected]/Object.java:339)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
        - locked <0x0000000704bf5a70> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

   Locked ownable synchronizers:
        - None

"Bundle File Closer" #36 [23480] daemon prio=5 os_prio=0 cpu=46.88ms elapsed=3448.67s tid=0x0000024466cc3290 nid=23480 in Object.wait()  [0x000000d6760ff000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at java.lang.Object.wait([email protected]/Object.java:339)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
        - locked <0x0000000704bf6a90> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

   Locked ownable synchronizers:
        - None

"SCR Component Actor" #37 [17336] daemon prio=5 os_prio=0 cpu=0.00ms elapsed=3448.13s tid=0x00000244671a40e0 nid=17336 in Object.wait()  [0x000000d6761ff000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at java.lang.Object.wait([email protected]/Object.java:339)
        at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:83)
        - locked <0x0000000704bf7b28> (a java.util.LinkedList)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - None

"Worker-JM" #39 [20572] prio=5 os_prio=0 cpu=0.00ms elapsed=3447.74s tid=0x0000024468ce0900 nid=20572 in Object.wait()  [0x000000d6763ff000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:61)
        - locked <0x0000000704bf7320> (a java.util.ArrayList)

   Locked ownable synchronizers:
        - None

"EMF Reference Cleaner" #40 [27676] daemon prio=5 os_prio=0 cpu=0.00ms elapsed=3447.61s tid=0x0000024466cfb2f0 nid=27676 waiting on condition  [0x000000d6764fe000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
        - parking to wait for  <0x0000000704bf8338> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:371)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block([email protected]/AbstractQueuedSynchronizer.java:519)
        at java.util.concurrent.ForkJoinPool.unmanagedBlock([email protected]/ForkJoinPool.java:3780)
        at java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3725)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:1707)
        at java.lang.ref.ReferenceQueue.await([email protected]/ReferenceQueue.java:67)
        at java.lang.ref.ReferenceQueue.remove0([email protected]/ReferenceQueue.java:158)
        at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:234)
        at org.eclipse.emf.common.util.CommonUtil$1ReferenceClearingQueuePollingThread.run(CommonUtil.java:82)

   Locked ownable synchronizers:
        - None

"Gogo shell" #41 [13212] prio=5 os_prio=0 cpu=15.62ms elapsed=3447.32s tid=0x00000244678d2b70 nid=13212 waiting on condition  [0x000000d6765fe000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
        - parking to wait for  <0x0000000704bf6378> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:371)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block([email protected]/AbstractQueuedSynchronizer.java:519)
        at java.util.concurrent.ForkJoinPool.unmanagedBlock([email protected]/ForkJoinPool.java:3780)
        at java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3725)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:1707)
        at java.util.concurrent.LinkedBlockingQueue.take([email protected]/LinkedBlockingQueue.java:435)
        at java.util.concurrent.ThreadPoolExecutor.getTask([email protected]/ThreadPoolExecutor.java:1070)
        at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1130)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:642)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - None

"JNA Cleaner" #47 [15808] daemon prio=6 os_prio=0 cpu=0.00ms elapsed=3177.78s tid=0x00000244678d24e0 nid=15808 waiting on condition  [0x000000d6751fe000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
        - parking to wait for  <0x00000007051e15f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:269)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:1847)
        at java.lang.ref.ReferenceQueue.await([email protected]/ReferenceQueue.java:71)
        at java.lang.ref.ReferenceQueue.remove0([email protected]/ReferenceQueue.java:143)
        at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:218)
        at com.sun.jna.internal.Cleaner$CleanerThread.run(Cleaner.java:154)

   Locked ownable synchronizers:
        - None

"Worker-0" #48 [31020] prio=5 os_prio=0 cpu=0.00ms elapsed=3177.22s tid=0x00000244678d3200 nid=31020 in Object.wait()  [0x000000d6762ff000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
        - locked <0x0000000705323330> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:242)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

   Locked ownable synchronizers:
        - None

"Git Repository Closer" #49 [7340] daemon prio=6 os_prio=0 cpu=0.00ms elapsed=3176.88s tid=0x00000244678d45b0 nid=7340 waiting on condition  [0x000000d6766fe000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
        - parking to wait for  <0x000000070119e848> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:371)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block([email protected]/AbstractQueuedSynchronizer.java:519)
        at java.util.concurrent.ForkJoinPool.unmanagedBlock([email protected]/ForkJoinPool.java:3780)
        at java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3725)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:1707)
        at java.lang.ref.ReferenceQueue.await([email protected]/ReferenceQueue.java:67)
        at java.lang.ref.ReferenceQueue.remove0([email protected]/ReferenceQueue.java:158)
        at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:234)
        at org.eclipse.egit.core.RepositoryCache$Closer.run(RepositoryCache.java:453)

   Locked ownable synchronizers:
        - None

"Java indexing" #53 [23972] daemon prio=4 os_prio=-1 cpu=0.00ms elapsed=3173.19s tid=0x00000244699edb20 nid=23972 in Object.wait()  [0x000000d676cff000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at java.lang.Object.wait([email protected]/Object.java:339)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.indexerLoop(JobManager.java:502)
        - locked <0x0000000702a02340> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$$Lambda/0x0000024420772fc0.run(Unknown Source)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - None

"org.eclipse.jdt.internal.ui.text.JavaReconciler" #54 [1532] daemon prio=1 os_prio=-2 cpu=0.00ms elapsed=3172.44s tid=0x000002446a2250a0 nid=1532 waiting for monitor entry  [0x000000d676dfe000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.eclipse.pde.internal.core.PluginModelManager.isInitialized(PluginModelManager.java:488)
        - waiting to lock <0x0000000705322ce8> (a java.lang.Object)
        at org.eclipse.pde.internal.core.RequiredPluginsInitializer.initialize(RequiredPluginsInitializer.java:42)
        at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3209)
        at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2136)
        at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3970)
        at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3127)
        at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3291)
        at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2439)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.isTestSource(CompilationUnitProblemFinder.java:228)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:265)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:358)
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:243)
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:108)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:751)
        at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:816)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1419)
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:132)
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:94)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:91)
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:189)
        at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:125)
        at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:139)
        at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:100)
        at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:421)
        - locked <0x0000000705900928> (a java.lang.Object)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:177)

   Locked ownable synchronizers:
        - None

"Provisioning Event Dispatcher" #56 [19816] daemon prio=6 os_prio=0 cpu=0.00ms elapsed=3171.16s tid=0x000002446706dd30 nid=19816 in Object.wait()  [0x000000d676efe000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at java.lang.Object.wait([email protected]/Object.java:339)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
        - locked <0x0000000705324350> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

   Locked ownable synchronizers:
        - None

"Provisioning Event Dispatcher" #58 [28596] daemon prio=6 os_prio=0 cpu=0.00ms elapsed=3167.84s tid=0x00000244660e11c0 nid=28596 in Object.wait()  [0x000000d676aff000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at java.lang.Object.wait([email protected]/Object.java:339)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
        - locked <0x00000007085d84c0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

   Locked ownable synchronizers:
        - None

"HttpClient-1-SelectorManager" #59 [25416] daemon prio=6 os_prio=0 cpu=0.00ms elapsed=3167.62s tid=0x00000244660e0b30 nid=25416 runnable  [0x000000d6770fe000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WEPoll.wait([email protected]/Native Method)
        at sun.nio.ch.WEPollSelectorImpl.doSelect([email protected]/WEPollSelectorImpl.java:114)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect([email protected]/SelectorImpl.java:130)
        - locked <0x00000007085d92b0> (a sun.nio.ch.Util$2)
        - locked <0x00000007085d9250> (a sun.nio.ch.WEPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select([email protected]/SelectorImpl.java:142)
        at jdk.internal.net.http.HttpClientImpl$SelectorManager.run([email protected]/HttpClientImpl.java:1366)

   Locked ownable synchronizers:
        - None

"JFR Recorder Thread" #60 [32276] daemon prio=5 os_prio=0 cpu=0.00ms elapsed=148.47s tid=0x000002446706e3c0 nid=32276 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"JFR Periodic Tasks" #61 [30068] daemon prio=5 os_prio=0 cpu=0.00ms elapsed=148.22s tid=0x000002446a2222b0 nid=30068 in Object.wait()  [0x000000d6771ff000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at jdk.jfr.internal.PlatformRecorder.takeNap([email protected]/PlatformRecorder.java:559)
        - locked <0x0000000700587cd0> (a jdk.jfr.internal.JVM$ChunkRotationMonitor)
        at jdk.jfr.internal.PlatformRecorder.periodicTask([email protected]/PlatformRecorder.java:527)
        at jdk.jfr.internal.PlatformRecorder.lambda$startDiskMonitor$1([email protected]/PlatformRecorder.java:446)
        at jdk.jfr.internal.PlatformRecorder$$Lambda/0x0000024420ba88a0.run([email protected]/Unknown Source)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - None

"RMI TCP Accept-0" #63 [13268] daemon prio=5 os_prio=0 cpu=15.62ms elapsed=147.94s tid=0x00000244679772c0 nid=13268 runnable  [0x000000d6772fe000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.Net.accept([email protected]/Native Method)
        at sun.nio.ch.NioSocketImpl.accept([email protected]/NioSocketImpl.java:748)
        at java.net.ServerSocket.implAccept([email protected]/ServerSocket.java:698)
        at java.net.ServerSocket.platformImplAccept([email protected]/ServerSocket.java:663)
        at java.net.ServerSocket.implAccept([email protected]/ServerSocket.java:639)
        at java.net.ServerSocket.implAccept([email protected]/ServerSocket.java:585)
        at java.net.ServerSocket.accept([email protected]/ServerSocket.java:543)
        at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept([email protected]/LocalRMIServerSocketFactory.java:52)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop([email protected]/TCPTransport.java:424)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run([email protected]/TCPTransport.java:388)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - <0x00000007004b8e08> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"RMI Scheduler(0)" #65 [22880] daemon prio=5 os_prio=0 cpu=0.00ms elapsed=147.91s tid=0x00000244699f3070 nid=22880 waiting on condition  [0x000000d6774fe000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
        - parking to wait for  <0x0000000700498d18> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:269)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos([email protected]/AbstractQueuedSynchronizer.java:1758)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:1182)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:899)
        at java.util.concurrent.ThreadPoolExecutor.getTask([email protected]/ThreadPoolExecutor.java:1070)
        at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1130)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:642)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - None

"JMX server connection timeout 66" #66 [21624] daemon prio=5 os_prio=0 cpu=78.12ms elapsed=147.90s tid=0x00000244699ec770 nid=21624 in Object.wait()  [0x000000d6775ff000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait0([email protected]/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait([email protected]/Object.java:366)
        at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run([email protected]/ServerCommunicatorAdmin.java:171)
        - locked <0x00000007004964c8> (a [I)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - None

"RMI TCP Connection(2)-10.245.1.74" #67 [6184] daemon prio=5 os_prio=0 cpu=5125.00ms elapsed=146.83s tid=0x000002446a3fe2e0 nid=6184 runnable  [0x000000d6740fe000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.Net.poll([email protected]/Native Method)
        at sun.nio.ch.NioSocketImpl.park([email protected]/NioSocketImpl.java:191)
        at sun.nio.ch.NioSocketImpl.timedRead([email protected]/NioSocketImpl.java:280)
        at sun.nio.ch.NioSocketImpl.implRead([email protected]/NioSocketImpl.java:304)
        at sun.nio.ch.NioSocketImpl.read([email protected]/NioSocketImpl.java:346)
        at sun.nio.ch.NioSocketImpl$1.read([email protected]/NioSocketImpl.java:796)
        at java.net.Socket$SocketInputStream.read([email protected]/Socket.java:1099)
        at java.io.BufferedInputStream.fill([email protected]/BufferedInputStream.java:291)
        at java.io.BufferedInputStream.implRead([email protected]/BufferedInputStream.java:325)
        at java.io.BufferedInputStream.read([email protected]/BufferedInputStream.java:312)
        at java.io.FilterInputStream.read([email protected]/FilterInputStream.java:71)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages([email protected]/TCPTransport.java:580)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0([email protected]/TCPTransport.java:844)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0([email protected]/TCPTransport.java:721)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda/0x0000024420c2ceb0.run([email protected]/Unknown Source)
        at java.security.AccessController.executePrivileged([email protected]/AccessController.java:778)
        at java.security.AccessController.doPrivileged([email protected]/AccessController.java:400)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run([email protected]/TCPTransport.java:720)
        at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1144)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:642)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - <0x00000007004cc260> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
        - <0x0000000706c3c1d0> (a java.util.concurrent.ThreadPoolExecutor$Worker)
        - <0x0000000706c3e258> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"RMI TCP Connection(4)-10.245.1.74" #69 [8404] daemon prio=5 os_prio=0 cpu=3718.75ms elapsed=41.04s tid=0x000002446a476420 nid=8404 runnable  [0x000000d6753fe000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.Net.poll([email protected]/Native Method)
        at sun.nio.ch.NioSocketImpl.park([email protected]/NioSocketImpl.java:191)
        at sun.nio.ch.NioSocketImpl.timedRead([email protected]/NioSocketImpl.java:280)
        at sun.nio.ch.NioSocketImpl.implRead([email protected]/NioSocketImpl.java:304)
        at sun.nio.ch.NioSocketImpl.read([email protected]/NioSocketImpl.java:346)
        at sun.nio.ch.NioSocketImpl$1.read([email protected]/NioSocketImpl.java:796)
        at java.net.Socket$SocketInputStream.read([email protected]/Socket.java:1099)
        at java.io.BufferedInputStream.fill([email protected]/BufferedInputStream.java:291)
        at java.io.BufferedInputStream.implRead([email protected]/BufferedInputStream.java:325)
        at java.io.BufferedInputStream.read([email protected]/BufferedInputStream.java:312)
        at java.io.FilterInputStream.read([email protected]/FilterInputStream.java:71)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages([email protected]/TCPTransport.java:580)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0([email protected]/TCPTransport.java:844)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0([email protected]/TCPTransport.java:721)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda/0x0000024420c2ceb0.run([email protected]/Unknown Source)
        at java.security.AccessController.executePrivileged([email protected]/AccessController.java:778)
        at java.security.AccessController.doPrivileged([email protected]/AccessController.java:400)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run([email protected]/TCPTransport.java:720)
        at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1144)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:642)
        at java.lang.Thread.runWith([email protected]/Thread.java:1596)
        at java.lang.Thread.run([email protected]/Thread.java:1583)

   Locked ownable synchronizers:
        - <0x0000000706c61738> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
        - <0x0000000706cbacc8> (a java.util.concurrent.ThreadPoolExecutor$Worker)
        - <0x0000000706cbb310> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"VM Thread" os_prio=2 cpu=6781.25ms elapsed=3449.52s tid=0x000002441eca1aa0 nid=27408 runnable  

"GC Thread#0" os_prio=2 cpu=4765.62ms elapsed=3449.53s tid=0x000002447f30e460 nid=20784 runnable  

"GC Thread#1" os_prio=2 cpu=4828.12ms elapsed=3448.87s tid=0x000002446491aba0 nid=14896 runnable  

"GC Thread#2" os_prio=2 cpu=4703.12ms elapsed=3448.87s tid=0x00000244666c1e70 nid=23208 runnable  

"GC Thread#3" os_prio=2 cpu=4484.38ms elapsed=3448.87s tid=0x00000244666c2a20 nid=18440 runnable  

"GC Thread#4" os_prio=2 cpu=4953.12ms elapsed=3448.87s tid=0x000002446658f7b0 nid=26552 runnable  

"GC Thread#5" os_prio=2 cpu=4812.50ms elapsed=3448.87s tid=0x000002446658fb50 nid=19040 runnable  

"GC Thread#6" os_prio=2 cpu=4640.62ms elapsed=3448.87s tid=0x0000024466590700 nid=23376 runnable  

"GC Thread#7" os_prio=2 cpu=4875.00ms elapsed=3448.87s tid=0x0000024466590aa0 nid=18684 runnable  

"GC Thread#8" os_prio=2 cpu=4625.00ms elapsed=3448.87s tid=0x00000244660a07d0 nid=23936 runnable  

"GC Thread#9" os_prio=2 cpu=4500.00ms elapsed=3448.87s tid=0x00000244660a0b70 nid=28608 runnable  

"G1 Main Marker" os_prio=2 cpu=0.00ms elapsed=3449.53s tid=0x000002447f871670 nid=16304 runnable  

"G1 Conc#0" os_prio=2 cpu=6312.50ms elapsed=3449.53s tid=0x000002447f872170 nid=15012 runnable  

"G1 Conc#1" os_prio=2 cpu=6296.88ms elapsed=3447.30s tid=0x000002446658c960 nid=12980 runnable  

"G1 Conc#2" os_prio=2 cpu=6312.50ms elapsed=3447.30s tid=0x000002446658bae0 nid=21448 runnable  

"G1 Refine#0" os_prio=2 cpu=890.62ms elapsed=3449.53s tid=0x000002447fa57040 nid=28908 runnable  

"G1 Service" os_prio=2 cpu=218.75ms elapsed=3449.53s tid=0x000002447fa58870 nid=25336 runnable  

"VM Periodic Task Thread" os_prio=2 cpu=15.62ms elapsed=3449.52s tid=0x000002441ec865f0 nid=10892 waiting on condition  

JNI global refs: 170, weak refs: 45

@jukzi jukzi added the bug Something isn't working label Nov 18, 2024
@jukzi
Copy link
Contributor Author

jukzi commented Nov 18, 2024

maybe related to or duplicate of #1160

@jukzi
Copy link
Contributor Author

jukzi commented Nov 18, 2024

I also sampled the process a bit, snapshot:
eclipse.pde_1481.nps.zip
which does not look like a total deadlock, but like some infinite loop:
image

@jukzi
Copy link
Contributor Author

jukzi commented Nov 18, 2024

Maybe an infinite loop waiting for org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.barrier
waitOnSelf() does not synchronize the read on that while org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.handleRemoteFileEvent(IRemoteFileSystemEvent) does synchronize for write

@jukzi
Copy link
Contributor Author

jukzi commented Nov 18, 2024

created eclipse-equinox/p2#568

@jukzi jukzi closed this as completed Nov 18, 2024
@jukzi jukzi closed this as not planned Won't fix, can't repro, duplicate, stale Nov 18, 2024
@laeubi laeubi reopened this Dec 17, 2024
@laeubi
Copy link
Contributor

laeubi commented Dec 17, 2024

I have took a look into this and the case is actually (apart from deadlock or not) that the initialization of a Java editor calls into PDE that then resolves the target.

I have reproduced the case and it is very bad behavior because currently an open Java Editor means a lot of things are done before even the IDE ever opens:

  1. Start an Eclipse from the IDE
  2. Open a Java Source file
  3. Close the started Eclipse
  4. Put a break point in org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSetInput(IEditorInput)
  5. you see that no UI shows when you hit the breakpoint

Now many non trivial things happen the most "bad one" seem that we enter:

org.eclipse.jdt.internal.core.DeltaProcessor.fire(IJavaElementDelta, int)

what synchronously calls listeners that update the Package Explorer what calls

org.eclipse.jdt.internal.core.PackageFragmentRoot.getRawClasspathEntry()

that has this line

project.getResolvedClasspath(); // force the reverse rawEntry cache to be populated

that then triggers PDE target resolution in the UI thread and before the IDE has a chance to start!

I have opened:

@laeubi
Copy link
Contributor

laeubi commented Dec 17, 2024

If I disable all mentioned places my IDE starts up even if I put a breakpoint in org.eclipse.pde.internal.core.RequiredPluginsInitializer.initialize(IPath, IJavaProject) to simulate a very long (potentially forever) running operation. The IDE also feels to start faster, but I have not measured that in detail.

laeubi added a commit to laeubi/eclipse.pde that referenced this issue Dec 17, 2024
Currently there are some bad behaving UI components in the eclipse IDE
that trigger resolving of the classpath containers in the UI, this leads
to very bad startup performance and even deadlocks in startup.

This now detects the issue, logs a warning of the offending component
and defer the initialization of classpath to a background job, this
currently increase time from starting eclipse until UI is shown
noticeable.

Fix eclipse-pde#1481
laeubi added a commit to laeubi/eclipse.pde that referenced this issue Dec 17, 2024
Currently there are some bad behaving UI components in the eclipse IDE
that trigger resolving of the classpath containers in the UI, this leads
to very bad startup performance and even deadlocks in startup.

This now detects the issue, logs a warning of the offending component
and defer the initialization of classpath to a background job, this
currently increase time from starting eclipse until UI is shown
noticeable.

Fix eclipse-pde#1481
laeubi added a commit to laeubi/eclipse.pde that referenced this issue Dec 17, 2024
Currently there are some bad behaving UI components in the eclipse IDE
that trigger resolving of the classpath containers in the UI, this leads
to very bad startup performance and even deadlocks in startup.

This now detects the issue, logs a warning of the offending component
and defer the initialization of classpath to a background job, this
currently increase time from starting eclipse until UI is shown
noticeable.

Fix eclipse-pde#1481
@vogella
Copy link
Contributor

vogella commented Dec 17, 2024

The IDE also feels to start faster, but I have not measured that in detail.

An easy way to get the rough startup time is to start Eclipse with the -debug and -data flag, e.g. eclipse -data ~/workspace/test -debug You will see the total startup time in the console. To activate tracing for startup time by bundle you have to add two options to an .options file, see https://www.vogella.com/tutorials/EclipsePerformance/article.html#example-tracing-the-startup-time-of-plug-ins

@HannesWell
Copy link
Member

@jukzi would it be possible in JDT(-UI) to 'just' defer the heavy initialization done for an editor to a background thread, to solve this issue at it's root? See also my comment in #1525 (review).

@jukzi
Copy link
Contributor Author

jukzi commented Dec 18, 2024

@jukzi would it be possible in JDT(-UI) to 'just' defer the heavy initialization done for an editor to a background thread,

sure, just propose a solution for eclipse-jdt/eclipse.jdt.ui#1860

laeubi added a commit to laeubi/eclipse.pde that referenced this issue Dec 27, 2024
Currently there are some bad behaving UI components in the eclipse IDE
that trigger resolving of the classpath containers in the UI, this leads
to very bad startup performance and even deadlocks in startup.

This now detects the issue, logs a warning of the offending component
and defer the initialization of classpath to a background job, this
currently increase time from starting eclipse until UI is shown
noticeable.

Fix eclipse-pde#1481
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants