dramforever/vscode-ghc-simple

Simple GHC (Haskell) Integration can't startup.

asukaminato0721 opened this issue · 3 comments

Status

  • A workaround is available
  • A fix is written
  • A fix is released
  • The fixed version is on the marketplace.

  • Version of vscode-ghc-simple: v0.1.22
  • Version of VSCode: 1.52.1
  • Version of Haskell-related tools:
    • GHC: Glasgow Haskell Compiler, Version 8.10.2, stage 2 booted by GHC version 8.8.3
    • Stack:
    • Cabal:

Steps to reproduce

It can't startup.

Workspace

GHC log

Starting GHCi with: "stack --no-terminal --color never exec ghci"
(Under default cwd)
    -> :set prompt ""
    |> :set prompt-cont ""
ghci | HttpExceptionRequest Request {
ghci |   host                 = "raw.githubusercontent.com"
ghci |   port                 = 443
ghci |   secure               = True
ghci |   requestHeaders       = [("User-Agent","The Haskell Stack")]
ghci |   path                 = "/fpco/stackage-content/master/stack/stack-setup-2.yaml"
ghci |   queryString          = ""
ghci |   method               = "GET"
ghci |   proxy                = Nothing
ghci |   rawBody              = False
ghci |   redirectCount        = 10
ghci |   responseTimeout      = ResponseTimeoutDefault
ghci |   requestVersion       = HTTP/1.1
ghci | }
ghci |  (InternalException (HandshakeFailed (Error_Misc "Network.Socket.recvBuf: invalid argument (Invalid argument)")))
Error checking c:\Users\***\Desktop\hs\temp.hs: stream closed

@wuyudi This seems to be a network issue. Can you try using stack manually? If stack doesn't work at all there is little extension can do, unfortunately.

You might have more luck trying 'just' cabal and ghc, which might not have such network problems, but you probably need to find help elsewhere as I am not familiar with it.

Now I am installing it manually.

Set the proxy.

set http_proxy=127.0.0.1:7891
  bin stack install ghci
HttpExceptionRequest Request {
  host                 = "raw.githubusercontent.com"
  port                 = 443
  secure               = True
  requestHeaders       = [("User-Agent","The Haskell Stack")]
  path                 = "/fpco/stackage-content/master/stack/stack-setup-2.yaml"
  queryString          = ""
  method               = "GET"
  proxy                = Nothing
  rawBody              = False
  redirectCount        = 10
  responseTimeout      = ResponseTimeoutDefault
  requestVersion       = HTTP/1.1
}
 (ConnectionFailure user error (Network.Socket.gai_strerror not supported: 11004))

Search it, commercialhaskell/stack#5299 (comment), then I add to hosts.

  bin stack install ghci
HttpExceptionRequest Request {
  host                 = "raw.githubusercontent.com"
  port                 = 443
  secure               = True
  requestHeaders       = [("User-Agent","The Haskell Stack")]
  path                 = "/fpco/stackage-content/master/stack/stack-setup-2.yaml"
  queryString          = ""
  method               = "GET"
  proxy                = Nothing
  rawBody              = False
  redirectCount        = 10
  responseTimeout      = ResponseTimeoutDefault
  requestVersion       = HTTP/1.1
}
 (InternalException (HandshakeFailed (Error_Misc "Network.Socket.recvBuf: invalid argument (Invalid argument)")))

¯\(ツ)

I do not believe that there's anything this extension can or should do to help stack with a network problem. You may find better assistance on setting up stack elsewhere.

I'm closing it for now as I believe there's nothing related to the extension with this problem. As you can see, stack itself does not work at all. If you want to avoid using stack, check out the ghcSimple.replCommand and ghcSimple.replScope configurations.