jbangdev / jbang-idea

IntelliJ IDEA plugin for JBang
https://plugins.jetbrains.com/plugin/18257-jbang
MIT License
20 stars 9 forks source link

IDEA freezes completely on Windows when syncing DEPS #34

Closed nandorholozsnyak closed 2 years ago

nandorholozsnyak commented 2 years ago

So when I try to sync some JBang script's dependencies in IDEA with the Sync JBang DEPS to Module the whole IDE freezes and I have to force shutdown it. It happens only on Windows for me.

JBang version: 0.88.0 JBang IDEA plugin version: 0.15.0 IDEA version: IntelliJ IDEA 2021.3.2 Build #IU-213.6777.52, built on January 28, 2022 but if I remember well it happened on earlier IDEA version as well.

What I saw in the threadDump is that this command line stucks, and waits forever: https://github.com/jbangdev/jbang-idea/blob/main/src/main/kotlin/dev/jbang/idea/JBangCli.kt#L30

@Throws(Exception::class)
    fun resolveScriptDependencies(scriptFilePath: String): List<String> {
        val jbangCmd = getJBangCmdAbsolutionPath()
        val pb = ProcessBuilder(jbangCmd, "info", "classpath", "--fresh", scriptFilePath)
        val process = pb.start()
        process.waitFor()
        if (process.exitValue() != 0) {
            throw Exception(processErrorToText(process))
        } else {
            return processOutputToText(process).split(':', ';').filter { !it.contains(".jbang") }
        }
    }

If I run the following command in the command line jbang.cmd info classpath --fresh src/script.java it succeeds.

Here is the threadDump log for it:

"AWT-EventQueue-0" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/java.lang.ProcessImpl.waitForInterruptibly(Native Method)
    at java.base@11.0.13/java.lang.ProcessImpl.waitFor(ProcessImpl.java:554)
    at dev.jbang.idea.JBangCli.resolveScriptDependencies(JBangCli.kt:30)
    at dev.jbang.idea.actions.SyncDependenciesAction.syncDepsToModule(SyncDependenciesAction.kt:273)
    at dev.jbang.idea.actions.SyncDependenciesAction.actionPerformed(SyncDependenciesAction.kt:82)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAwareWithCallbacks$4(ActionUtil.java:244)
    at com.intellij.openapi.actionSystem.ex.ActionUtil$$Lambda$3681/0x0000000802127040.run(Unknown Source)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:265)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:244)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$performAction$0(ActionMenuItem.java:277)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$$Lambda$3680/0x0000000802127c40.run(Unknown Source)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:236)
    at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:67)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.performAction(ActionMenuItem.java:269)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:284)
    at java.desktop@11.0.13/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$2(ActionMenuItem.java:111)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$$Lambda$3679/0x0000000802127840.run(Unknown Source)
    at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:111)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:541)
    at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:571)
    at java.desktop@11.0.13/java.awt.Component.processMouseEvent(Component.java:6654)
    at java.desktop@11.0.13/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
    at java.desktop@11.0.13/java.awt.Component.processEvent(Component.java:6419)
    at java.desktop@11.0.13/java.awt.Container.processEvent(Container.java:2263)
    at java.desktop@11.0.13/java.awt.Component.dispatchEventImpl(Component.java:5029)
    at java.desktop@11.0.13/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop@11.0.13/java.awt.Component.dispatchEvent(Component.java:4861)
    at java.desktop@11.0.13/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
    at java.desktop@11.0.13/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
    at java.desktop@11.0.13/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
    at java.desktop@11.0.13/java.awt.Container.dispatchEventImpl(Container.java:2307)
    at java.desktop@11.0.13/java.awt.Window.dispatchEventImpl(Window.java:2790)
    at java.desktop@11.0.13/java.awt.Component.dispatchEvent(Component.java:4861)
    at java.desktop@11.0.13/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
    at java.desktop@11.0.13/java.awt.EventQueue$4.run(EventQueue.java:727)
    at java.desktop@11.0.13/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.base@11.0.13/java.security.AccessController.doPrivileged(Native Method)
    at java.base@11.0.13/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.base@11.0.13/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop@11.0.13/java.awt.EventQueue$5.run(EventQueue.java:751)
    at java.desktop@11.0.13/java.awt.EventQueue$5.run(EventQueue.java:749)
    at java.base@11.0.13/java.security.AccessController.doPrivileged(Native Method)
    at java.base@11.0.13/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop@11.0.13/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
    at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:820)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:757)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
    at com.intellij.ide.IdeEventQueue$$Lambda$576/0x0000000800668440.compute(Unknown Source)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
    at com.intellij.ide.IdeEventQueue$$Lambda$575/0x0000000800654440.run(Unknown Source)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:498)
    at java.desktop@11.0.13/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop@11.0.13/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop@11.0.13/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop@11.0.13/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop@11.0.13/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop@11.0.13/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

