carymrobbins / intellij-haskforce

Haskell plugin for IntelliJ IDEA
http://carymrobbins.github.io/intellij-haskforce/
Apache License 2.0
487 stars 39 forks source link

HaskellToolsConsole mutable.Map lockup #387

Open carymrobbins opened 5 years ago

carymrobbins commented 5 years ago

IDE locked up on my when opening a project. Upon using jstack, go the relevant stack trace. The HaskellToolsConsole$.create(HaskellToolsConsole.scala:178) line appears in multiple stack traces (not included here, they all seem to be identical).

"ModuleManager Loader" #1407 daemon prio=4 os_prio=31 tid=0x00007fc4b7995000 nid=0x1b237 runnable [0x000070000ab6f000]
   java.lang.Thread.State: RUNNABLE
    at scala.collection.mutable.HashTable.resize(HashTable.scala:265)
    at scala.collection.mutable.HashTable.addEntry0(HashTable.scala:157)
    at scala.collection.mutable.HashTable.findOrAddEntry(HashTable.scala:169)
    at scala.collection.mutable.HashTable.findOrAddEntry$(HashTable.scala:166)
    at scala.collection.mutable.HashMap.findOrAddEntry(HashMap.scala:40)
    at scala.collection.mutable.HashMap.put(HashMap.scala:115)
    at com.haskforce.ui.tools.HaskellToolsConsole$.create(HaskellToolsConsole.scala:178)
    at com.haskforce.ui.tools.HaskellToolsConsole$.$anonfun$get$1(HaskellToolsConsole.scala:168)
    at com.haskforce.ui.tools.HaskellToolsConsole$$$Lambda$987/1077263632.apply(Unknown Source)
    at scala.collection.MapLike.getOrElse(MapLike.scala:128)
    at scala.collection.MapLike.getOrElse$(MapLike.scala:126)
    at scala.collection.AbstractMap.getOrElse(Map.scala:59)
    at com.haskforce.ui.tools.HaskellToolsConsole$.get(HaskellToolsConsole.scala:168)
    at com.haskforce.ui.tools.HaskellToolsConsole.get(HaskellToolsConsole.scala)
    at com.haskforce.highlighting.annotation.external.GhcModi.<init>(GhcModi.java:633)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
    at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.doGetComponentInstance(CachingConstructorInjectionComponentAdapter.java:92)
    at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.instantiateGuarded(CachingConstructorInjectionComponentAdapter.java:66)
    at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.getComponentInstance(CachingConstructorInjectionComponentAdapter.java:48)
    at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:458)
    - locked <0x00000006eece3fd0> (a com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponents(ComponentManagerImpl.java:104)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:88)
    at com.intellij.openapi.module.impl.ModuleImpl.init(ModuleImpl.java:75)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.initModule(ModuleManagerImpl.java:830)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.lambda$loadModuleInternal$2(ModuleManagerImpl.java:823)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl$$Lambda$938/2136947400.compute(Unknown Source)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:974)
    at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:57)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.loadModuleInternal(ModuleManagerImpl.java:821)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.access$400(ModuleManagerImpl.java:655)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.lambda$null$0(ModuleManagerImpl.java:298)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$$Lambda$930/1504732087.compute(Unknown Source)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$3(CoreProgressManager.java:180)
    at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$937/1291148484.run(Unknown Source)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:164)
    at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$205/169441778.run(Unknown Source)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:586)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:86)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:151)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:180)
    at com.intellij.openapi.module.impl.ModuleManagerImpl.lambda$loadModules$1(ModuleManagerImpl.java:296)
    at com.intellij.openapi.module.impl.ModuleManagerImpl$$Lambda$929/1544380561.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:220)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$100(BoundedTaskExecutor.java:26)
    at com.intellij.util.concurrency.BoundedTaskExecutor$2.lambda$run$0(BoundedTaskExecutor.java:198)
    at com.intellij.util.concurrency.BoundedTaskExecutor$2$$Lambda$80/2085451863.run(Unknown Source)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:224)
    at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:194)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)