haskell / haskell-ide-engine

The engine for haskell ide-integration. Not an IDE
BSD 3-Clause "New" or "Revised" License
2.38k stars 213 forks source link

server crashes 5 times #1795

Open 0x4d6165 opened 4 years ago

0x4d6165 commented 4 years ago

Howdy! For some reason, I get the error that hie-wrapper crashed 5 times in the past 3 minutes.

fendor commented 4 years ago

Good morning! Please provide some logs :) https://github.com/alanz/vscode-hie-server#investigating-and-reporting-problems

observant2 commented 4 years ago

I'm not the original OP, but I have the same problem.

Output of the extension:

2020-04-04 12:31:20.162489297 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version 1.1 x86_64 ghc-8.6.5
2020-04-04 12:31:20.163025697 [ThreadId 4] - Current directory:/workspace
2020-04-04 12:31:20.163475997 [ThreadId 4] - Operating system:linux
2020-04-04 12:31:20.163918697 [ThreadId 4] - args:["--lsp","-d","--vomit","-l","./lsp-log.txt"]
2020-04-04 12:31:20.167787197 [ThreadId 4] - Cabal-Helper found these projects: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:20.168793597 [ThreadId 4] - These projects have the build tools installed: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:20.169134597 [ThreadId 4] - Cabal-Helper decided to use: ProjLocV2Dir {plProjectDirV2 = "/workspace"}
2020-04-04 12:31:20.175570798 [ThreadId 4] - Cabal-Helper dirs: ["/workspace","/workspace/File.hs"]
2020-04-04 12:31:20.966145027 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version 1.1 x86_64 ghc-8.6.5
2020-04-04 12:31:20.966665928 [ThreadId 4] - Current directory:/workspace
2020-04-04 12:31:20.967313328 [ThreadId 4] - Operating system:linux
2020-04-04 12:31:20.967709028 [ThreadId 4] - args:["--lsp","-d","--vomit","-l","./lsp-log.txt"]
2020-04-04 12:31:20.969214328 [ThreadId 4] - Cabal-Helper found these projects: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:20.970161728 [ThreadId 4] - These projects have the build tools installed: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:20.970397228 [ThreadId 4] - Cabal-Helper decided to use: ProjLocV2Dir {plProjectDirV2 = "/workspace"}
2020-04-04 12:31:20.970590828 [ThreadId 4] - Cabal-Helper dirs: ["/workspace","/workspace/File.hs"]
2020-04-04 12:31:21.845562861 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version 1.1 x86_64 ghc-8.6.5
2020-04-04 12:31:21.846084561 [ThreadId 4] - Current directory:/workspace
2020-04-04 12:31:21.846387761 [ThreadId 4] - Operating system:linux
2020-04-04 12:31:21.846883561 [ThreadId 4] - args:["--lsp","-d","--vomit","-l","./lsp-log.txt"]
2020-04-04 12:31:21.848651661 [ThreadId 4] - Cabal-Helper found these projects: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:21.849934661 [ThreadId 4] - These projects have the build tools installed: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:21.850542761 [ThreadId 4] - Cabal-Helper decided to use: ProjLocV2Dir {plProjectDirV2 = "/workspace"}
2020-04-04 12:31:21.850883361 [ThreadId 4] - Cabal-Helper dirs: ["/workspace","/workspace/File.hs"]
2020-04-04 12:31:22.61833319 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version 1.1 x86_64 ghc-8.6.5
2020-04-04 12:31:22.61881029 [ThreadId 4] - Current directory:/workspace
2020-04-04 12:31:22.61920509 [ThreadId 4] - Operating system:linux
2020-04-04 12:31:22.61960009 [ThreadId 4] - args:["--lsp","-d","--vomit","-l","./lsp-log.txt"]
2020-04-04 12:31:22.62138289 [ThreadId 4] - Cabal-Helper found these projects: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:22.62203949 [ThreadId 4] - These projects have the build tools installed: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:22.62250599 [ThreadId 4] - Cabal-Helper decided to use: ProjLocV2Dir {plProjectDirV2 = "/workspace"}
2020-04-04 12:31:22.62275989 [ThreadId 4] - Cabal-Helper dirs: ["/workspace","/workspace/File.hs"]
2020-04-04 12:31:23.390271119 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version 1.1 x86_64 ghc-8.6.5
2020-04-04 12:31:23.390769119 [ThreadId 4] - Current directory:/workspace
2020-04-04 12:31:23.391092219 [ThreadId 4] - Operating system:linux
2020-04-04 12:31:23.391466719 [ThreadId 4] - args:["--lsp","-d","--vomit","-l","./lsp-log.txt"]
2020-04-04 12:31:23.393397719 [ThreadId 4] - Cabal-Helper found these projects: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:23.394545119 [ThreadId 4] - These projects have the build tools installed: ["ProjLocV2Dir {plProjectDirV2 = \"/workspace\"}","ProjLocV1Dir {plProjectDirV1 = \"/workspace\"}"]
2020-04-04 12:31:23.394878519 [ThreadId 4] - Cabal-Helper decided to use: ProjLocV2Dir {plProjectDirV2 = "/workspace"}
2020-04-04 12:31:23.395132319 [ThreadId 4] - Cabal-Helper dirs: ["/workspace","/workspace/File.hs"]