"BaseDataReader: output stream of fsnotifier.exe" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/java.io.FileInputStream.readBytes(Native Method)
    at java.base@11.0.13/java.io.FileInputStream.read(FileInputStream.java:279)
    at java.base@11.0.13/java.io.BufferedInputStream.read1(BufferedInputStream.java:290)
    at java.base@11.0.13/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
    at java.base@11.0.13/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
    at java.base@11.0.13/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
    at java.base@11.0.13/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
    at java.base@11.0.13/java.io.InputStreamReader.read(InputStreamReader.java:181)
    at java.base@11.0.13/java.io.Reader.read(Reader.java:229)
    at com.intellij.util.io.BaseOutputReader.readAvailableBlocking(BaseOutputReader.java:133)
    at com.intellij.util.io.BaseDataReader.readAvailable(BaseDataReader.java:74)
    at com.intellij.util.io.BaseDataReader.doRun(BaseDataReader.java:155)
    at com.intellij.util.io.BaseDataReader$$Lambda$928/0x0000000800a54c40.run(Unknown Source)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
    at com.intellij.util.io.BaseDataReader.lambda$start$0(BaseDataReader.java:50)
    at com.intellij.util.io.BaseDataReader$$Lambda$926/0x0000000800a55440.run(Unknown Source)
    at java.base@11.0.13/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base@11.0.13/java.security.AccessController.doPrivileged(Native Method)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"BaseDataReader: error stream of fsnotifier.exe" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/java.io.FileInputStream.readBytes(Native Method)
    at java.base@11.0.13/java.io.FileInputStream.read(FileInputStream.java:279)
    at java.base@11.0.13/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
    at java.base@11.0.13/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
    at java.base@11.0.13/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
    at java.base@11.0.13/java.io.InputStreamReader.read(InputStreamReader.java:181)
    at java.base@11.0.13/java.io.Reader.read(Reader.java:229)
    at com.intellij.util.io.BaseOutputReader.readAvailableBlocking(BaseOutputReader.java:133)
    at com.intellij.util.io.BaseDataReader.readAvailable(BaseDataReader.java:74)
    at com.intellij.util.io.BaseDataReader.doRun(BaseDataReader.java:155)
    at com.intellij.util.io.BaseDataReader$$Lambda$928/0x0000000800a54c40.run(Unknown Source)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
    at com.intellij.util.io.BaseDataReader.lambda$start$0(BaseDataReader.java:50)
    at com.intellij.util.io.BaseDataReader$$Lambda$926/0x0000000800a55440.run(Unknown Source)
    at java.base@11.0.13/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base@11.0.13/java.security.AccessController.doPrivileged(Native Method)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"EDT Performance Checker" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE

    at java.management@11.0.13/sun.management.ThreadImpl.dumpThreads0(Native Method)
    at java.management@11.0.13/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:521)
    at java.management@11.0.13/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:509)
    at com.intellij.diagnostic.ThreadDumper.getThreadInfos(ThreadDumper.java:65)
    at com.intellij.diagnostic.SamplingTask.dumpThreads(SamplingTask.java:47)
    at com.intellij.diagnostic.SamplingTask$$Lambda$12689/0x0000000804a8f440.run(Unknown Source)
    at java.base@11.0.13/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base@11.0.13/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
    at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:223)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:246)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:32)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:225)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1$$Lambda$667/0x00000008006f2840.run(Unknown Source)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:214)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base@11.0.13/java.security.AccessController.doPrivileged(Native Method)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"fsnotifier.exe" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/java.lang.ProcessImpl.waitForInterruptibly(Native Method)
    at java.base@11.0.13/java.lang.ProcessImpl.waitFor(ProcessImpl.java:554)
    at com.intellij.execution.process.ProcessWaitFor.lambda$new$0(ProcessWaitFor.java:28)
    at com.intellij.execution.process.ProcessWaitFor$$Lambda$925/0x0000000800a55040.run(Unknown Source)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
    at com.intellij.execution.process.ProcessWaitFor.lambda$new$1(ProcessWaitFor.java:23)
    at com.intellij.execution.process.ProcessWaitFor$$Lambda$924/0x0000000800a55c40.run(Unknown Source)
    at java.base@11.0.13/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base@11.0.13/java.security.AccessController.doPrivileged(Native Method)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"Netty Builtin Server 1" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141)
    at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"Netty Builtin Server 2" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141)
    at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"ApplicationImpl pooled thread 4" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/java.net.TwoStacksPlainDatagramSocketImpl.receive0(Native Method)
    at java.base@11.0.13/java.net.TwoStacksPlainDatagramSocketImpl.receive(TwoStacksPlainDatagramSocketImpl.java:123)
    at java.base@11.0.13/java.net.DatagramSocket.receive(DatagramSocket.java:814)
    at com.intellij.i.O.b.q.v(q.java:55)
    at com.intellij.i.O.b.l.run(l.java:21)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base@11.0.13/java.security.AccessController.doPrivileged(Native Method)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"ApplicationImpl pooled thread 5" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/java.net.TwoStacksPlainDatagramSocketImpl.receive0(Native Method)
    at java.base@11.0.13/java.net.TwoStacksPlainDatagramSocketImpl.receive(TwoStacksPlainDatagramSocketImpl.java:123)
    at java.base@11.0.13/java.net.DatagramSocket.receive(DatagramSocket.java:814)
    at com.intellij.i.O.b.q.v(q.java:55)
    at com.intellij.i.O.b.l.run(l.java:21)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base@11.0.13/java.security.AccessController.doPrivileged(Native Method)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"nioEventLoopGroup-3-1" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141)
    at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"pool-6-thread-1" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/java.io.FileInputStream.readBytes(Native Method)
    at java.base@11.0.13/java.io.FileInputStream.read(FileInputStream.java:279)
    at java.base@11.0.13/java.io.BufferedInputStream.fill(BufferedInputStream.java:252)
    at java.base@11.0.13/java.io.BufferedInputStream.read(BufferedInputStream.java:271)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:79)
    at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
    at java.base@11.0.13/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-1" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-2" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-3" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-4" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-5" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-6" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-7" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-8" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-9" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-10" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-11" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-dispatch-12" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:113)
    at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"HttpClient-1-SelectorManager" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:357)
    at java.base@11.0.13/sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:182)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)
    at java.base@11.0.13/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)
    at platform/java.net.http@11.0.13/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:867)

"Reference Handler" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE

    at java.base@11.0.13/java.lang.ref.Reference.waitForReferencePendingList(Native Method)
    at java.base@11.0.13/java.lang.ref.Reference.processPendingReferences(Reference.java:241)
    at java.base@11.0.13/java.lang.ref.Reference$ReferenceHandler.run(Reference.java:213)

"AWT-Windows" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.desktop@11.0.13/sun.awt.windows.WToolkit.eventLoop(Native Method)
    at java.desktop@11.0.13/sun.awt.windows.WToolkit.run(WToolkit.java:308)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"Thread-28" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)
    at java.base@11.0.13/sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native Method)
    at java.base@11.0.13/sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(ResolverConfigurationImpl.java:144)

"main" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE

"Attach Listener" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE

"WinLauncher external command processing thread" prio=0 tid=0x0 nid=0x0 runnable
     java.lang.Thread.State: RUNNABLE
 (in native)

"ApplicationImpl pooled thread 47" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on java.util.concurrent.SynchronousQueue$TransferStack@66279c5f
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
    at java.base@11.0.13/java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462)
    at java.base@11.0.13/java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361)
    at java.base@11.0.13/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base@11.0.13/java.security.AccessController.doPrivileged(Native Method)
    at java.base@11.0.13/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"Analytics" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15088f4b
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
    at java.base@11.0.13/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
    at com.segment.analytics.internal.AnalyticsClient$Looper.run(AnalyticsClient.java:106)
    at java.base@11.0.13/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at com.segment.analytics.Platform$1$1.run(Platform.java:45)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"Analytics" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2ec5ec43
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
    at java.base@11.0.13/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123)
    at java.base@11.0.13/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
    at java.base@11.0.13/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at com.segment.analytics.Platform$1$1.run(Platform.java:45)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"GitToolBox-schedule-0" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@713c0b34
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
    at java.base@11.0.13/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123)
    at java.base@11.0.13/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
    at java.base@11.0.13/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"Analytics" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/java.lang.Thread.sleep(Native Method)
    at com.segment.backo.Backo.sleep(Backo.java:72)
    at com.segment.analytics.internal.AnalyticsClient$BatchUploadTask.run(AnalyticsClient.java:205)
    at java.base@11.0.13/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at com.segment.analytics.Platform$1$1.run(Platform.java:45)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"GitToolBox-task-17" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.SynchronousQueue$TransferStack@10eab6c7
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
    at java.base@11.0.13/java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361)
    at java.base@11.0.13/java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:920)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"Windows Shell integration" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3fcdf340
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
    at java.base@11.0.13/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"httpclient-main-1" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@649370b8
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
    at java.base@11.0.13/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
    at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"Periodic tasks thread" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@4b10be5a
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
    at java.base@11.0.13/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123)
    at java.base@11.0.13/java.util.concurrent.DelayQueue.take(DelayQueue.java:229)
    at com.intellij.util.concurrency.AppDelayQueue.lambda$new$0(AppDelayQueue.java:26)
    at com.intellij.util.concurrency.AppDelayQueue$$Lambda$238/0x00000008002af440.run(Unknown Source)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"sonarlint-analysis-engine" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3d14c217
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
    at java.base@11.0.13/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
    at org.sonarsource.sonarlint.core.analysis.AnalysisEngine.executeQueuedCommands(AnalysisEngine.java:65)
    at org.sonarsource.sonarlint.core.analysis.AnalysisEngine$$Lambda$8714/0x0000000803699040.run(Unknown Source)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"TimerQueue" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3945181c
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
    at java.base@11.0.13/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123)
    at java.base@11.0.13/java.util.concurrent.DelayQueue.take(DelayQueue.java:229)
    at java.desktop@11.0.13/javax.swing.TimerQueue.run(TimerQueue.java:171)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"DefaultDispatcher-worker-1" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-2" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-3" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-4" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-5" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-6" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-7" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-8" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-9" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-10" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-11" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"DefaultDispatcher-worker-12" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

