Skip to content

Failure spawning project using a neovim frontend and mise #241

@badosu

Description

@badosu

I have been using expert with neovide (a neovim frontend) and mason for quite a while.

After the last update I noticed a peculiar failure, the "engine" builds but fails to spawn the project child:

expert.log excerpt
21:32:21.960 [info] Engine build available at: /home/badosu/.local/share/Expert/0.1.0-b237fd5/elixir-1.18.4-erts-14.2.5.2/337a120c4a0f3608086a2f2a3a040525/_build/dev_ns
21:32:21.992 [debug] sent notification server -> client $/progress
21:32:22.174 [debug] Node port message: /home/badosu/.local/share/mise/installs/elixir/1.18.4-otp-26/bin/elixir: line 244: exec: erl: not found

21:32:22.176 [info] Port #Port<0.11> has exited due to: :normal
21:32:24.993 [debug] sent notification server -> client $/progress
21:32:24.993 [error] GenServer :"teiserver::node_process" terminating
** (stop) :start_timeout
Last message: :maybe_start_timeout
State: nil
21:32:24.994 [error] Process #PID<0.174.0> terminating
** (exit) {:error, :start_timeout}
(stdlib 6.2.2.1) gen_server.erl:2210: :gen_server.init_it/6
(stdlib 6.2.2.1) proc_lib.erl:329: :proc_lib.init_p_do_apply/3
Initial Call: XPExpert.Project.Node.init/1
Ancestors: [:"teiserver::supervisor", XPExpert.ProjectSupervisor, XPExpert.Supervisor, #PID<0.158.0>]
Message Queue Length: 0
Messages: []
Links: [#PID<0.171.0>]
Dictionary: []
Trapping Exits: false
Status: :running
Heap Size: 28690
Stack Size: 29
Reductions: 21266
21:32:24.994 [error] Process :"teiserver::node_process" (#PID<0.182.0>) terminating
** (exit) :start_timeout
(stdlib 6.2.2.1) gen_server.erl:2476: :gen_server.handle_common_reply/8
(stdlib 6.2.2.1) proc_lib.erl:329: :proc_lib.init_p_do_apply/3

Of particular note is the following line:

21:32:22.174 [debug] Node port message: /home/badosu/.local/share/mise/installs/elixir/1.18.4-otp-26/bin/elixir: line 244: exec: erl: not found

Somehow it found the elixir binary but not the erl one.

Running neovim on the terminal does not present this behavior.

I made a neovim plugin/script to workaround this for now, I load mise env whenever the current directory of the editor changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions