Flexible Haskell - a new plugin for JetBrains IDEs
Haskell Community [Unofficial]
April 2, 2026
@madppiper How do you prefer to receive bug reports?
I’ll report here for now that, when opening a Haskell project, I get each time this error/warning:
java.lang.Throwable: Synchronous execution on EDT: /Users/myuser/.ghcup/ghc/9.14.1/bin/ghc --version, see com.intellij.execution.process.OSProcessHandler#checkEdtAndReadAction() Javadoc for resolutions
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:375)
at com.intellij.execution.process.OSProcessHandler.checkEdtAndReadAction(OSProcessHandler.java:165)
at com.intellij.execution.process.OSProcessHandler.waitFor(OSProcessHandler.java:102)
at com.intellij.execution.process.CapturingProcessRunner.runProcess(CapturingProcessRunner.java:62)
at com.intellij.execution.process.CapturingProcessRunner.runProcess(CapturingProcessRunner.java:51)
at com.intellij.execution.process.CapturingProcessHandler.runProcess(CapturingProcessHandler.java:57)
at com.ilscipio.language.haskell.sdk.HaskellSdkDetector.getGhcVersion(HaskellSdkDetector.java:336)
at com.ilscipio.language.haskell.lsp.HaskellEnvironmentWidget.refresh(HaskellEnvironmentWidget.java:81)
at com.ilscipio.language.haskell.lsp.HaskellEnvironmentWidget.install(HaskellEnvironmentWidget.java:67)
at com.intellij.openapi.wm.impl.status.IdeStatusBarImpl.addWidgetToSelf$intellij_platform_ide_impl(IdeStatusBarImpl.kt:476)
at com.intellij.openapi.wm.impl.status.IdeStatusBarImpl$doInit$2.invokeSuspend(IdeStatusBarImpl.kt:411)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:221)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$4(NonBlockingFlushQueue.kt:358)
at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent(NonBlockingFlushQueue.kt:357)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.flushNow(NonBlockingFlushQueue.kt:305)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.FLUSH_NOW$lambda$0(NonBlockingFlushQueue.kt:167)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:323)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:732)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:711)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:720)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:573)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:377)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1110)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1110)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:375)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:415)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Discussion in the ATmosphere