"Common-Cleaner" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on java.lang.ref.ReferenceQueue$Lock@58395d9a
    at java.base@11.0.13/java.lang.Object.wait(Native Method)
    at java.base@11.0.13/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
    at java.base@11.0.13/jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:148)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)
    at java.base@11.0.13/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:134)

"Java2D Disposer" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.lang.ref.ReferenceQueue$Lock@29108156
    at java.base@11.0.13/java.lang.Object.wait(Native Method)
    at java.base@11.0.13/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
    at java.base@11.0.13/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
    at java.desktop@11.0.13/sun.java2d.Disposer.run(Disposer.java:144)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"Finalizer" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.lang.ref.ReferenceQueue$Lock@48790657
    at java.base@11.0.13/java.lang.Object.wait(Native Method)
    at java.base@11.0.13/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
    at java.base@11.0.13/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
    at java.base@11.0.13/java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:170)

"AWT-Shutdown" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.lang.Object@591c13ad
    at java.base@11.0.13/java.lang.Object.wait(Native Method)
    at java.base@11.0.13/java.lang.Object.wait(Object.java:328)
    at java.desktop@11.0.13/sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:291)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"kotlinx.coroutines.DefaultExecutor" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on kotlinx.coroutines.DefaultExecutor@2341eb62
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
    at kotlinx.coroutines.DefaultExecutor.run(DefaultExecutor.kt:82)
    at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

"File Events Trigger Timer" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.TaskQueue@b462d29
    at java.base@11.0.13/java.lang.Object.wait(Native Method)
    at java.base@11.0.13/java.lang.Object.wait(Object.java:328)
    at java.base@11.0.13/java.util.TimerThread.mainLoop(Timer.java:527)
    at java.base@11.0.13/java.util.TimerThread.run(Timer.java:506)

"MultiThreadedHttpConnectionManager cleanup" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.lang.ref.ReferenceQueue$Lock@4b11304b
    at java.base@11.0.13/java.lang.Object.wait(Native Method)
    at java.base@11.0.13/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
    at java.base@11.0.13/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
    at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)

"JobScheduler FJ pool 7/11" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on java.util.concurrent.ForkJoinPool@66236a39
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.parkUntil(LockSupport.java:275)
    at java.base@11.0.13/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1619)
    at java.base@11.0.13/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

"Batik CleanerThread" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.lang.ref.ReferenceQueue$Lock@35da97f6
    at java.base@11.0.13/java.lang.Object.wait(Native Method)
    at java.base@11.0.13/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
    at java.base@11.0.13/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
    at org.apache.batik.util.CleanerThread.run(CleanerThread.java:106)

"JobScheduler FJ pool 0/11" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.ForkJoinPool@66236a39
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628)
    at java.base@11.0.13/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

"JobScheduler FJ pool 2/11" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.ForkJoinPool@66236a39
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628)
    at java.base@11.0.13/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

"JobScheduler FJ pool 3/11" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.ForkJoinPool@66236a39
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628)
    at java.base@11.0.13/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

"JobScheduler FJ pool 4/11" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.ForkJoinPool@66236a39
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628)
    at java.base@11.0.13/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

"JobScheduler FJ pool 8/11" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.ForkJoinPool@66236a39
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628)
    at java.base@11.0.13/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

"JobScheduler FJ pool 6/11" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.ForkJoinPool@66236a39
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628)
    at java.base@11.0.13/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

"JobScheduler FJ pool 10/11" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.ForkJoinPool@66236a39
    at java.base@11.0.13/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@11.0.13/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.13/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628)
    at java.base@11.0.13/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

"Notifications timer" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on java.util.TaskQueue@40cf673e
    at java.base@11.0.13/java.lang.Object.wait(Native Method)
    at java.base@11.0.13/java.util.TimerThread.mainLoop(Timer.java:553)
    at java.base@11.0.13/java.util.TimerThread.run(Timer.java:506)

"sonarlint-auto-trigger-r20" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/java.lang.Thread.sleep(Native Method)
    at org.sonarlint.intellij.trigger.EditorChangeTrigger$EventWatcher.run(EditorChangeTrigger.java:125)

"sonarlint-issue-panel-refresh" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/java.lang.Thread.sleep(Native Method)
    at org.sonarlint.intellij.ui.CurrentFileController$EventWatcher.run(CurrentFileController.java:121)

"sonarlint-auto-trigger-knowledge-cafe-banner-generator" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/java.lang.Thread.sleep(Native Method)
    at org.sonarlint.intellij.trigger.EditorChangeTrigger$EventWatcher.run(EditorChangeTrigger.java:125)

"sonarlint-issue-panel-refresh" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING

    at java.base@11.0.13/java.lang.Thread.sleep(Native Method)
    at org.sonarlint.intellij.ui.CurrentFileController$EventWatcher.run(CurrentFileController.java:121)
maxandersen commented 2 years ago

Yeah. At the moment the action is blocking where it should be async + show output.

