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

Deadlock when using JDK17 with maven java project #2676

Closed
mohnishkodnani opened this issue Sep 15, 2022 · 14 comments · Fixed by eclipse-jdtls/eclipse.jdt.ls#2256
Closed

Deadlock when using JDK17 with maven java project #2676

mohnishkodnani opened this issue Sep 15, 2022 · 14 comments · Fixed by eclipse-jdtls/eclipse.jdt.ls#2256
Assignees
Labels

Comments

@mohnishkodnani
Copy link

mohnishkodnani commented Sep 15, 2022

[provide a description of the issue]
Open a java project in visual studio code causes a deadlock where the java project import gets stuck.

Environment
  • Operating System: MAC OS Monterey, M1 chip.
  • JDK version: 17.0.3
  • Visual Studio Code version: 1.71.0
  • Java extension version: v1.10.2022082204
Steps To Reproduce
  1. Open up a java project in Visual Studio Code, it was too big, so JVM memory auto increased, then the jdt process was stuck

[Please attach a sample project reproducing the error]
Please attach logs

2022-09-14 17:31:46
Full thread dump OpenJDK 64-Bit Server VM (17.0.3+7-LTS mixed mode, sharing):

Threads class SMR info:
_java_thread_list=0x0000000100e068a0, length=30, elements={
0x0000000138808a00, 0x000000015900aa00, 0x000000015900b000, 0x000000013b808e00,
0x0000000158833400, 0x0000000158813a00, 0x0000000158814000, 0x0000000158814600,
0x000000013c009600, 0x000000015900b600, 0x0000000159014000, 0x0000000148866800,
0x000000013c80a600, 0x000000013c8f5400, 0x000000013c80b800, 0x000000013c8f4c00,
0x000000013b80fe00, 0x000000013c9d1c00, 0x000000015921a600, 0x00000001489b0400,
0x000000013c320c00, 0x0000000159030800, 0x000000014897a000, 0x0000000158a3e800,
0x000000013c249000, 0x00000001591a3c00, 0x000000014a818a00, 0x000000013b80f800,
0x000000013b9ff800, 0x000000014a819000
}

"main" #1 prio=5 os_prio=31 cpu=377.77ms elapsed=19.59s tid=0x0000000138808a00 nid=0x2603 in Object.wait()  [0x000000016f935000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x00000005037d3400> (a java.lang.Object)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.jdt.ls.core.internal.LanguageServer.start(LanguageServer.java:33)
	- locked <0x00000005037d3400> (a java.lang.Object)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.3/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.3/NativeMethodAccessorImpl.java:77)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.3/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@17.0.3/Method.java:568)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1440)

"Reference Handler" #2 daemon prio=10 os_prio=31 cpu=0.38ms elapsed=19.58s tid=0x000000015900aa00 nid=0x4403 waiting on condition  [0x000000017c78a000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.ref.Reference.waitForReferencePendingList(java.base@17.0.3/Native Method)
	at java.lang.ref.Reference.processPendingReferences(java.base@17.0.3/Reference.java:253)
	at java.lang.ref.Reference$ReferenceHandler.run(java.base@17.0.3/Reference.java:215)

"Finalizer" #3 daemon prio=8 os_prio=31 cpu=0.07ms elapsed=19.58s tid=0x000000015900b000 nid=0x4003 in Object.wait()  [0x000000017c996000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500800af8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.3/ReferenceQueue.java:155)
	- locked <0x0000000500800af8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.3/ReferenceQueue.java:176)
	at java.lang.ref.Finalizer$FinalizerThread.run(java.base@17.0.3/Finalizer.java:172)

"Signal Dispatcher" #4 daemon prio=9 os_prio=31 cpu=0.25ms elapsed=19.57s tid=0x000000013b808e00 nid=0x5803 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #5 daemon prio=9 os_prio=31 cpu=0.29ms elapsed=19.57s tid=0x0000000158833400 nid=0x5903 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Monitor Deflation Thread" #6 daemon prio=9 os_prio=31 cpu=0.39ms elapsed=19.57s tid=0x0000000158813a00 nid=0x5a03 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #7 daemon prio=9 os_prio=31 cpu=2082.46ms elapsed=19.57s tid=0x0000000158814000 nid=0xa203 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"C1 CompilerThread0" #10 daemon prio=9 os_prio=31 cpu=800.66ms elapsed=19.57s tid=0x0000000158814600 nid=0xa003 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"Sweeper thread" #11 daemon prio=9 os_prio=31 cpu=16.59ms elapsed=19.57s tid=0x000000013c009600 nid=0x5d03 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #12 daemon prio=8 os_prio=31 cpu=0.34ms elapsed=19.57s tid=0x000000015900b600 nid=0x5e03 in Object.wait()  [0x000000017d902000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500800d08> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.3/ReferenceQueue.java:155)
	- locked <0x0000000500800d08> (a java.lang.ref.ReferenceQueue$Lock)
	at jdk.internal.ref.CleanerImpl.run(java.base@17.0.3/CleanerImpl.java:140)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)
	at jdk.internal.misc.InnocuousThread.run(java.base@17.0.3/InnocuousThread.java:162)

"Notification Thread" #13 daemon prio=9 os_prio=31 cpu=0.05ms elapsed=19.52s tid=0x0000000159014000 nid=0x9d03 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Active Thread: Equinox Container: 1fd6fc5f-2b6b-4cb0-a021-08b50f137e0e" #15 prio=5 os_prio=31 cpu=1.06ms elapsed=19.32s tid=0x0000000148866800 nid=0x6303 waiting on condition  [0x000000017e33e000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.3/Native Method)
	- parking to wait for  <0x0000000500800ed0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.3/LockSupport.java:252)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base@17.0.3/AbstractQueuedSynchronizer.java:1672)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.3/ScheduledThreadPoolExecutor.java:1182)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.3/ScheduledThreadPoolExecutor.java:899)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.3/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.3/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.3/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"Refresh Thread: Equinox Container: 1fd6fc5f-2b6b-4cb0-a021-08b50f137e0e" #17 daemon prio=5 os_prio=31 cpu=10.98ms elapsed=19.27s tid=0x000000013c80a600 nid=0x9903 in Object.wait()  [0x000000017e54a000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x00000005008014a8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
	- locked <0x00000005008014a8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:341)

"Framework Event Dispatcher: Equinox Container: 1fd6fc5f-2b6b-4cb0-a021-08b50f137e0e" #18 daemon prio=5 os_prio=31 cpu=0.72ms elapsed=19.26s tid=0x000000013c8f5400 nid=0x6603 in Object.wait()  [0x000000017e756000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500801b18> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
	- locked <0x0000000500801b18> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:341)

"Start Level: Equinox Container: 1fd6fc5f-2b6b-4cb0-a021-08b50f137e0e" #19 daemon prio=5 os_prio=31 cpu=492.45ms elapsed=19.26s tid=0x000000013c80b800 nid=0x9703 in Object.wait()  [0x000000017e962000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x00000005008016a0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
	- locked <0x00000005008016a0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:341)

"SCR Component Actor" #20 daemon prio=5 os_prio=31 cpu=0.32ms elapsed=19.25s tid=0x000000013c8f4c00 nid=0x9603 in Object.wait()  [0x000000017eb6e000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x00000005008011b0> (a java.util.LinkedList)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:83)
	- locked <0x00000005008011b0> (a java.util.LinkedList)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"Bundle File Closer" #22 daemon prio=5 os_prio=31 cpu=2.84ms elapsed=19.13s tid=0x000000013b80fe00 nid=0x9403 in Object.wait()  [0x000000017ef86000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500802618> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
	- locked <0x0000000500802618> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:341)

"Worker-JM" #23 prio=5 os_prio=31 cpu=0.06ms elapsed=19.05s tid=0x000000013c9d1c00 nid=0x9303 in Object.wait()  [0x000000017f192000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500801a60> (a java.util.ArrayList)
	at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:61)
	- locked <0x0000000500801a60> (a java.util.ArrayList)

"Worker-0" #24 prio=5 os_prio=31 cpu=34.42ms elapsed=19.01s tid=0x000000015921a600 nid=0x6c03 in Object.wait()  [0x000000017f39e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500801260> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
	- locked <0x0000000500801260> (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)

"Worker-1: Initialize Workspace" #25 prio=5 os_prio=31 cpu=613.44ms elapsed=19.00s tid=0x00000001489b0400 nid=0x6e03 waiting for monitor entry  [0x000000017f5a9000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:302)
	- waiting to lock <0x00000005008051c0> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.createExecutionRequest(MavenExecutionContext.java:168)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.loadCoreExtensions(PlexusContainerManager.java:299)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.newPlexusContainer(PlexusContainerManager.java:198)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:165)
	- locked <0x0000000500807c28> (a java.util.HashMap)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.getComponentLookup(PlexusContainerManager.java:190)
	at org.eclipse.m2e.core.embedder.MavenModelManager.readMavenModel(MavenModelManager.java:120)
	at org.eclipse.m2e.core.project.LocalProjectScanner.readMavenProjectInfo(LocalProjectScanner.java:126)
	at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:95)
	at org.eclipse.m2e.core.project.LocalProjectScanner.run(LocalProjectScanner.java:66)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.getMavenProjects(MavenProjectImporter.java:302)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.collectMavenProjectInfo(MavenProjectImporter.java:148)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.getMavenProjectInfo(MavenProjectImporter.java:141)
	- locked <0x0000000503b65758> (a org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.importToWorkspace(MavenProjectImporter.java:164)
	at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:149)
	at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:111)
	at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:244)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

"Java indexing" #26 daemon prio=4 os_prio=31 cpu=2394.53ms elapsed=18.82s tid=0x000000013c320c00 nid=0x8c03 in Object.wait()  [0x00000002b0a36000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500811140> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:452)
	- locked <0x0000000500811140> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"pool-2-thread-1" #27 prio=5 os_prio=31 cpu=0.30ms elapsed=18.73s tid=0x0000000159030800 nid=0x7c03 waiting on condition  [0x00000002b0c42000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.3/Native Method)
	- parking to wait for  <0x0000000503800170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.3/LockSupport.java:252)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base@17.0.3/AbstractQueuedSynchronizer.java:1672)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.3/ScheduledThreadPoolExecutor.java:1182)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.3/ScheduledThreadPoolExecutor.java:899)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.3/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.3/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.3/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"pool-1-thread-1" #29 prio=5 os_prio=31 cpu=201.19ms elapsed=18.67s tid=0x000000014897a000 nid=0x7e03 waiting on condition  [0x00000002b0e4d000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(java.base@17.0.3/Native Method)
	at org.eclipse.jdt.ls.core.internal.JobHelpers.waitForJobs(JobHelpers.java:198)
	at org.eclipse.jdt.ls.core.internal.JobHelpers.waitForInitializeJobs(JobHelpers.java:177)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.initialized(JDTLanguageServer.java:261)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.3/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.3/NativeMethodAccessorImpl.java:77)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.3/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@17.0.3/Method.java:568)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint$$Lambda$172/0x0000000800ec5ad0.apply(Unknown Source)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187)
	at org.eclipse.jdt.ls.core.internal.ParentProcessWatcher.lambda$0(ParentProcessWatcher.java:130)
	at org.eclipse.jdt.ls.core.internal.ParentProcessWatcher$$Lambda$166/0x0000000800ebec60.consume(Unknown Source)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.util.concurrent.Executors$RunnableAdapter.call(java.base@17.0.3/Executors.java:539)
	at java.util.concurrent.FutureTask.run(java.base@17.0.3/FutureTask.java:264)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.3/ThreadPoolExecutor.java:1136)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.3/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"process reaper" #30 daemon prio=10 os_prio=31 cpu=0.37ms elapsed=18.61s tid=0x0000000158a3e800 nid=0x8a03 waiting on condition  [0x00000002b0e8e000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.3/Native Method)
	- parking to wait for  <0x0000000503d17d28> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.3/LockSupport.java:252)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(java.base@17.0.3/SynchronousQueue.java:401)
	at java.util.concurrent.SynchronousQueue.poll(java.base@17.0.3/SynchronousQueue.java:903)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.3/ThreadPoolExecutor.java:1061)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.3/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.3/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"Worker-2: Repository registry initialization" #35 prio=5 os_prio=31 cpu=6.38ms elapsed=18.55s tid=0x000000013c249000 nid=0x8607 waiting for monitor entry  [0x00000002b109a000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:145)
	- waiting to lock <0x0000000500807c28> (a java.util.HashMap)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getPlexusContainer(MavenImpl.java:978)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.lookup(MavenImpl.java:1029)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:327)
	- locked <0x00000005008051c0> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.repository.RepositoryRegistry.updateRegistry(RepositoryRegistry.java:229)
	at org.eclipse.m2e.core.internal.repository.RepositoryRegistryUpdateJob.run(RepositoryRegistryUpdateJob.java:50)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

"Worker-3: Updating Maven Dependencies" #36 prio=5 os_prio=31 cpu=14.90ms elapsed=18.55s tid=0x00000001591a3c00 nid=0x8307 waiting for monitor entry  [0x00000002b12a6000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:302)
	- waiting to lock <0x00000005008051c0> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.createExecutionRequest(MavenExecutionContext.java:168)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.newExecutionRequest(MavenExecutionContext.java:142)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:232)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:205)
	at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryRefreshJob.run(ProjectRegistryRefreshJob.java:104)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

"Worker-4" #37 prio=5 os_prio=31 cpu=1.59ms elapsed=16.96s tid=0x000000014a818a00 nid=0x5f07 in Object.wait()  [0x000000017db0e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500801260> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
	- locked <0x0000000500801260> (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)

"Worker-5" #38 prio=5 os_prio=31 cpu=0.99ms elapsed=16.95s tid=0x000000013b80f800 nid=0x9b07 in Object.wait()  [0x000000017e132000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500801260> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
	- locked <0x0000000500801260> (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)

"Worker-6" #39 prio=5 os_prio=31 cpu=1.75ms elapsed=16.95s tid=0x000000013b9ff800 nid=0xad03 in Object.wait()  [0x00000002ba302000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000500801260> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
	- locked <0x0000000500801260> (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)

"Attach Listener" #40 daemon prio=9 os_prio=31 cpu=0.99ms elapsed=0.11s tid=0x000000014a819000 nid=0xae13 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"VM Thread" os_prio=31 cpu=7.67ms elapsed=19.58s tid=0x0000000158626470 nid=0x3e03 runnable  

"GC Thread#0" os_prio=31 cpu=70.77ms elapsed=19.59s tid=0x0000000138613160 nid=0x3203 runnable  

"GC Thread#1" os_prio=31 cpu=67.58ms elapsed=18.83s tid=0x0000000106b839a0 nid=0x7003 runnable  

"GC Thread#2" os_prio=31 cpu=68.19ms elapsed=18.83s tid=0x000000012fe88c60 nid=0x7203 runnable  

"GC Thread#3" os_prio=31 cpu=66.70ms elapsed=18.83s tid=0x000000012fe89550 nid=0x7403 runnable  

"GC Thread#4" os_prio=31 cpu=66.24ms elapsed=18.83s tid=0x000000012fe89e90 nid=0x7603 runnable  

"GC Thread#5" os_prio=31 cpu=65.76ms elapsed=18.83s tid=0x0000000148690820 nid=0x9103 runnable  

"GC Thread#6" os_prio=31 cpu=66.13ms elapsed=18.83s tid=0x0000000148691040 nid=0x7803 runnable  

"GC Thread#7" os_prio=31 cpu=68.33ms elapsed=18.83s tid=0x0000000148691980 nid=0x9003 runnable  

"GC Thread#8" os_prio=31 cpu=69.14ms elapsed=18.83s tid=0x00000001486922c0 nid=0x8f03 runnable  

"G1 Main Marker" os_prio=31 cpu=0.20ms elapsed=19.59s tid=0x0000000138614020 nid=0x4f03 runnable  

"G1 Conc#0" os_prio=31 cpu=27.82ms elapsed=19.59s tid=0x0000000138614df0 nid=0x4e03 runnable  

"G1 Conc#1" os_prio=31 cpu=26.44ms elapsed=18.83s tid=0x0000000158779810 nid=0x8d03 runnable  

"G1 Refine#0" os_prio=31 cpu=24.54ms elapsed=19.58s tid=0x00000001386d3920 nid=0x3803 runnable  

"G1 Refine#1" os_prio=31 cpu=18.76ms elapsed=18.31s tid=0x0000000100e09db0 nid=0x8807 runnable  

"G1 Refine#2" os_prio=31 cpu=16.03ms elapsed=18.31s tid=0x0000000106809c60 nid=0x8503 runnable  

"G1 Refine#3" os_prio=31 cpu=15.85ms elapsed=18.31s tid=0x0000000100e0b5e0 nid=0x15303 runnable  

"G1 Refine#4" os_prio=31 cpu=16.09ms elapsed=18.31s tid=0x0000000100e0bf00 nid=0xac03 runnable  

"G1 Refine#5" os_prio=31 cpu=15.69ms elapsed=15.84s tid=0x00000001380245a0 nid=0x14d03 runnable  

"G1 Refine#6" os_prio=31 cpu=12.92ms elapsed=15.84s tid=0x00000001586eabd0 nid=0x14c03 runnable  

"G1 Refine#7" os_prio=31 cpu=16.19ms elapsed=15.84s tid=0x0000000106c832c0 nid=0x14b03 runnable  

"G1 Refine#8" os_prio=31 cpu=14.28ms elapsed=15.84s tid=0x0000000106c83680 nid=0x14803 runnable  

"G1 Service" os_prio=31 cpu=3.44ms elapsed=19.58s tid=0x0000000158617c90 nid=0x4b03 runnable  

"VM Periodic Task Thread" os_prio=31 cpu=7.96ms elapsed=19.52s tid=0x000000015872f420 nid=0x9c03 waiting on condition  

JNI global refs: 12, weak refs: 0


Found one Java-level deadlock:
=============================
"Worker-1: Initialize Workspace":
  waiting to lock monitor 0x000000013800a9f0 (object 0x00000005008051c0, a org.eclipse.m2e.core.internal.embedder.MavenImpl),
  which is held by "Worker-2: Repository registry initialization"

"Worker-2: Repository registry initialization":
  waiting to lock monitor 0x00000001586e3230 (object 0x0000000500807c28, a java.util.HashMap),
  which is held by "Worker-1: Initialize Workspace"

Java stack information for the threads listed above:
===================================================
"Worker-1: Initialize Workspace":
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:302)
	- waiting to lock <0x00000005008051c0> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.createExecutionRequest(MavenExecutionContext.java:168)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.loadCoreExtensions(PlexusContainerManager.java:299)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.newPlexusContainer(PlexusContainerManager.java:198)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:165)
	- locked <0x0000000500807c28> (a java.util.HashMap)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.getComponentLookup(PlexusContainerManager.java:190)
	at org.eclipse.m2e.core.embedder.MavenModelManager.readMavenModel(MavenModelManager.java:120)
	at org.eclipse.m2e.core.project.LocalProjectScanner.readMavenProjectInfo(LocalProjectScanner.java:126)
	at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:95)
	at org.eclipse.m2e.core.project.LocalProjectScanner.run(LocalProjectScanner.java:66)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.getMavenProjects(MavenProjectImporter.java:302)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.collectMavenProjectInfo(MavenProjectImporter.java:148)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.getMavenProjectInfo(MavenProjectImporter.java:141)
	- locked <0x0000000503b65758> (a org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.importToWorkspace(MavenProjectImporter.java:164)
	at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:149)
	at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:111)
	at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:244)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
