next-ls icon indicating copy to clipboard operation
next-ls copied to clipboard

(Protocol.UndefinedError) protocol Enumerable not implemented for :timeout of type Atom

Open iampeter opened this issue 1 year ago • 3 comments

In Zed, when using next-ls, I am getting the following error:

2024-08-23T10:42:01.49206899+09:30 [WARN] Generic lsp request to Next LS failed: ** (Protocol.UndefinedError) protocol Enumerable not implemented for :timeout of type Atom. This protocol is implemented for the following type(s): DBConnection.PrepareStream, DBConnection.Stream, Date.Range, Exqlite.Stream, File.Stream, Function, GenEvent.Stream, HashDict, HashSet, IO.Stream, Jason.OrderedObject, List, Map, MapSet, Range, Stream
    (elixir 1.17.2) lib/enum.ex:1: Enumerable.impl_for!/1
    (elixir 1.17.2) lib/enum.ex:166: Enumerable.reduce/3
    (elixir 1.17.2) lib/enum.ex:4423: Enum.reject/2
    (next_ls 0.23.2) lib/next_ls.ex:244: NextLS.handle_request/2
    (gen_lsp 0.10.0) lib/gen_lsp.ex:350: anonymous fn/2 in GenLSP.loop/3
    (telemetry 1.2.1) /Users/runner/work/next-ls/next-ls/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
    (gen_lsp 0.10.0) lib/gen_lsp.ex:349: anonymous fn/7 in GenLSP.loop/3
    (gen_lsp 0.10.0) lib/gen_lsp.ex:553: GenLSP.attempt/4

iampeter avatar Aug 23 '24 01:08 iampeter

I am getting the exact same message. Looking at the source code, the :timeout result is unhandled here: https://github.com/elixir-tools/next-ls/blob/main/lib/next_ls.ex#L244 Another question is what causes the timeout.

Lexical also does not work for me out of the box right now. The only language server that seems to be working out of the box is the default elixir-ls

tomekowal avatar Aug 29 '24 09:08 tomekowal

I have the same issue in vscode and cursor for 2-3 months now already. Can we provide any additional information / help?

littleStudent avatar Sep 16 '24 06:09 littleStudent

Any news for this issue?

In my case I have following error when I compile in Zed:

 (Protocol.UndefinedError) protocol Enumerable not implemented for :timeout of type Atom. This protocol is implemented for the following type(s): DBConnection.PrepareStream, DBConnection.Stream, Date.Range, Exqlite.Stream, File.Stream, Function, GenEvent.Stream, HashDict, HashSet, IO.Stream, Jason.OrderedObject, List, Map, MapSet, Range, Stream
    (elixir 1.17.2) lib/enum.ex:1: Enumerable.impl_for!/1
    (elixir 1.17.2) lib/enum.ex:166: Enumerable.reduce/3
    (elixir 1.17.2) lib/enum.ex:4423: Enum.reject/2
    (next_ls 0.23.2) lib/next_ls.ex:244: NextLS.handle_request/2
    (gen_lsp 0.10.0) lib/gen_lsp.ex:350: anonymous fn/2 in GenLSP.loop/3
    (telemetry 1.2.1) /private/tmp/next-ls-20240822-9161-v6wlf1/next-ls-0.23.2/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
    (gen_lsp 0.10.0) lib/gen_lsp.ex:349: anonymous fn/7 in GenLSP.loop/3
    (gen_lsp 0.10.0) lib/gen_lsp.ex:553: GenLSP.attempt/4

paskudnyprogramista avatar Sep 16 '24 14:09 paskudnyprogramista

Can we disable telemetry, if this is the cause?

ponychicken avatar Jul 31 '25 11:07 ponychicken

Closed by #569

mhanberg avatar Jul 31 '25 13:07 mhanberg