But weird it never completes though. It should.

nandorholozsnyak commented 2 years ago

Yeah. At the moment the action is blocking where it should be async + show output.

But weird it never completes though. It should.

Yeah I know, it is this: https://github.com/jbangdev/jbang-idea/issues/19

But this newly opened is never ending, makes the IDE fully blocked and I have to close it from the Task Manager.

nandorholozsnyak commented 2 years ago

@linux-china do you have an idea what could cause it?

linux-china commented 2 years ago

@nandorholozsnyak I will take a look. It happened sometime, right? Sometime success and sometime fail.

nandorholozsnyak commented 2 years ago

Always fails. I mean, always kills the IDEA. I have to shutdown it from the Task Manager.

linux-china commented 2 years ago

@nandorholozsnyak could you do me a favor? Run following code on your laptop.

///usr/bin/env jbang "$0" "$@" ; exit $?
//JAVA 11

public class Hello {

    public static void main(String... args) throws Exception {
        String jbangCmd = "jbang.cmd";
        ProcessBuilder pb = new ProcessBuilder(jbangCmd, "info", "classpath", "--fresh", "jbang-demo/hello.java");
        Process process = pb.start();
        process.waitFor();
    }
}

If possible, could you change JAVA_HOME to jbr directory of IDEA_DIR and test again?

nandorholozsnyak commented 2 years ago

Hey @linux-china,

First run without setting the JAVA_HOME to jbr:

X:\linux-china-jbang
λ jbang Hello.java
[jbang] Building jar...

After setting the JAVA_HOME and PATH to the jbr.

X:\linux-china-jbang
λ set | grep JAVA_HOME
JAVA_HOME=C:\Program Files\JetBrains\IntelliJ IDEA 212.4746.2\jbr

X:\linux-china-jbang
λ which java
/c/Program Files/JetBrains/IntelliJ IDEA 212.4746.2/jbr/bin/java

X:\linux-china-jbang
λ jbang Hello.java

X:\linux-china-jbang
λ

Prompt comes back, nothing is being blocked.

linux-china commented 2 years ago

@maxandersen Got. I will find a Windows laptop to test it later, thanks for your help.

nandorholozsnyak commented 2 years ago

Right now I'm experiencing with the script that is freezing always, and I think it only freezes with just this one specific script, I'm experimenting with the deps now, I'm assuming maybe the @pom directive kills it or the Quarkus deps, IDK yet. Here are the an example script that kills the IDEA on sync.

///usr/bin/env jbang "$0" "$@" ; exit $?
// Update the Quarkus version to what you want here or run jbang with
// `-Dquarkus.version=<version>` to override it.
//DEPS io.quarkus:quarkus-bom:${quarkus.version:2.6.0.Final}@pom
//DEPS io.quarkus:quarkus-picocli
//DEPS io.quarkus:quarkus-qute
//DEPS io.quarkus:quarkus-jackson
//DEPS commons-io:commons-io:2.11.0
//Q:CONFIG quarkus.banner.enabled=false
//Q:CONFIG quarkus.log.level=WARN

import static java.lang.System.*;

public class Hello {

    public static void main(String... args) {
        out.println("Hello World");
    }
}
nandorholozsnyak commented 2 years ago

I do not really understand, if any of the Quarkus dependencies are in the list, with the BOM without version, or without the BOM and with version, IDEA freezes and that is all, without the Quarkus dependencies, only wiht the commons-io:commons-io:2.11.0 dependency the dependencies got synced.

And yes! If the jbang-demo/hello.java file has the same dependencies then the jbang Hello.java got stuck. Interesting! I hope it will help.

linux-china commented 2 years ago

@maxandersen your sync operation is to gradle or IDEA module?

It works on my mac laptop with sync to IDEA module.

image

nandorholozsnyak commented 2 years ago

And on Linux too. But on Windows there are some problem with that. :/

maxandersen commented 2 years ago

There are two issues here:

1) jbang plug-in runs it's jbang process executions in the main event loop blocking everything. It should not do that. Any failure Or long time processing a jbang call can do should not block the ide. No matter which OS.

2) figure out why when jbang called from IntelliJ is sometimes stuck.

nandorholozsnyak commented 2 years ago

The most interesting stuff is that it happens only with Quarkus dependencies... I will do some other tests and will let you know about the results.

maxandersen commented 2 years ago

@nandorholozsnyak what version of jbang are you running ? what does jbang version give you ?

maxandersen commented 2 years ago

I have a theory that the issue is that under windows the jbang info classpath somehow does not close the streams properly and thus java keeps waiting for the process.

I've seen that before in other cases dealing with java process launch. Why it happens only for Quarkus dependencies I'm not sure about - my guess will be that it has enough dependencies to trigger a flush() that you would not see for other cases with less dependencies.

@quintesse rings a bell?

maxandersen commented 2 years ago

...weird though why it freezes for you inside idea but not when running the "launch jbang" script @linux-china provided....could it be a JVM difference? like intellij runs with a different jvm than the one you use on the command line?

nandorholozsnyak commented 2 years ago

@nandorholozsnyak what version of jbang are you running ? what does jbang version give you ?

JBang version: 0.88.0

quintesse commented 2 years ago

I'm able to reproduce on the command line using what @nandorholozsnyak mentioned earlier:

And yes! If the jbang-demo/hello.java file has the same dependencies then the jbang Hello.java got stuck. Interesting! I hope it will help.

Edit: tested with both 0.87.0 and 0.88.0

quintesse commented 2 years ago

It must by an IO problem because adding pb.inheritIO() to the code above fixes the hang.

quintesse commented 2 years ago

I think Windows might be a little bit more strict than Linux/MacOS or has smaller buffers or something. Because in the code examples I see on the Internet I think the idea is that you first handle any IO before you do a waitFor(). In the case of the IDEA plugin this is done the other way around: it first runs waitFor() and then handles the IO.

nandorholozsnyak commented 2 years ago

It works with the pb.inheritIO() with the script mentioned above . Would it make sense to put it into the JbangCli.kt too? Could it be marked as some fix or just a workaround?

linux-china commented 2 years ago

@maxandersen I added pb.inheritIO() to JbangCli.kt, but failed to get output from process output, and I will try to fix it today. I will try https://github.com/zeroturnaround/zt-exec

maxandersen commented 2 years ago

The key is in what @quintesse references. We should be pumping stdin/out during run.

I have had this issue with karate test suite. Failed on windows at different times because the stdin/out was not emptied properly.

There must be a way in IntelliJ where they have mechanics to process the input/output.

maxandersen commented 2 years ago

And yes ztexec does this right.

linux-china commented 2 years ago

@nandorholozsnyak I built a new version with zt-exec, and could you try it on your script?

jbang-idea-plugin-0.15.1.zip

nandorholozsnyak commented 2 years ago

@linux-china Look better, IDEA does not freeze, BUT! The jbang dependency for the module is not being created. image

If yes (I have to do the Sync action a few times), then all the path is wrong.

image image

linux-china commented 2 years ago

@nandorholozsnyak my bad :( Caused by return output.split(':', ';').filter { !it.contains(".jbang") } and it should be output.split(File.pathSeparator).filter { !it.contains(".jbang") } I should find a Windows laptop to test. At least we fixed the process output problem on windows.

Sorry for this stupid bug, and try new build.

jbang-idea-plugin-0.15.1.zip

nandorholozsnyak commented 2 years ago

I'm here to test ;)

nandorholozsnyak commented 2 years ago

@linux-china so much better!

I cleared my Quarkus dependencies from my laptop, took a few seconds to download them, but it is working. Any plan for the UI blocking? Could it done in background somehow?

image

linux-china commented 2 years ago

@nandorholozsnyak Introduce ProgressManager and Task.Backgroundable to sync dependencies asynchronously. If all good after your trial, and I will release new version.

Snip20220207_74

jbang-idea-plugin-0.16.0.zip

nandorholozsnyak commented 2 years ago

@linux-china works like charm. Superb enhancement! Good job.