"Worker-2: Repository registry initialization":
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:145)
	- waiting to lock <0x0000000500807c28> (a java.util.HashMap)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getPlexusContainer(MavenImpl.java:978)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.lookup(MavenImpl.java:1029)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:327)
	- locked <0x00000005008051c0> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.repository.RepositoryRegistry.updateRegistry(RepositoryRegistry.java:229)
	at org.eclipse.m2e.core.internal.repository.RepositoryRegistryUpdateJob.run(RepositoryRegistryUpdateJob.java:50)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Found 1 deadlock.
Current Result

Deadlock

Expected Result

Project loads up

Additional Informations

There are 2 jdt processes running when i check my system

  503 18314 18287   0  5:31PM ??         0:03.66 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -XX:+UseG1GC -Xmx12G -Xms8G -javaagent:/nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java/lombok/lombok-1.18.24.jar -jar /nix/store/y107ds1m5fd5l12x5r31sk7ih91wrpi0-vscode-extension-redhat-java-1.11.2022091404/share/vscode/extensions/redhat.java/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2022082204/config_ss_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/ss_ws
  503 18321 18287   0  5:31PM ??         0:13.93 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -XX:+UseG1GC -Xmx12G -Xms8G -javaagent:/nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java/lombok/lombok-1.18.24.jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java -jar /nix/store/y107ds1m5fd5l12x5r31sk7ih91wrpi0-vscode-extension-redhat-java-1.11.2022091404/share/vscode/extensions/redhat.java/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2022082204/config_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/jdt_ws```

I have tried the option to clean workspace and load , it does not help. 
I have tried to kill these processes and new processes start and get stuck immmediately. 
I have tried to delete the workspaceStorage under /Users/mkodnani/Library/Application\ Support/VSCodium/User/workspaceStorage/* but that does not help either. 

It gets stuck with this message 

083ced92 Initialize Workspace: 31% Refreshing '/jdt.ls-java-project'. [307/1000]
48dfea68 Refreshing Maven model: [0/-1]

Same percentage.. cannot get it the process to redo from 0%. 

Unfortunately, I cannot share the git repo that shows this issue. 


@snjeza
Copy link
Contributor

snjeza commented Sep 15, 2022

@mohnishkodnani
Copy link
Author

@snjeza It does seem to help a bit but i will test out more.. i do notice that whenever i call clean java server workspace, to try and get a clean compilation, the old processes are not cleaned up.

For example. now i have 4 processes since the morning.

❯ ps -ef | rg jdt
  503 18321     1   0  5:31PM ??         0:33.40 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -XX:+UseG1GC -Xmx12G -Xms8G -javaagent:/nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java/lombok/lombok-1.18.24.jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java -jar /nix/store/y107ds1m5fd5l12x5r31sk7ih91wrpi0-vscode-extension-redhat-java-1.11.2022091404/share/vscode/extensions/redhat.java/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2022082204/config_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/jdt_ws
  503 21811     1   0  9:17AM ??         0:39.60 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -XX:+UseG1GC -Xmx12G -Xms8G -javaagent:/nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java/lombok/lombok-1.18.24.jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java -jar /nix/store/y107ds1m5fd5l12x5r31sk7ih91wrpi0-vscode-extension-redhat-java-1.11.2022091404/share/vscode/extensions/redhat.java/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2022082204/config_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/jdt_ws
  503 23048     1   0  9:37AM ??         3:01.53 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -Xlog:jni+resolve=off -XX:+UseG1GC -Xmx12G -Xms8G -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java -jar /nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java-1.10.2/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2/config_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/jdt_ws
  503 23581 23571   0 10:30AM ??         0:11.68 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -Xlog:jni+resolve=off -XX:+UseG1GC -Xmx12G -Xms8G -jar /nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java-1.10.2/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2/config_ss_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/ss_ws
  503 23601 23571   0 10:30AM ??         2:42.17 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -Xlog:jni+resolve=off -XX:+UseG1GC -Xmx12G -Xms8G -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java -jar /nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java-1.10.2/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2/config_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/jdt_ws

@mohnishkodnani
Copy link
Author

It did seem to help initially, but after calling cleanup workspace and reload a bunch of times, its still stuck, but no deadlock in the jstack, just seems to hang now on these steps

01e90e6a Repository registry initialization [Done]
4293b4c0 Configuring java project SearchServiceTest: 64% Refreshing '/TestProject/src/main/java'. [641/1000]

@snjeza
Copy link
Contributor

snjeza commented Sep 15, 2022

It did seem to help initially, but after calling cleanup workspace and reload a bunch of times, its still stuck, but no deadlock in the jstack, just seems to hang now on these steps

@mohnishkodnani Could you provide the jstack?

For example. now i have 4 processes since the morning.

Could you show your log - Enable logging

@mohnishkodnani
Copy link
Author

!SESSION 2022-09-28 09:31:08.008 -----------------------------------------------
eclipse.buildId=unknown
java.version=17.0.3
java.vendor=Azul Systems, Inc.
BootLoader constants: OS=macosx, ARCH=aarch64, WS=cocoa, NL=en_US
Command-line arguments:  -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/jdt_ws

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:08.831
!MESSAGE class org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin is started

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:08.907
!MESSAGE Main thread is waiting

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:08.924
!MESSAGE >> initialize

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:08.926
!MESSAGE Initializing Java Language Server 1.15.0.202208220804

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.009
!MESSAGE Default VM Install changed from  null to 1664382669005-/nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.024
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.025
!MESSAGE Non-Static Commands: [java.edit.organizeImports, java.project.refreshDiagnostics, java.project.import, java.navigate.openTypeHierarchy, java.project.removeFromSourcePath, java.project.listSourcePaths, java.project.resolveStackTraceLocation, java.project.getAll, java.project.isTestFile, java.project.getClasspaths, java.navigate.resolveTypeHierarchy, java.edit.stringFormatting, java.project.getSettings, java.project.updateSourceAttachment, java.project.resolveWorkspaceSymbol, java.project.upgradeGradle, java.project.resolveSourceAttachment, java.project.addToSourcePath]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.025
!MESSAGE Static Commands: [sts.java.addClasspathListener, sts.java.removeClasspathListener]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.025
!MESSAGE Non-Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.025
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.025
!MESSAGE Non-Static Commands: [sts.java.javadoc]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.025
!MESSAGE Static Commands: [sts.java.type]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.026
!MESSAGE Non-Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.026
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.027
!MESSAGE Non-Static Commands: [sts.java.javadocHoverLink]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.027
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.027
!MESSAGE Non-Static Commands: [sts.java.location]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.028
!MESSAGE Static Commands: [sts.java.search.packages, sts.java.search.types]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.028
!MESSAGE Non-Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.028
!MESSAGE Static Commands: [sts.java.hierarchy.supertypes, sts.java.hierarchy.subtypes]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.028
!MESSAGE Non-Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.028
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.028
!MESSAGE Non-Static Commands: [sts.java.code.completions]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.029
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.029
!MESSAGE Non-Static Commands: [vscode.java.checkProjectSettings, vscode.java.isOnClasspath, vscode.java.fetchUsageData, vscode.java.validateLaunchConfig, vscode.java.resolveInlineVariables, vscode.java.resolveClassFilters, vscode.java.resolveMainMethod, vscode.java.resolveClasspath, vscode.java.resolveBuildFiles, vscode.java.resolveMainClass, vscode.java.updateDebugSettings, vscode.java.resolveSourceUri, vscode.java.fetchPlatformSettings, vscode.java.buildWorkspace, vscode.java.startDebugSession, vscode.java.inferLaunchCommandLength, vscode.java.resolveElementAtSelection, vscode.java.resolveJavaExecutable]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.029
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.029
!MESSAGE Non-Static Commands: [java.project.refreshLib, java.project.list, java.project.generateJar, java.project.getMainClasses, java.getPackageData, java.resolvePath]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.029
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.030
!MESSAGE Non-Static Commands: [vscode.java.test.findJavaProjects, vscode.java.test.findTestPackagesAndTypes, vscode.java.test.findTestTypesAndMethods, vscode.java.test.resolvePath, vscode.java.test.findTestLocation, vscode.java.test.get.testpath, vscode.java.test.findDirectTestChildrenForClass, vscode.java.test.navigateToTestOrTarget, vscode.java.test.junit.argument, vscode.java.test.generateTests]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.030
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.030
!MESSAGE Non-Static Commands: [java.maven.initializeSearcher, java.maven.searchArtifact, java.maven.addDependency, java.maven.controlContext]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.034
!MESSAGE Wait for AutoBuildOffJob start

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.047
!MESSAGE Wait for AutoBuildOffJob end 13ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.048
!MESSAGE Starting org.eclipse.m2e.core

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.048
!MESSAGE Started org.eclipse.m2e.core 1ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.048
!MESSAGE ProjectRegistryRefreshJob finished 0ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.049
!MESSAGE Starting org.eclipse.buildship.core

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.071
!MESSAGE Started org.eclipse.buildship.core 21ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.071
!MESSAGE LoadingGradleVersionJob finished 0ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.080
!MESSAGE Creating the Java project jdt.ls-java-project

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.088
!MESSAGE >> initialized

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.126
!MESSAGE Finished creating the Java project jdt.ls-java-project

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:09.565
!MESSAGE Importing Maven project(s)

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:14.203
!MESSAGE Parent process stopped running, forcing server exit

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:14.204
!MESSAGE Shutdown received... waking up main thread

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-09-28 09:31:14.207
!MESSAGE class org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin is stopping:

@mohnishkodnani
Copy link
Author

jstack of one of the jdt processes on the system.

❯ jstack 45813
2022-09-28 09:35:32
Full thread dump OpenJDK 64-Bit Server VM (17.0.3+7-LTS mixed mode, sharing):

Threads class SMR info:
_java_thread_list=0x000000010b00e2d0, length=27, elements={
0x0000000125008800, 0x0000000116033400, 0x0000000116035c00, 0x000000010a808200,
0x0000000116033a00, 0x0000000116036800, 0x000000010affea00, 0x0000000116035000,
0x0000000117029400, 0x000000012580e000, 0x0000000117020c00, 0x000000012501b000,
0x0000000116cd0800, 0x0000000115811e00, 0x0000000125015800, 0x0000000125022800,
0x000000011621fe00, 0x0000000125a2b800, 0x0000000116139200, 0x000000011619b000,
0x0000000125071400, 0x00000001251f7c00, 0x0000000117177a00, 0x000000014702c000,
0x0000000165912000, 0x0000000125076c00, 0x0000000166809800
}

"main" #1 prio=5 os_prio=31 cpu=417.30ms elapsed=264.70s tid=0x0000000125008800 nid=0x2703 in Object.wait()  [0x000000016b34d000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x000000040534a998> (a java.lang.Object)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.jdt.ls.core.internal.LanguageServer.start(LanguageServer.java:33)
	- locked <0x000000040534a998> (a java.lang.Object)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.3/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.3/NativeMethodAccessorImpl.java:77)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.3/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@17.0.3/Method.java:568)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1440)

"Reference Handler" #2 daemon prio=10 os_prio=31 cpu=0.43ms elapsed=264.69s tid=0x0000000116033400 nid=0x3c03 waiting on condition  [0x000000017c1a2000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.ref.Reference.waitForReferencePendingList(java.base@17.0.3/Native Method)
	at java.lang.ref.Reference.processPendingReferences(java.base@17.0.3/Reference.java:253)
	at java.lang.ref.Reference$ReferenceHandler.run(java.base@17.0.3/Reference.java:215)

"Finalizer" #3 daemon prio=8 os_prio=31 cpu=0.08ms elapsed=264.69s tid=0x0000000116035c00 nid=0x4003 in Object.wait()  [0x000000017c3ae000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x000000040541b138> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.3/ReferenceQueue.java:155)
	- locked <0x000000040541b138> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.3/ReferenceQueue.java:176)
	at java.lang.ref.Finalizer$FinalizerThread.run(java.base@17.0.3/Finalizer.java:172)

"Signal Dispatcher" #4 daemon prio=9 os_prio=31 cpu=0.23ms elapsed=264.69s tid=0x000000010a808200 nid=0x5903 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #5 daemon prio=9 os_prio=31 cpu=0.48ms elapsed=264.68s tid=0x0000000116033a00 nid=0x5a03 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Monitor Deflation Thread" #6 daemon prio=9 os_prio=31 cpu=4.51ms elapsed=264.68s tid=0x0000000116036800 nid=0xa403 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #7 daemon prio=9 os_prio=31 cpu=2533.51ms elapsed=264.68s tid=0x000000010affea00 nid=0xa303 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"C1 CompilerThread0" #10 daemon prio=9 os_prio=31 cpu=854.93ms elapsed=264.68s tid=0x0000000116035000 nid=0xa103 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"Sweeper thread" #11 daemon prio=9 os_prio=31 cpu=18.59ms elapsed=264.68s tid=0x0000000117029400 nid=0x5d03 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #12 daemon prio=8 os_prio=31 cpu=0.76ms elapsed=264.68s tid=0x000000012580e000 nid=0x9f03 in Object.wait()  [0x000000017d31a000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x00000004054ebaf8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.3/ReferenceQueue.java:155)
	- locked <0x00000004054ebaf8> (a java.lang.ref.ReferenceQueue$Lock)
	at jdk.internal.ref.CleanerImpl.run(java.base@17.0.3/CleanerImpl.java:140)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)
	at jdk.internal.misc.InnocuousThread.run(java.base@17.0.3/InnocuousThread.java:162)

"Notification Thread" #13 daemon prio=9 os_prio=31 cpu=0.05ms elapsed=264.62s tid=0x0000000117020c00 nid=0x9c03 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Active Thread: Equinox Container: 3e0250b4-1621-4fbf-bd08-781a5fa0db35" #15 prio=5 os_prio=31 cpu=46.02ms elapsed=264.36s tid=0x000000012501b000 nid=0x9603 waiting on condition  [0x000000017dd56000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.3/Native Method)
	- parking to wait for  <0x00000004053b2dd0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.3/LockSupport.java:252)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base@17.0.3/AbstractQueuedSynchronizer.java:1672)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.3/ScheduledThreadPoolExecutor.java:1182)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.3/ScheduledThreadPoolExecutor.java:899)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.3/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.3/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.3/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"Refresh Thread: Equinox Container: 3e0250b4-1621-4fbf-bd08-781a5fa0db35" #17 daemon prio=5 os_prio=31 cpu=10.71ms elapsed=264.29s tid=0x0000000116cd0800 nid=0x9403 in Object.wait()  [0x000000017df62000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x00000004053b30b0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
	- locked <0x00000004053b30b0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:341)

"Framework Event Dispatcher: Equinox Container: 3e0250b4-1621-4fbf-bd08-781a5fa0db35" #18 daemon prio=5 os_prio=31 cpu=0.74ms elapsed=264.28s tid=0x0000000115811e00 nid=0x6003 in Object.wait()  [0x000000017e16e000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000405553e60> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
	- locked <0x0000000405553e60> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:341)

"Start Level: Equinox Container: 3e0250b4-1621-4fbf-bd08-781a5fa0db35" #19 daemon prio=5 os_prio=31 cpu=517.76ms elapsed=264.27s tid=0x0000000125015800 nid=0x9203 in Object.wait()  [0x000000017e37a000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x00000004055bc340> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
	- locked <0x00000004055bc340> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:341)

"SCR Component Actor" #20 daemon prio=5 os_prio=31 cpu=0.33ms elapsed=264.27s tid=0x0000000125022800 nid=0x9003 in Object.wait()  [0x000000017e586000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000405624990> (a java.util.LinkedList)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:83)
	- locked <0x0000000405624990> (a java.util.LinkedList)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"Bundle File Closer" #22 daemon prio=5 os_prio=31 cpu=3.01ms elapsed=264.13s tid=0x000000011621fe00 nid=0x8e03 in Object.wait()  [0x000000017e99e000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x00000004053b34e8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
	- locked <0x00000004053b34e8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:341)

"Worker-JM" #23 prio=5 os_prio=31 cpu=0.08ms elapsed=264.06s tid=0x0000000125a2b800 nid=0x8d03 in Object.wait()  [0x000000017ebaa000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x00000004053b37e0> (a java.util.ArrayList)
	at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:61)
	- locked <0x00000004053b37e0> (a java.util.ArrayList)

"Worker-1: Initialize Workspace" #25 prio=5 os_prio=31 cpu=659.87ms elapsed=264.00s tid=0x0000000116139200 nid=0x8a03 waiting for monitor entry  [0x000000017efc1000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:302)
	- waiting to lock <0x0000000405554160> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.createExecutionRequest(MavenExecutionContext.java:168)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.loadCoreExtensions(PlexusContainerManager.java:299)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.newPlexusContainer(PlexusContainerManager.java:198)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:165)
	- locked <0x00000004054ebf10> (a java.util.HashMap)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.getComponentLookup(PlexusContainerManager.java:190)
	at org.eclipse.m2e.core.embedder.MavenModelManager.readMavenModel(MavenModelManager.java:120)
	at org.eclipse.m2e.core.project.LocalProjectScanner.readMavenProjectInfo(LocalProjectScanner.java:126)
	at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:95)
	at org.eclipse.m2e.core.project.LocalProjectScanner.run(LocalProjectScanner.java:66)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.getMavenProjects(MavenProjectImporter.java:302)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.collectMavenProjectInfo(MavenProjectImporter.java:148)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.getMavenProjectInfo(MavenProjectImporter.java:141)
	- locked <0x0000000405554740> (a org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.importToWorkspace(MavenProjectImporter.java:164)
	at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:149)
	at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:111)
	at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:244)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

"Java indexing" #26 daemon prio=4 os_prio=31 cpu=2443.06ms elapsed=263.81s tid=0x000000011619b000 nid=0x6e03 in Object.wait()  [0x00000002b061e000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <0x0000000405625368> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Object.wait(java.base@17.0.3/Object.java:338)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:452)
	- locked <0x0000000405625368> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"pool-2-thread-1" #27 prio=5 os_prio=31 cpu=11.70ms elapsed=263.72s tid=0x0000000125071400 nid=0x7d03 waiting on condition  [0x00000002b082a000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.3/Native Method)
	- parking to wait for  <0x00000004054ebcb0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.3/LockSupport.java:252)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base@17.0.3/AbstractQueuedSynchronizer.java:1672)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.3/ScheduledThreadPoolExecutor.java:1182)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.3/ScheduledThreadPoolExecutor.java:899)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.3/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.3/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.3/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"pool-1-thread-1" #29 prio=5 os_prio=31 cpu=1061.02ms elapsed=263.67s tid=0x00000001251f7c00 nid=0x7b03 waiting on condition  [0x00000002b0a35000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(java.base@17.0.3/Native Method)
	at org.eclipse.jdt.ls.core.internal.JobHelpers.waitForJobs(JobHelpers.java:198)
	at org.eclipse.jdt.ls.core.internal.JobHelpers.waitForInitializeJobs(JobHelpers.java:177)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.initialized(JDTLanguageServer.java:261)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.3/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.3/NativeMethodAccessorImpl.java:77)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.3/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@17.0.3/Method.java:568)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint$$Lambda$172/0x0000000800ec5ad0.apply(Unknown Source)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187)
	at org.eclipse.jdt.ls.core.internal.ParentProcessWatcher.lambda$0(ParentProcessWatcher.java:130)
	at org.eclipse.jdt.ls.core.internal.ParentProcessWatcher$$Lambda$166/0x0000000800ebec60.consume(Unknown Source)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.util.concurrent.Executors$RunnableAdapter.call(java.base@17.0.3/Executors.java:539)
	at java.util.concurrent.FutureTask.run(java.base@17.0.3/FutureTask.java:264)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.3/ThreadPoolExecutor.java:1136)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.3/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.3/Thread.java:833)

"Worker-2: Repository registry initialization" #35 prio=5 os_prio=31 cpu=12.95ms elapsed=263.62s tid=0x0000000117177a00 nid=0x7507 waiting for monitor entry  [0x00000002b0c42000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:145)
	- waiting to lock <0x00000004054ebf10> (a java.util.HashMap)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getPlexusContainer(MavenImpl.java:978)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.lookup(MavenImpl.java:1029)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:327)
	- locked <0x0000000405554160> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.repository.RepositoryRegistry.updateRegistry(RepositoryRegistry.java:229)
	at org.eclipse.m2e.core.internal.repository.RepositoryRegistryUpdateJob.run(RepositoryRegistryUpdateJob.java:50)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

"Worker-3: Updating Maven Dependencies" #36 prio=5 os_prio=31 cpu=32.36ms elapsed=263.56s tid=0x000000014702c000 nid=0x7307 waiting for monitor entry  [0x00000002b0e4e000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:302)
	- waiting to lock <0x0000000405554160> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.createExecutionRequest(MavenExecutionContext.java:168)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.newExecutionRequest(MavenExecutionContext.java:142)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:232)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:205)
	at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryRefreshJob.run(ProjectRegistryRefreshJob.java:104)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

"Worker-5" #38 prio=5 os_prio=31 cpu=1.46ms elapsed=261.96s tid=0x0000000165912000 nid=0x9e07 in Object.wait()  [0x000000017d526000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <no object reference available>
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
	- locked <0x0000000405624f48> (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)

"Worker-6" #39 prio=5 os_prio=31 cpu=1.24ms elapsed=261.96s tid=0x0000000125076c00 nid=0x15303 in Object.wait()  [0x00000002baa06000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.3/Native Method)
	- waiting on <no object reference available>
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
	- locked <0x0000000405624f48> (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)

"Attach Listener" #40 daemon prio=9 os_prio=31 cpu=0.75ms elapsed=0.10s tid=0x0000000166809800 nid=0x6507 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"VM Thread" os_prio=31 cpu=13.04ms elapsed=264.69s tid=0x0000000105608cb0 nid=0x4303 runnable  

"GC Thread#0" os_prio=31 cpu=70.61ms elapsed=264.70s tid=0x0000000114e0a820 nid=0x3003 runnable  

"GC Thread#1" os_prio=31 cpu=65.78ms elapsed=263.82s tid=0x000000010b335780 nid=0x6603 runnable  

"GC Thread#2" os_prio=31 cpu=65.66ms elapsed=263.82s tid=0x000000010b3360c0 nid=0x8703 runnable  

"GC Thread#3" os_prio=31 cpu=69.06ms elapsed=263.82s tid=0x000000010b336a00 nid=0x8503 runnable  

"GC Thread#4" os_prio=31 cpu=68.90ms elapsed=263.82s tid=0x0000000124efd490 nid=0x6803 runnable  

"GC Thread#5" os_prio=31 cpu=69.15ms elapsed=263.82s tid=0x0000000124efdc70 nid=0x8403 runnable  

"GC Thread#6" os_prio=31 cpu=69.07ms elapsed=263.82s tid=0x0000000124efe5b0 nid=0x8303 runnable  

"GC Thread#7" os_prio=31 cpu=68.84ms elapsed=263.82s tid=0x0000000124efeef0 nid=0x6b03 runnable  

"GC Thread#8" os_prio=31 cpu=68.77ms elapsed=263.82s tid=0x0000000124eff830 nid=0x8103 runnable  

"G1 Main Marker" os_prio=31 cpu=0.24ms elapsed=264.70s tid=0x0000000114e0b6e0 nid=0x3203 runnable  

"G1 Conc#0" os_prio=31 cpu=39.51ms elapsed=264.70s tid=0x0000000105104420 nid=0x3303 runnable  

"G1 Conc#1" os_prio=31 cpu=38.45ms elapsed=263.82s tid=0x0000000124eae940 nid=0x6d03 runnable  

"G1 Refine#0" os_prio=31 cpu=22.60ms elapsed=264.69s tid=0x0000000105524db0 nid=0x3403 runnable  

"G1 Refine#1" os_prio=31 cpu=12.20ms elapsed=263.31s tid=0x000000010b545000 nid=0x7207 runnable  

"G1 Refine#2" os_prio=31 cpu=19.40ms elapsed=263.31s tid=0x00000001055efc00 nid=0x7403 runnable  

"G1 Refine#3" os_prio=31 cpu=21.21ms elapsed=263.31s tid=0x0000000105674740 nid=0xac03 runnable  

"G1 Refine#4" os_prio=31 cpu=22.63ms elapsed=263.31s tid=0x000000010b00a3c0 nid=0xae03 runnable  

"G1 Refine#5" os_prio=31 cpu=17.86ms elapsed=263.31s tid=0x000000010b108cc0 nid=0xb103 runnable  

"G1 Refine#6" os_prio=31 cpu=18.54ms elapsed=260.55s tid=0x0000000105693d40 nid=0x15103 runnable  

"G1 Refine#7" os_prio=31 cpu=18.28ms elapsed=260.55s tid=0x0000000115125c50 nid=0x15003 runnable  

"G1 Refine#8" os_prio=31 cpu=20.59ms elapsed=260.55s tid=0x00000001151253d0 nid=0xb803 runnable  

"G1 Service" os_prio=31 cpu=47.83ms elapsed=264.69s tid=0x0000000114f04500 nid=0x3503 runnable  

"VM Periodic Task Thread" os_prio=31 cpu=87.68ms elapsed=264.62s tid=0x0000000124f1b810 nid=0x9a03 waiting on condition  

JNI global refs: 11, weak refs: 0


Found one Java-level deadlock:
=============================
"Worker-1: Initialize Workspace":
  waiting to lock monitor 0x000000010b277fa0 (object 0x0000000405554160, a org.eclipse.m2e.core.internal.embedder.MavenImpl),
  which is held by "Worker-2: Repository registry initialization"

"Worker-2: Repository registry initialization":
  waiting to lock monitor 0x0000000115104080 (object 0x00000004054ebf10, a java.util.HashMap),
  which is held by "Worker-1: Initialize Workspace"

Java stack information for the threads listed above:
===================================================
"Worker-1: Initialize Workspace":
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:302)
	- waiting to lock <0x0000000405554160> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.createExecutionRequest(MavenExecutionContext.java:168)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.loadCoreExtensions(PlexusContainerManager.java:299)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.newPlexusContainer(PlexusContainerManager.java:198)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:165)
	- locked <0x00000004054ebf10> (a java.util.HashMap)
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.getComponentLookup(PlexusContainerManager.java:190)
	at org.eclipse.m2e.core.embedder.MavenModelManager.readMavenModel(MavenModelManager.java:120)
	at org.eclipse.m2e.core.project.LocalProjectScanner.readMavenProjectInfo(LocalProjectScanner.java:126)
	at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:95)
	at org.eclipse.m2e.core.project.LocalProjectScanner.run(LocalProjectScanner.java:66)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.getMavenProjects(MavenProjectImporter.java:302)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.collectMavenProjectInfo(MavenProjectImporter.java:148)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.getMavenProjectInfo(MavenProjectImporter.java:141)
	- locked <0x0000000405554740> (a org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter)
	at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.importToWorkspace(MavenProjectImporter.java:164)
	at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:149)
	at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:111)
	at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:244)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
"Worker-2: Repository registry initialization":
	at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:145)
	- waiting to lock <0x00000004054ebf10> (a java.util.HashMap)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getPlexusContainer(MavenImpl.java:978)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.lookup(MavenImpl.java:1029)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:327)
	- locked <0x0000000405554160> (a org.eclipse.m2e.core.internal.embedder.MavenImpl)
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.getSettings(MavenImpl.java:296)
	at org.eclipse.m2e.core.internal.repository.RepositoryRegistry.updateRegistry(RepositoryRegistry.java:229)
	at org.eclipse.m2e.core.internal.repository.RepositoryRegistryUpdateJob.run(RepositoryRegistryUpdateJob.java:50)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Found 1 deadlock.

@mohnishkodnani
Copy link
Author

Version of java language server : v1.10.2022082204

@mohnishkodnani
Copy link
Author

It seems like everytime i do Clean java language server workspace new jdt processes are created and the old processes do not exit.

@mohnishkodnani
Copy link
Author

Params: {
    "processId": 46476,
    "clientInfo": {
        "name": "VSCodium",
        "version": "1.71.0"
    },
    "locale": "en-us",
    "rootPath": "/Users/mkodnani/work/repos/service",
    "rootUri": "file:///Users/mkodnani/work/repos/service",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "textOnlyTransactional",
                "normalizesLineEndings": true,
                "changeAnnotationSupport": {
                    "groupsOnLabel": true
                }
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "didChangeWatchedFiles": {
                "dynamicRegistration": true
            },
            "symbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                }
            },
            "codeLens": {
                "refreshSupport": true
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "configuration": true,
            "workspaceFolders": true,
            "semanticTokens": {
                "refreshSupport": true
            },
            "fileOperations": {
                "dynamicRegistration": true,
                "didCreate": true,
                "didRename": true,
                "didDelete": true,
                "willCreate": true,
                "willRename": true,
                "willDelete": true
            }
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true,
                "versionSupport": false,
                "tagSupport": {
                    "valueSet": [
                        1,
                        2
                    ]
                },
                "codeDescriptionSupport": true,
                "dataSupport": true
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true,
                    "tagSupport": {
                        "valueSet": [
                            1
                        ]
                    },
                    "insertReplaceSupport": true,
                    "resolveSupport": {
                        "properties": [
                            "documentation",
                            "detail",
                            "additionalTextEdits"
                        ]
                    },
                    "insertTextModeSupport": {
                        "valueSet": [
                            1,
                            2
                        ]
                    },
                    "labelDetailsSupport": true
                },
                "insertTextMode": 2,
                "completionItemKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    },
                    "activeParameterSupport": true
                },
                "contextSupport": true
            },
            "definition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "references": {
                "dynamicRegistration": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true,
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "labelSupport": true
            },
            "codeAction": {
                "dynamicRegistration": true,
                "isPreferredSupport": true,
                "disabledSupport": true,
                "dataSupport": true,
                "resolveSupport": {
                    "properties": [
                        "edit"
                    ]
                },
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                },
                "honorsChangeAnnotations": false
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true,
                "prepareSupportDefaultBehavior": 1,
                "honorsChangeAnnotations": true
            },
            "documentLink": {
                "dynamicRegistration": true,
                "tooltipSupport": true
            },
            "typeDefinition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "implementation": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true
            },
            "declaration": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "selectionRange": {
                "dynamicRegistration": true
            },
            "callHierarchy": {
                "dynamicRegistration": true
            },
            "semanticTokens": {
                "dynamicRegistration": true,
                "tokenTypes": [
                    "namespace",
                    "type",
                    "class",
                    "enum",
                    "interface",
                    "struct",
                    "typeParameter",
                    "parameter",
                    "variable",
                    "property",
                    "enumMember",
                    "event",
                    "function",
                    "method",
                    "macro",
                    "keyword",
                    "modifier",
                    "comment",
                    "string",
                    "number",
                    "regexp",
                    "operator"
                ],
                "tokenModifiers": [
                    "declaration",
                    "definition",
                    "readonly",
                    "static",
                    "deprecated",
                    "abstract",
                    "async",
                    "modification",
                    "documentation",
                    "defaultLibrary"
                ],
                "formats": [
                    "relative"
                ],
                "requests": {
                    "range": true,
                    "full": {
                        "delta": true
                    }
                },
                "multilineTokenSupport": false,
                "overlappingTokenSupport": false
            },
            "linkedEditingRange": {
                "dynamicRegistration": true
            }
        },
        "window": {
            "showMessage": {
                "messageActionItem": {
                    "additionalPropertiesSupport": true
                }
            },
            "showDocument": {
                "support": true
            },
            "workDoneProgress": true
        },
        "general": {
            "staleRequestSupport": {
                "cancel": true,
                "retryOnContentModified": [
                    "textDocument/semanticTokens/full",
                    "textDocument/semanticTokens/range",
                    "textDocument/semanticTokens/full/delta"
                ]
            },
            "regularExpressions": {
                "engine": "ECMAScript",
                "version": "ES2020"
            },
            "markdown": {
                "parser": "marked",
                "version": "1.1.0"
            }
        }
    },
    "initializationOptions": {
        "bundles": [
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/pivotal.vscode-spring-boot/jars/io.projectreactor.reactor-core.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/pivotal.vscode-spring-boot/jars/org.reactivestreams.reactive-streams.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/pivotal.vscode-spring-boot/jars/jdt-ls-commons.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/pivotal.vscode-spring-boot/jars/jdt-ls-extension.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-debug/server/com.microsoft.java.debug.plugin-0.39.0.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-dependency/server/com.microsoft.jdtls.ext.core-0.21.0.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/com.microsoft.java.test.plugin-0.36.0.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.eclipse.jdt.junit4.runtime_1.2.0.v20210326-1251.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.eclipse.jdt.junit5.runtime_1.0.1300.v20210320-1132.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.jupiter.api_5.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.jupiter.engine_5.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.jupiter.migrationsupport_5.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.jupiter.params_5.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.vintage.engine_5.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.opentest4j_1.2.0.v20190826-0900.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.platform.commons_1.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.platform.engine_1.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.platform.launcher_1.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.platform.runner_1.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.junit.platform.suite.api_1.7.1.v20210222-1948.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-java-test/server/org.apiguardian_1.1.0.v20190826-0900.jar",
            "/nix/store/d69cznp1310cqjq9sjmkkmzv40rlf6f3-vscode-extensions/share/vscode/extensions/vscjava.vscode-maven/jdtls.ext/com.microsoft.java.maven.plugin/target/com.microsoft.java.maven.plugin-0.37.0.jar"
        ],
        "workspaceFolders": [
            "file:///Users/mkodnani/work/repos/service"
        ],
        "settings": {
            "java": {
                "home": "/nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home",
                "jdt": {
                    "ls": {
                        "java": {
                            "home": null
                        },
                        "vmargs": "-Xmx16G -Xms12G",
                        "lombokSupport": {
                            "enabled": true
                        },
                        "protobufSupport": {
                            "enabled": true
                        }
                    }
                },
                "errors": {
                    "incompleteClasspath": {
                        "severity": "warning"
                    }
                },
                "configuration": {
                    "checkProjectSettingsExclusions": false,
                    "updateBuildConfiguration": "interactive",
                    "maven": {
                        "userSettings": null,
                        "globalSettings": null,
                        "notCoveredPluginExecutionSeverity": "warning"
                    },
                    "workspaceCacheLimit": 90,
                    "runtimes": []
                },
                "trace": {
                    "server": "verbose"
                },
                "import": {
                    "maven": {
                        "enabled": true,
                        "offline": {
                            "enabled": false
                        }
                    },
                    "gradle": {
                        "enabled": true,
                        "wrapper": {
                            "enabled": true
                        },
                        "version": null,
                        "home": null,
                        "java": {
                            "home": null
                        },
                        "offline": {
                            "enabled": false
                        },
                        "arguments": null,
                        "jvmArguments": null,
                        "user": {
                            "home": null
                        }
                    },
                    "exclusions": [
                        "**/node_modules/**",
                        "**/.metadata/**",
                        "**/archetype-resources/**",
                        "**/META-INF/maven/**"
                    ],
                    "generatesMetadataFilesAtProjectRoot": false
                },
                "maven": {
                    "downloadSources": false,
                    "updateSnapshots": false
                },
                "eclipse": {
                    "downloadSources": false
                },
                "referencesCodeLens": {
                    "enabled": false
                },
                "signatureHelp": {
                    "enabled": false,
                    "description": {
                        "enabled": false
                    }
                },
                "implementationsCodeLens": {
                    "enabled": false
                },
                "format": {
                    "enabled": true,
                    "settings": {
                        "url": null,
                        "profile": null
                    },
                    "comments": {
                        "enabled": true
                    },
                    "onType": {
                        "enabled": true
                    },
                    "insertSpaces": true,
                    "tabSize": 4
                },
                "saveActions": {
                    "organizeImports": false
                },
                "project": {
                    "referencedLibraries": [
                        "lib/**/*.jar"
                    ],
                    "importOnFirstTimeStartup": "automatic",
                    "importHint": true,
                    "resourceFilters": [
                        "node_modules",
                        ".git"
                    ],
                    "encoding": "ignore",
                    "exportJar": {
                        "targetPath": "${workspaceFolder}/${workspaceFolderBasename}.jar"
                    }
                },
                "contentProvider": {
                    "preferred": null
                },
                "autobuild": {
                    "enabled": true
                },
                "maxConcurrentBuilds": 1,
                "recommendations": {
                    "dependency": {
                        "analytics": {
                            "show": true
                        }
                    }
                },
                "completion": {
                    "maxResults": 0,
                    "enabled": true,
                    "guessMethodArguments": false,
                    "favoriteStaticMembers": [
                        "org.junit.Assert.*",
                        "org.junit.Assume.*",
                        "org.junit.jupiter.api.Assertions.*",
                        "org.junit.jupiter.api.Assumptions.*",
                        "org.junit.jupiter.api.DynamicContainer.*",
                        "org.junit.jupiter.api.DynamicTest.*",
                        "org.mockito.Mockito.*",
                        "org.mockito.ArgumentMatchers.*",
                        "org.mockito.Answers.*"
                    ],
                    "filteredTypes": [
                        "java.awt.*",
                        "com.sun.*",
                        "sun.*",
                        "jdk.*",
                        "org.graalvm.*",
                        "io.micrometer.shaded.*"
                    ],
                    "importOrder": [
                        "java",
                        "javax",
                        "org",
                        "com"
                    ]
                },
                "foldingRange": {
                    "enabled": true
                },
                "progressReports": {
                    "enabled": true
                },
                "codeGeneration": {
                    "hashCodeEquals": {
                        "useJava7Objects": false,
                        "useInstanceof": false
                    },
                    "useBlocks": false,
                    "generateComments": false,
                    "toString": {
                        "template": "${object.className} [${member.name()}=${member.value}, ${otherMembers}]",
                        "codeStyle": "STRING_CONCATENATION",
                        "skipNullValues": false,
                        "listArrayContents": true,
                        "limitElements": 0
                    },
                    "insertionLocation": "afterCursor"
                },
                "selectionRange": {
                    "enabled": true
                },
                "showBuildStatusOnStart": {
                    "enabled": "notification"
                },
                "server": {
                    "launchMode": "Hybrid"
                },
                "sources": {
                    "organizeImports": {
                        "starThreshold": 99,
                        "staticStarThreshold": 99
                    }
                },
                "imports": {
                    "gradle": {
                        "wrapper": {
                            "checksums": []
                        }
                    }
                },
                "templates": {
                    "fileHeader": [],
                    "typeComment": []
                },
                "references": {
                    "includeAccessors": true,
                    "includeDecompiledSources": true
                },
                "typeHierarchy": {
                    "lazyLoad": false
                },
                "settings": {
                    "url": null
                },
                "symbols": {
                    "includeSourceMethodDeclarations": false
                },
                "quickfix": {
                    "showAt": "line"
                },
                "inlayHints": {
                    "parameterNames": {
                        "enabled": "literals",
                        "exclusions": []
                    }
                },
                "codeAction": {
                    "sortMembers": {
                        "avoidVolatileChanges": true
                    }
                },
                "debug": {
                    "logLevel": "warn",
                    "settings": {
                        "showHex": false,
                        "showStaticVariables": false,
                        "showQualifiedNames": false,
                        "showLogicalStructure": true,
                        "showToString": true,
                        "maxStringLength": 0,
                        "numericPrecision": 0,
                        "hotCodeReplace": "manual",
                        "enableRunDebugCodeLens": true,
                        "forceBuildBeforeLaunch": true,
                        "onBuildFailureProceed": false,
                        "console": "integratedTerminal",
                        "exceptionBreakpoint": {
                            "skipClasses": []
                        },
                        "stepping": {
                            "skipClasses": [],
                            "skipSynthetics": false,
                            "skipStaticInitializers": false,
                            "skipConstructors": false
                        },
                        "jdwp": {
                            "limitOfVariablesPerJdwpRequest": 100,
                            "requestTimeout": 3000
                        },
                        "vmArgs": ""
                    }
                },
                "silentNotification": false,
                "dependency": {
                    "showMembers": false,
                    "syncWithFolderExplorer": true,
                    "autoRefresh": true,
                    "refreshDelay": 2000,
                    "packagePresentation": "flat"
                },
                "test": {
                    "defaultConfig": "",
                    "config": {}
                }
            }
        },
        "extendedClientCapabilities": {
            "progressReportProvider": true,
            "classFileContentsSupport": true,
            "overrideMethodsPromptSupport": true,
            "hashCodeEqualsPromptSupport": true,
            "advancedOrganizeImportsSupport": true,
            "generateToStringPromptSupport": true,
            "advancedGenerateAccessorsSupport": true,
            "generateConstructorsPromptSupport": true,
            "generateDelegateMethodsPromptSupport": true,
            "advancedExtractRefactoringSupport": true,
            "inferSelectionSupport": [
                "extractMethod",
                "extractVariable",
                "extractField"
            ],
            "moveRefactoringSupport": true,
            "clientHoverProvider": true,
            "clientDocumentSymbolProvider": true,
            "gradleChecksumWrapperPromptSupport": true,
            "resolveAdditionalTextEditsSupport": true,
            "advancedIntroduceParameterRefactoringSupport": true,
            "actionableRuntimeNotificationSupport": true,
            "shouldLanguageServerExitOnShutdown": true,
            "onCompletionItemSelectedCommand": "editor.action.triggerParameterHints"
        },
        "triggerFiles": []
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///Users/mkodnani/work/repos/service",
            "name": "service"
        }
    ]
}


WARNING: Using incubator modules: jdk.incubator.vector, jdk.incubator.foreign
[Trace - 9:38:20 AM] Received response 'initialize - (0)' in 1205ms.
Result: {
    "capabilities": {
        "textDocumentSync": {
            "openClose": true,
            "change": 2,
            "willSave": true,
            "willSaveWaitUntil": true,
            "save": {
                "includeText": true
            }
        },
        "executeCommandProvider": {
            "commands": [
                "sts.java.addClasspathListener",
                "sts.java.search.packages",
                "sts.java.search.types",
                "sts.java.hierarchy.supertypes",
                "sts.java.removeClasspathListener",
                "sts.java.type",
                "sts.java.hierarchy.subtypes"
            ]
        },
        "workspace": {
            "workspaceFolders": {
                "supported": true,
                "changeNotifications": true
            }
        },
        "callHierarchyProvider": true,
        "semanticTokensProvider": {
            "legend": {
                "tokenTypes": [
                    "namespace",
                    "class",
                    "interface",
                    "enum",
                    "enumMember",
                    "type",
                    "typeParameter",
                    "method",
                    "property",
                    "variable",
                    "parameter",
                    "modifier",
                    "keyword",
                    "annotation",
                    "annotationMember",
                    "record",
                    "recordComponent"
                ],
                "tokenModifiers": [
                    "abstract",
                    "static",
                    "readonly",
                    "deprecated",
                    "declaration",
                    "documentation",
                    "public",
                    "private",
                    "protected",
                    "native",
                    "generic",
                    "typeArgument",
                    "importDeclaration",
                    "constructor"
                ]
            },
            "range": false,
            "full": {
                "delta": false
            },
            "documentSelector": [
                {
                    "language": "java",
                    "scheme": "file"
                },
                {
                    "language": "java",
                    "scheme": "jdt"
                }
            ]
        }
    }
}


[Trace - 9:38:20 AM] Sending notification 'initialized'.
Params: {}


[Trace - 9:38:20 AM] Sending notification 'workspace/didChangeConfiguration'.
Params: {
    "settings": {
        "java": {
            "home": "/nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home",
            "jdt": {
                "ls": {
                    "java": {
                        "home": null
                    },
                    "vmargs": "-Xmx16G -Xms12G",
                    "lombokSupport": {
                        "enabled": true
                    },
                    "protobufSupport": {
                        "enabled": true
                    }
                }
            },
            "errors": {
                "incompleteClasspath": {
                    "severity": "warning"
                }
            },
            "configuration": {
                "checkProjectSettingsExclusions": false,
                "updateBuildConfiguration": "interactive",
                "maven": {
                    "userSettings": null,
                    "globalSettings": null,
                    "notCoveredPluginExecutionSeverity": "warning"
                },
                "workspaceCacheLimit": 90,
                "runtimes": []
            },
            "trace": {
                "server": "verbose"
            },
            "import": {
                "maven": {
                    "enabled": true,
                    "offline": {
                        "enabled": false
                    }
                },
                "gradle": {
                    "enabled": true,
                    "wrapper": {
                        "enabled": true
                    },
                    "version": null,
                    "home": null,
                    "java": {
                        "home": null
                    },
                    "offline": {
                        "enabled": false
                    },
                    "arguments": null,
                    "jvmArguments": null,
                    "user": {
                        "home": null
                    }
                },
                "exclusions": [
                    "**/node_modules/**",
                    "**/.metadata/**",
                    "**/archetype-resources/**",
                    "**/META-INF/maven/**"
                ],
                "generatesMetadataFilesAtProjectRoot": false
            },
            "maven": {
                "downloadSources": false,
                "updateSnapshots": false
            },
            "eclipse": {
                "downloadSources": false
            },
            "referencesCodeLens": {
                "enabled": false
            },
            "signatureHelp": {
                "enabled": false,
                "description": {
                    "enabled": false
                }
            },
            "implementationsCodeLens": {
                "enabled": false
            },
            "format": {
                "enabled": true,
                "settings": {
                    "url": null,
                    "profile": null
                },
                "comments": {
                    "enabled": true
                },
                "onType": {
                    "enabled": true
                },
                "insertSpaces": true,
                "tabSize": 4
            },
            "saveActions": {
                "organizeImports": false
            },
            "project": {
                "referencedLibraries": [
                    "lib/**/*.jar"
                ],
                "importOnFirstTimeStartup": "automatic",
                "importHint": true,
                "resourceFilters": [
                    "node_modules",
                    ".git"
                ],
                "encoding": "ignore",
                "exportJar": {
                    "targetPath": "${workspaceFolder}/${workspaceFolderBasename}.jar"
                }
            },
            "contentProvider": {
                "preferred": null
            },
            "autobuild": {
                "enabled": true
            },
            "maxConcurrentBuilds": 1,
            "recommendations": {
                "dependency": {
                    "analytics": {
                        "show": true
                    }
                }
            },
            "completion": {
                "maxResults": 0,
                "enabled": true,
                "guessMethodArguments": false,
                "favoriteStaticMembers": [
                    "org.junit.Assert.*",
                    "org.junit.Assume.*",
                    "org.junit.jupiter.api.Assertions.*",
                    "org.junit.jupiter.api.Assumptions.*",
                    "org.junit.jupiter.api.DynamicContainer.*",
                    "org.junit.jupiter.api.DynamicTest.*",
                    "org.mockito.Mockito.*",
                    "org.mockito.ArgumentMatchers.*",
                    "org.mockito.Answers.*"
                ],
                "filteredTypes": [
                    "java.awt.*",
                    "com.sun.*",
                    "sun.*",
                    "jdk.*",
                    "org.graalvm.*",
                    "io.micrometer.shaded.*"
                ],
                "importOrder": [
                    "java",
                    "javax",
                    "org",
                    "com"
                ]
            },
            "foldingRange": {
                "enabled": true
            },
            "progressReports": {
                "enabled": true
            },
            "codeGeneration": {
                "hashCodeEquals": {
                    "useJava7Objects": false,
                    "useInstanceof": false
                },
                "useBlocks": false,
                "generateComments": false,
                "toString": {
                    "template": "${object.className} [${member.name()}=${member.value}, ${otherMembers}]",
                    "codeStyle": "STRING_CONCATENATION",
                    "skipNullValues": false,
                    "listArrayContents": true,
                    "limitElements": 0
                },
                "insertionLocation": "afterCursor"
            },
            "selectionRange": {
                "enabled": true
            },
            "showBuildStatusOnStart": {
                "enabled": "notification"
            },
            "server": {
                "launchMode": "Hybrid"
            },
            "sources": {
                "organizeImports": {
                    "starThreshold": 99,
                    "staticStarThreshold": 99
                }
            },
            "imports": {
                "gradle": {
                    "wrapper": {
                        "checksums": []
                    }
                }
            },
            "templates": {
                "fileHeader": [],
                "typeComment": []
            },
            "references": {
                "includeAccessors": true,
                "includeDecompiledSources": true
            },
            "typeHierarchy": {
                "lazyLoad": false
            },
            "settings": {
                "url": null
            },
            "symbols": {
                "includeSourceMethodDeclarations": false
            },
            "quickfix": {
                "showAt": "line"
            },
            "inlayHints": {
                "parameterNames": {
                    "enabled": "literals",
                    "exclusions": []
                }
            },
            "codeAction": {
                "sortMembers": {
                    "avoidVolatileChanges": true
                }
            },
            "debug": {
                "logLevel": "warn",
                "settings": {
                    "showHex": false,
                    "showStaticVariables": false,
                    "showQualifiedNames": false,
                    "showLogicalStructure": true,
                    "showToString": true,
                    "maxStringLength": 0,
                    "numericPrecision": 0,
                    "hotCodeReplace": "manual",
                    "enableRunDebugCodeLens": true,
                    "forceBuildBeforeLaunch": true,
                    "onBuildFailureProceed": false,
                    "console": "integratedTerminal",
                    "exceptionBreakpoint": {
                        "skipClasses": []
                    },
                    "stepping": {
                        "skipClasses": [],
                        "skipSynthetics": false,
                        "skipStaticInitializers": false,
                        "skipConstructors": false
                    },
                    "jdwp": {
                        "limitOfVariablesPerJdwpRequest": 100,
                        "requestTimeout": 3000
                    },
                    "vmArgs": ""
                }
            },
            "silentNotification": false,
            "dependency": {
                "showMembers": false,
                "syncWithFolderExplorer": true,
                "autoRefresh": true,
                "refreshDelay": 2000,
                "packagePresentation": "flat"
            },
            "test": {
                "defaultConfig": "",
                "config": {}
            }
        }
    }
}


[Trace - 9:38:21 AM] Received notification 'language/status'.
Params: {
    "type": "Starting",
    "message": "31% Starting Java Language Server - Refreshing '/jdt.ls-java-project'."
}


[Trace - 9:38:21 AM] Received notification 'language/progressReport'.
Params: {
    "id": "7b7eab62-ca5d-46fc-a3f6-90e6ac573753",
    "task": "Initialize Workspace",
    "subTask": "Refreshing '/jdt.ls-java-project'.",
    "status": "31% Refreshing '/jdt.ls-java-project'.",
    "totalWork": 1000,
    "workDone": 307,
    "complete": false
}


[Trace - 9:38:21 AM] Received notification 'language/progressReport'.
Params: {
    "id": "ccc89f34-6785-41b8-9dbf-cd8dcd61d8cf",
    "task": "Refreshing Maven model",
    "status": "",
    "totalWork": -1,
    "workDone": 0,
    "complete": false
}

@mohnishkodnani
Copy link
Author

@snjeza let me know if there is more information i can provide, this happened in the morning and i took the logs as best as I could.

@snjeza snjeza self-assigned this Sep 28, 2022
@snjeza
Copy link
Contributor

snjeza commented Sep 28, 2022

For example. now i have 4 processes since the morning.

 ❯ ps -ef | rg jdt
  503 18321     1   0  5:31PM ??         0:33.40 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -XX:+UseG1GC -Xmx12G -Xms8G -javaagent:/nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java/lombok/lombok-1.18.24.jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java -jar /nix/store/y107ds1m5fd5l12x5r31sk7ih91wrpi0-vscode-extension-redhat-java-1.11.2022091404/share/vscode/extensions/redhat.java/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2022082204/config_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/jdt_ws
  503 21811     1   0  9:17AM ??         0:39.60 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -XX:+UseG1GC -Xmx12G -Xms8G -javaagent:/nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java/lombok/lombok-1.18.24.jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java -jar /nix/store/y107ds1m5fd5l12x5r31sk7ih91wrpi0-vscode-extension-redhat-java-1.11.2022091404/share/vscode/extensions/redhat.java/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2022082204/config_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/jdt_ws
  503 23048     1   0  9:37AM ??         3:01.53 /nix/store/fj686syzhhmis0k7xianyn7kcxxrf5la-jdk17-17.0.3.1/zulu-17.jdk/Contents/Home/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -Xlog:jni+resolve=off -XX:+UseG1GC -Xmx12G -Xms8G -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java -jar /nix/store/xccx11bl4yjyci5g5rgij5j8bbn9h4ma-vscode-extensions/share/vscode/extensions/redhat.java-1.10.2/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/mkodnani/Library/Application Support/VSCodium/User/globalStorage/redhat.java/1.10.2/config_mac -data /Users/mkodnani/Library/Application Support/VSCodium/User/workspaceStorage/78777f6853df02b69112124bd4904516/redhat.java/jdt_ws
 ...

@mohnishkodnani
VS Code hasn't created these processes.
Is there a system service on your Mac?

@mohnishkodnani
Copy link
Author

@snjeza this is vscode created..

  1. I close visual studio.
  2. Run ps -ef | rg jdt
  3. Run killall java
  4. Run ps -ef | rg jdt
  5. Confirm no more java processes.
  6. Start visual studio
  7. As soon as the importing java projects window comes up these java processes come up. I am not sure why you say they are not visual studio created.
    I use nix package manager on my mac to install JDK, hence you might see the path is weird, however, these are visual studio created and the settings for -Xms and -Xmx are what i have in my settings.json.
    "java.jdt.ls.vmargs": "-Dsun.zip.disableMemoryMapping=true -Xmx16G -Xms8G"
  8. There are always 2 processes that start for the very first time after all these steps. one for jdt_ws and the other ss_ws

@mohnishkodnani
Copy link
Author

Looks like a lock between worker that updates maven dependencies and the worker that initializes the workspace.


0x0000000401006cd8MavenImplDeadlocked | Held by Worker-0: Updating Maven Dependencieswaiting to acquire [ 0x0000000401004fe0 ] , holding [ 0x0000000401006cd8 ]3 thread(s) waiting to take lock Worker-1: Repository registry initialization Worker-2: Initialize Workspace Worker-2: Initialize Workspace
-- | --
0x0000000401004fe0HashMapDeadlocked | Held by Worker-2: Initialize Workspacewaiting to acquire [ 0x0000000401006cd8 ] , holding [ 0x0000000401004fe0 0x00000004038ed418 ]2 thread(s) waiting to take lock Worker-0: Updating Maven Dependencies Worker-0: Updating Maven Dependencies

0x0000000401006cd8
MavenImpl
Deadlocked	
Held by
 [Worker-0: Updating Maven Dependencies](https://jstack.review/#tda_1_thread_generated-id-3)waiting to acquire [ [0x0000000401004fe0](https://jstack.review/#tda_1_sync_0x0000000401004fe0) ] , holding [ [0x0000000401006cd8](https://jstack.review/#tda_1_sync_0x0000000401006cd8) ]
3 thread(s) waiting to take lock
 [Worker-1: Repository registry initialization](https://jstack.review/#tda_1_thread_0x000000012c21e800)
 [Worker-2: Initialize Workspace](https://jstack.review/#tda_1_thread_0x000000012c23ac00)
 [Worker-2: Initialize Workspace](https://jstack.review/#tda_1_thread_generated-id-4)
0x0000000401004fe0
HashMap
Deadlocked	
Held by
 [Worker-2: Initialize Workspace](https://jstack.review/#tda_1_thread_generated-id-4)waiting to acquire [ [0x0000000401006cd8](https://jstack.review/#tda_1_sync_0x0000000401006cd8) ] , holding [ [0x0000000401004fe0](https://jstack.review/#tda_1_sync_0x0000000401004fe0) [0x00000004038ed418](https://jstack.review/#tda_1_sync_0x00000004038ed418) ]
2 thread(s) waiting to take lock
 [Worker-0: Updating Maven Dependencies](https://jstack.review/#tda_1_thread_0x000000012e0b1800)
 [Worker-0: Updating Maven Dependencies](https://jstack.review/#tda_1_thread_generated-id-3)

@snjeza
Copy link
Contributor

snjeza commented Sep 28, 2022

I am not sure why you say they are not visual studio created.

Their parent process is 1. It is the system process.

Looks like a lock between worker that updates maven dependencies and the worker that initializes the workspace.

Could you try https://github.com/snjeza/vscode-test/raw/master/java-1.10.4.vsix ?

There are always 2 processes that start for the very first time after all these steps. one for jdt_ws and the other ss_ws

It is ok.
ss_ws should disappear when your project is imported.
Both processes should disappear when you close VS Code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants