elixir-tools / credo-language-server

LSP implementation for Credo.
MIT License
96 stars 11 forks source link

`"mix compile" failed` #24

Closed zachdaniel closed 1 year ago

zachdaniel commented 1 year ago

Hello! I don't have much info, but I get this error repeatedly when using with VSCode

could not compile dependency :credo_language_server, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile credo_language_server", update it with "mix deps.update credo_language_server" or clean it with "mix deps.clean credo_language_server"
[Error - 11:02:20 AM] Server initialization failed.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:02:21 AM] The Credo server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.
[Error - 11:02:21 AM] Credo client: couldn't create connection to server.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 11:02:21 AM] Restarting server failed
  Message: Pending response rejected since connection got disposed
  Code: -32097 

Don't have too much time to look into it. Excited about the project though :)

mhanberg commented 1 year ago

Thanks for the report!

Did you get this from the Credo section of the Output panel?

mhanberg commented 1 year ago

Also, are you working with a mono repo? or using VSCode workspaces?

How are you using Elixir (asdf?)

What version of Elixir?

zachdaniel commented 1 year ago

its a single repo (a small hex library), installed via asdf, 1.14.3.

mhanberg commented 1 year ago

i can't seem to reproduce. If the hex library is public, I can try cloning it and trying there.

zachdaniel commented 1 year ago

This is the github repository: https://github.com/ash-project/ash_oban

I'm sure it could be something with my local/vscode setup, but I don't have anything more to go on than the error message above currently.

mhanberg commented 1 year ago

Was there no compile error above the output you shared?

Just looking at where it said "Errors may have been logged above."

zachdaniel commented 1 year ago

As far as I can tell, no errors. I do get a bunch of warnings:

warning: found quoted keyword "ash" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:2:4

warning: found quoted keyword "bunt" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:3:4

warning: found quoted keyword "certifi" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:4:4

warning: found quoted keyword "comparable" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:5:4

warning: found quoted keyword "credo" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:6:4

warning: found quoted keyword "db_connection" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:7:4

warning: found quoted keyword "decimal" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:8:4

warning: found quoted keyword "dialyxir" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:9:4

warning: found quoted keyword "earmark_parser" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:10:4

warning: found quoted keyword "ecto" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:11:4

warning: found quoted keyword "ecto_sql" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:12:4

warning: found quoted keyword "elixir_make" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:13:4

warning: found quoted keyword "erlex" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:14:4

warning: found quoted keyword "ets" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:15:4

warning: found quoted keyword "ex_check" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:16:4

warning: found quoted keyword "ex_doc" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:17:4

warning: found quoted keyword "excoveralls" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:18:4

warning: found quoted keyword "file_system" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:19:4

warning: found quoted keyword "git_cli" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:20:4

warning: found quoted keyword "git_ops" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:21:4

warning: found quoted keyword "hackney" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:22:4

warning: found quoted keyword "idna" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:23:4

warning: found quoted keyword "jason" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:24:4

warning: found quoted keyword "makeup" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:25:4

warning: found quoted keyword "makeup_elixir" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:26:4

warning: found quoted keyword "makeup_erlang" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:27:4

warning: found quoted keyword "metrics" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:28:4

warning: found quoted keyword "mimerl" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:29:4

warning: found quoted keyword "nimble_options" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:30:4

warning: found quoted keyword "nimble_parsec" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:31:4

warning: found quoted keyword "oban" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:32:4

warning: found quoted keyword "oban_pro" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:33:4

warning: found quoted keyword "parse_trans" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:34:4

warning: found quoted keyword "picosat_elixir" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:35:4

warning: found quoted keyword "sobelow" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:36:4

warning: found quoted keyword "sourceror" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:37:4

warning: found quoted keyword "spark" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:38:4

warning: found quoted keyword "ssl_verify_fun" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:39:4

warning: found quoted keyword "stream_data" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:40:4

warning: found quoted keyword "telemetry" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:41:4

warning: found quoted keyword "typable" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:42:4

warning: found quoted keyword "unicode_util_compat" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
  mix.lock:43:4
mhanberg commented 1 year ago

the warnings are an unfortunate side effect of how it figures out what credo version you're using, but are not an actual problem (I couldn't figure out a way to silence them.

Gotcha, thanks again for the report, i'll dig into it

mhanberg commented 1 year ago

with your project, I am seeing it fail, going to let it stay up for a bit to see if it prints the same error (shut down X times in Y minutes)

mhanberg commented 1 year ago

weird, i uninstalled it so i could install a local copy, and then it worked, then I uninstalled the local copy and re-installed from the marketplace and it worked.

mhanberg commented 1 year ago

@zachdaniel I released something unrelated, so naturally you should try again to see if it did anything 😄. v0.0.4 should be live in the extension marketplace now.

zachdaniel commented 1 year ago

Well, that fixed it 😆 or at least updating the extension/restarting it resolved the issue. Thanks!

mhanberg commented 1 year ago

No problem, don't hesitate to open another issue if something else goofs!

zachdaniel commented 1 year ago

Thanks for your responsiveness 🙇