carymrobbins/intellij-haskforce

IllegalStateException: Calling invokeAndWait from read-action leads to possible deadlock.

Closed this issue · 1 comments

  • IntelliJ Ultimate 2019.2.3
  • HaskForce 0.3.43

Got a crash from an unhandled exception, in this source file below.

ExternalToolPass: 

com.intellij.diagnostic.PluginException: annotator: com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator@6e6274b7 (class com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator) [Plugin: com.haskforce]
	at com.intellij.ide.plugins.PluginManagerCore.createPluginException(PluginManagerCore.java:403)
	at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:12)
	at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:72)
	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.process(ExternalToolPass.java:253)
	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:206)
	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.getInfos(ExternalToolPass.java:157)
	at com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl.runMainPasses(DaemonCodeAnalyzerImpl.java:259)
	at com.intellij.openapi.vcs.impl.CodeSmellDetectorImpl.lambda$runMainPasses$5(CodeSmellDetectorImpl.java:180)
	at com.intellij.openapi.project.DumbService.lambda$runReadActionInSmartMode$0(DumbService.java:108)
	at com.intellij.openapi.project.DumbService.lambda$runReadActionInSmartMode$1(DumbService.java:153)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:936)
	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:57)
	at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:146)
	at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:108)
	at com.intellij.openapi.vcs.impl.CodeSmellDetectorImpl.runMainPasses(CodeSmellDetectorImpl.java:180)
	at com.intellij.openapi.vcs.impl.CodeSmellDetectorImpl.lambda$findCodeSmells$4(CodeSmellDetectorImpl.java:161)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:169)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:591)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:537)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:156)
	at com.intellij.openapi.vcs.impl.CodeSmellDetectorImpl.findCodeSmells(CodeSmellDetectorImpl.java:160)
	at com.intellij.openapi.vcs.impl.CodeSmellDetectorImpl.findCodeSmells(CodeSmellDetectorImpl.java:138)
	at com.intellij.openapi.vcs.impl.CodeSmellDetectorImpl.access$000(CodeSmellDetectorImpl.java:43)
	at com.intellij.openapi.vcs.impl.CodeSmellDetectorImpl$1.run(CodeSmellDetectorImpl.java:100)
	at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:894)
	at com.intellij.openapi.progress.impl.CoreProgressManager$5.run(CoreProgressManager.java:447)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:169)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:591)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:537)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:156)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$null$9(ApplicationImpl.java:552)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:294)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalStateException: Calling invokeAndWait from read-action leads to possible deadlock.
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:635)
	at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator.saveAllFiles(HaskellExternalAnnotator.scala:58)
	at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator.doAnnotate(HaskellExternalAnnotator.scala:39)
	at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator.doAnnotate(HaskellExternalAnnotator.scala:16)
	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:203)
	... 34 more

The relevant exception seems to be this one

java.lang.IllegalStateException: Calling invokeAndWait from read-action leads to possible deadlock.
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:635)
	at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator.saveAllFiles(HaskellExternalAnnotator.scala:58)
	at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator.doAnnotate(HaskellExternalAnnotator.scala:39)
	at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator.doAnnotate(HaskellExternalAnnotator.scala:16)
	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:203)
	... 34 more