elixir-lsp/elixir-ls

After Upgrading to Fedora 32 on multiple machines, ElixirLS won't start

hamptokr opened this issue · 9 comments

Environment

  • Elixir & Erlang versions (elixir --version): Elixir 1.9.2 (compiled with Erlang/OTP 22)
  • Operating system: Fedora 32
  • Editor or IDE name (e.g. Emacs/VSCode): VSCode
  • LSP Client name: ElixirLS: Elixir support and debugger
    • If using VSCode, are you using "ElixirLS: Elixir support and debugger"?

Troubleshooting

  • Restart your editor (which will restart ElixirLS) sometimes fixes issues
  • Stop your editor, remove the entire .elixir_ls directory, then restart your editor
    • NOTE: This will cause you to have to re-run the dialyzer build for your project

The .elixir_ls directory never gets created, I assume because the ElixirLS application never starts.

Logs

Creating a new project with mix new empty has the same issue.

Output:

09:08:24.291 [info]  Application elixir_ls_utils exited: :stopped
Started ElixirLS Fork v0.3.3

09:08:24.291 [info]  Application erl2ex exited: :stopped

09:08:24.291 [info]  Application forms exited: :stopped
Elixir version: "1.9.2 (compiled with Erlang/OTP 22)"
Erlang version: "22"
[Warn  - 9:08:24 AM] ** (exit) exited in: GenServer.call(ElixirLS.LanguageServer.JsonRpc, {:packet, %{"id" => 0, "jsonrpc" => "2.0", "method" => "initialize", "params" => %{"capabilities" => %{"textDocument" => %{"codeAction" => %{"codeActionLiteralSupport" => %{"codeActionKind" => %{"valueSet" => ["", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports"]}}, "dynamicRegistration" => true, "isPreferredSupport" => true}, "codeLens" => %{"dynamicRegistration" => true}, "colorProvider" => %{"dynamicRegistration" => true}, "completion" => %{"completionItem" => %{"commitCharactersSupport" => true, "deprecatedSupport" => true, "documentationFormat" => ["markdown", "plaintext"], "preselectSupport" => true, "snippetSupport" => true, "tagSupport" => %{"valueSet" => [1]}}, "completionItemKind" => %{"valueSet" => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]}, "contextSupport" => true, "dynamicRegistration" => true}, "declaration" => %{"dynamicRegistration" => true, "linkSupport" => true}, "definition" => %{"dynamicRegistration" => true, "linkSupport" => true}, "documentHighlight" => %{"dynamicRegistration" => true}, "documentLink" => %{"dynamicRegistration" => true, "tooltipSupport" => true}, "documentSymbol" => %{"dynamicRegistration" => true, "hierarchicalDocumentSymbolSupport" => true, "symbolKind" => %{"valueSet" => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, "foldingRange" => %{"dynamicRegistration" => true, "lineFoldingOnly" => true, "rangeLimit" => 5000}, "formatting" => %{"dynamicRegistration" => true}, "hover" => %{"contentFormat" => ["markdown", "plaintext"], "dynamicRegistration" => true}, "implementation" => %{"dynamicRegistration" => true, "linkSupport" => true}, "onTypeFormatting" => %{"dynamicRegistration" => true}, "publishDiagnostics" => %{"relatedInformation" => true, "tagSupport" => %{"valueSet" => [1, 2]}, "versionSupport" => false}, "rangeFormatting" => %{"dynamicRegistration" => true}, "references" => %{"dynamicRegistration" => true}, "rename" => %{"dynamicRegistration" => true, "prepareSupport" => true}, "selectionRange" => %{"dynamicRegistration" => true}, "signatureHelp" => %{"contextSupport" => true, "dynamicRegistration" => true, "signatureInformation" => %{"documentationFormat" => ["markdown", "plaintext"], "parameterInformation" => %{"labelOffsetSupport" => true}}}, "synchronization" => %{"didSave" => true, "dynamicRegistration" => true, "willSave" => true, "willSaveWaitUntil" => true}, "typeDefinition" => %{"dynamicRegistration" => true, "linkSupport" => true}}, "window" => %{"workDoneProgress" => true}, "workspace" => %{"applyEdit" => true, "configuration" => true, "didChangeConfiguration" => %{"dynamicRegistration" => true}, "didChangeWatchedFiles" => %{"dynamicRegistration" => true}, "executeCommand" => %{"dynamicRegistration" => true}, "symbol" => %{"dynamicRegistration" => true, "symbolKind" => %{"valueSet" => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, "workspaceEdit" => %{"documentChanges" => true, "failureHandling" => "textOnlyTransactional", "resourceOperations" => ["create", "rename", "delete"]}, "workspaceFolders" => true}}, "clientInfo" => %{"name" => "vscode", "version" => "1.44.2"}, "processId" => 27023, "rootPath" => "/home/khampton/work/nucleus", "rootUri" => "file:///home/khampton/work/nucleus", "trace" => "off", "workspaceFolders" => [%{"name" => "nucleus", "uri" => "file:///home/khampton/work/nucleus"}]}}}, 5000)
    ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
    (elixir) lib/gen_server.ex:999: GenServer.call/3
    (elixir) lib/stream.ex:440: anonymous fn/4 in Stream.each/2
    (elixir) lib/stream.ex:1409: Stream.do_resource/5
    (elixir) lib/stream.ex:1583: Enumerable.Stream.do_each/4
    (elixir) lib/stream.ex:646: Stream.run/1
    (stdlib) erl_eval.erl:680: :erl_eval.do_apply/6
    (elixir) lib/code.ex:240: Code.eval_string/3
[Info  - 9:08:24 AM] Connection to server got closed. Server will restart.

Developer console error: The ElixirLS server crashed 5 times in the last 3 minutes. The server will not be restarted.

How did you install elixir and erlang? This looks like errors that people have seen with a partial installation of erlang.

On Fedora 31 I used sudo dnf install elixir. The problem arose when I upgraded to Fedora 32. I tried re-installing but same issue. I am able to run phoenix apps and other elixir based tools just fine, but ElixirLS just crashes.

The following packages get installed with that command

erlang-mnesia-22.3.2-1.fc32.x86_64
erlang-runtime_tools-22.3.2-1.fc32.x86_64
erlang-parsetools-22.3.2-1.fc32.x86_64
erlang-asn1-22.3.2-1.fc32.x86_64
erlang-public_key-22.3.2-1.fc32.x86_64
erlang-inets-22.3.2-1.fc32.x86_64
erlang-ssl-22.3.2-1.fc32.x86_64
erlang-tools-22.3.2-1.fc32.x86_64
erlang-sasl-22.3.2-1.fc32.x86_64
elixir-1.9.2-2.fc32.x86_64

Are there any other erlang packages available?

Especially any that mention dialyzer.

I have the dialyzer package installed as well:
Package erlang-dialyzer-22.3.2-1.fc32.x86_64 is already installed.

Uninstalling the fedora packaged elixir and using kiex to install elixir 1.10.3, fixed the issue. Not sure if we want to leave this issue open? It did not work with elixir 1.9.2 on fedora 32.

If you do sudo dnf install erlang then it will add all the packages that ElixirLS needs

Added a troubleshooting note to the README. Thanks for the report!