The project is miso's sample-app-jsaddle, which can be found here: https://github.com/dmjio/miso/tree/master/sample-app-jsaddle

I'm running it inside docker as a devcontainer, but I'm not sure if this is related.

Just in case, here's my current docker file:

FROM nixos/nix:2.3

RUN nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs
RUN nix-channel --update

RUN nix-env -iA \
        nixpkgs.curl \
        nixpkgs.jq \
        nixpkgs.git \
        nixpkgs.gnutar \
        nixpkgs.gzip \
        # get ca certificates for connecting to cachix
        nixpkgs.libressl \
        # install ag and entr for auto-rebuild
        nixpkgs.silver-searcher \
        nixpkgs.entr \
        nixpkgs.cabal-install

RUN nix-env -iA cachix -f https://cachix.org/api/v1/install
RUN SYSTEM_CERTIFICATE_PATH=$NIX_SSL_CERT_FILE USER=miso cachix use miso-haskell 
RUN SYSTEM_CERTIFICATE_PATH=$NIX_SSL_CERT_FILE USER=miso cachix use all-hies

RUN nix-env -iA nixpkgs.haskell.compiler.ghc865
RUN nix-env -iA nixpkgs.haskell.packages.ghc865.cabal-install

RUN nix-env -iA unstableFallback.selection --arg selector 'p: { inherit (p) ghc865; }' -f https://github.com/infinisil/all-hies/tarball/master

# ---- Copied from https://github.com/microsoft/vscode-dev-containers /containers/alpine*

# This Dockerfile adds a non-root user with sudo access. Use the "remoteUser"
# property in devcontainer.json to use it. On Linux, the container user's GID/UIDs
# will be updated to match your local UID/GID (when using the dockerFile property).
# See https://aka.ms/vscode-remote/containers/non-root-user for details.
ARG USERNAME=vscode
ARG USER_UID=1000
ARG USER_GID=$USER_UID

# Set to false to skip installing zsh and Oh My ZSH!
ARG INSTALL_ZSH="false"

# Location and expected SHA for common setup script - SHA generated on release
ARG COMMON_SCRIPT_SOURCE="https://raw.githubusercontent.com/microsoft/vscode-dev-containers/master/script-library/common-alpine.sh"
ARG COMMON_SCRIPT_SHA="dev-mode"

# Install git, bash, dependencies, and add a non-root user
RUN apk update \
    && apk add --no-cache wget coreutils ca-certificates \
    #
    # Verify git, common tools / libs installed, add/modify non-root user, optionally install zsh
    && wget -q -O /tmp/common-setup.sh $COMMON_SCRIPT_SOURCE \
    && if [ "$COMMON_SCRIPT_SHA" != "dev-mode" ]; then echo "$COMMON_SCRIPT_SHA /tmp/common-setup.sh" | sha256sum -c - ; fi \
    && /bin/ash /tmp/common-setup.sh "$INSTALL_ZSH" "$USERNAME" "$USER_UID" "$USER_GID" \
    && rm /tmp/common-setup.sh

COPY ./ /workspace
WORKDIR /workspace
RUN nix-build