rikvdkleij / intellij-haskell

IntelliJ plugin for Haskell
https://rikvdkleij.github.io/intellij-haskell/
Apache License 2.0
1.31k stars 94 forks source link

Issue starting stack #325

Closed FredericDesgreniers closed 5 years ago

FredericDesgreniers commented 5 years ago

I keep getting this in the "events log" in intellij.

[project-stack-repl-test1:lib] Could not start Stack REPL. Make sure you have set right path to Stack in Settings

[project-stack-repl-test1:lib] Error message while trying to start Stack REPL: java.util.LinkedHashMap cannot be cast to java.lang.String

I can use "stack repl" fine from the command line

sir4ur0n commented 5 years ago

Which version do you use? The stable release or the beta? If beta, which version are you currently using?

Do you have a sample project to reproduce?

FredericDesgreniers commented 5 years ago

I'm running 1.0.0-beta34 because I was getting another issue that got fixed on beta. For some reason, upgrading my stack installation to the git branch and then downgrading back fixed the issue even through I'm now at the same version I was initially and uninstalling + reinstalling stack didn't fix it earlier. I can't reproduce it anymore.

jorge-barroso commented 4 years ago

This is happening for me on any recent stable version with both java 11 and java 14 (openjdk on linux) It's simple to reproduce as it happens every time with new and existing projects. I can't talk about past releases because I'm just learning haskell now so I just installed both stack and the plugin but I made sure my config.yaml is configured with the basic details

Version: 1.0.0beta78 and 1.0.0beta76 Intellij Idea: Latest 2020.2

Stack Trace: java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class java.lang.String (java.util.LinkedHashMap and java.lang.String are in module java.base of loader 'bootstrap') at intellij.haskell.stackyaml.StackYamlComponent$.$anonfun$getResolver$2(StackYamlComponent.scala:30) at scala.Option.map(Option.scala:242) at intellij.haskell.stackyaml.StackYamlComponent$.getResolver(StackYamlComponent.scala:30) at intellij.haskell.external.component.CabalConfigComponent$.getAvailablePackageNames(CabalConfigComponent.scala:22) at intellij.haskell.external.component.GlobalProjectInfoComponent$.getAvailableStackagesPackages(GlobalProjectInfoComponent.scala:54) at intellij.haskell.external.component.GlobalProjectInfoComponent$.$anonfun$createGlobalProjectInfo$2(GlobalProjectInfoComponent.scala:72) at scala.Option.map(Option.scala:242) at intellij.haskell.external.component.GlobalProjectInfoComponent$.$anonfun$createGlobalProjectInfo$1(GlobalProjectInfoComponent.scala:68) at scala.Option.flatMap(Option.scala:283) at intellij.haskell.external.component.GlobalProjectInfoComponent$.createGlobalProjectInfo(GlobalProjectInfoComponent.scala:67) at intellij.haskell.external.component.GlobalProjectInfoComponent$.$anonfun$Cache$1(GlobalProjectInfoComponent.scala:32) at com.github.blemale.scaffeine.CacheLoaderAdapter.load(CacheLoaderAdapter.java:22) at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:141) at com.github.benmanes.caffeine.cache.UnboundedLocalCache.lambda$computeIfAbsent$2(UnboundedLocalCache.java:238) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) at com.github.benmanes.caffeine.cache.UnboundedLocalCache.computeIfAbsent(UnboundedLocalCache.java:234) at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108) at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:54) at com.github.blemale.scaffeine.LoadingCache.get(LoadingCache.scala:35) at intellij.haskell.external.component.GlobalProjectInfoComponent$.findGlobalProjectInfo(GlobalProjectInfoComponent.scala:36) at intellij.haskell.external.component.HaskellComponentsManager$.getGhcVersion(HaskellComponentsManager.scala:102) at intellij.haskell.util.HaskellProjectUtil$.setNoDiagnosticsShowCaretFlag(HaskellProjectUtil.scala:42) at intellij.haskell.external.execution.StackCommandLine$.ghcOptions(StackCommandLine.scala:128) at intellij.haskell.external.execution.StackCommandLine$.buildInMessageView(StackCommandLine.scala:140) at intellij.haskell.external.execution.StackCommandLine$.buildProjectDependenciesInMessageView(StackCommandLine.scala:124) at intellij.haskell.external.component.StackProjectManager$$anon$2.run(StackProjectManager.scala:193) at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:935) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:442) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:235) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:170) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:235) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1764) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665) at java.base/java.lang.Thread.run(Thread.java:832)

s-till commented 4 years ago

I encountered this issue as well. versions:

As per the comment in #599 changing the resolver from map to string in stack.yaml resolves the issue for myself.

from:

resolver:
  url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/16/10.yaml

to:

resolver: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/16/10.yaml

not a haskell expert, so unsure of the effects this change may have further down the line, but this got me up and running.

rikvdkleij commented 4 years ago

@untitled121 No further effects but using resolver: lts-16.10 is just shorter 😄