lexical-lsp / lexical

Lexical is a next-generation elixir language server
877 stars 81 forks source link

Lexical server crashes on completion request #299

Closed andyleclair closed 1 year ago

andyleclair commented 1 year ago
00:27:24.132 [error] Child Lexical.Server of Supervisor Lexical.Server.Supervisor terminated
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in Lexical.Server.Provider.Queue.add/2
        (server 0.1.0) lib/lexical/server/provider/queue.ex:154: Lexical.Server.Provider.Queue.add(%Lexical.Protocol.Requests.Completion{lsp: %Lexical.Protocol.Requests.Completion.LSP{id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 13, line: 15]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/some_path.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
        (server 0.1.0) lib/lexical/server.ex:122: Lexical.Server.handle_message/2
        (server 0.1.0) lib/lexical/server.ex:48: Lexical.Server.handle_cast/2
        (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
        (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
        (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Pid: #PID<0.1970.0>
Start Call: Lexical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
00:27:24.132 [error] Child Lexical.Server of Supervisor Lexical.Server.Supervisor caused shutdown
** (exit) :reached_max_restart_intensity
Start Call: Lexical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
00:27:24.132 [info] Application server exited: shutdown

Elixir 1.14.1 Erlang 25.1.2

scottming commented 1 year ago

Can you provide more detailed reproduction steps? With just this one log line, we cannot fix this issue.

andyleclair commented 1 year ago

Hi, yes of course, sorry! I'm using neovim, installed with the snippet you all provide, and I had typed in a module name, then a . then tab to try to do completion and I got the notice that it crashed.

What else would be helpful?

scohen commented 1 year ago

That crash is likely after the causal crash, can we have more logs please?

scohen commented 1 year ago

@andyleclair any updates?

andyleclair commented 1 year ago
20:17:29.338 [info] Application logger started at :nonode@nohost
20:17:29.339 [info] Application lx_lexical_shared started at :nonode@nohost
20:17:29.339 [info] Application lx_common started at :nonode@nohost
20:17:29.339 [info] Application lx_elixir_sense started at :nonode@nohost
20:17:29.339 [info] Application erts started at :nonode@nohost
20:17:29.339 [info] Application jason started at :nonode@nohost
20:17:29.339 [info] Application logger_file_backend started at :nonode@nohost
20:17:29.339 [info] Application lx_path_glob started at :nonode@nohost
20:17:29.339 [info] Application lx_proto started at :nonode@nohost
20:17:29.339 [info] Application lx_protocol started at :nonode@nohost
20:17:29.339 [info] Child :ttb_autostart of Supervisor :runtime_tools_sup started
Pid: #PID<0.1955.0>
Start Call: :ttb_autostart.start_link()
Restart: :temporary
Shutdown: 3000
Type: :worker
20:17:29.339 [info] Application runtime_tools started at :nonode@nohost
20:17:29.339 [info] Child LXical.Document.Store of Supervisor LXical.Server.Supervisor started
Pid: #PID<0.1960.0>
Start Call: LXical.Document.Store.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.339 [info] Child LXical.Server of Supervisor LXical.Server.Supervisor started
Pid: #PID<0.1961.0>
Start Call: LXical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.339 [info] Child LXical.Server.ProjectSupervisor of Supervisor LXical.Server.Supervisor started
Pid: #PID<0.1962.0>
Start Call: DynamicSupervisor.start_link([name: LXical.Server.ProjectSupervisor, strategy: :one_for_one])
Restart: :permanent
Shutdown: :infinity
Type: :supervisor
20:17:29.339 [info] Child LXical.Server.Provider.Queue.Supervisor of Supervisor LXical.Server.Supervisor started
Pid: #PID<0.1963.0>
Start Call: Task.Supervisor.start_link([name: LXical.Server.Provider.Queue.Supervisor])
Restart: :permanent
Shutdown: :infinity
Type: :supervisor
20:17:29.339 [info] Child LXical.Server.Provider.Queue of Supervisor LXical.Server.Supervisor started
Pid: #PID<0.1964.0>
Start Call: LXical.Server.Provider.Queue.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.339 [info] Child LXical.Server.Transport.StdIO of Supervisor LXical.Server.Supervisor started
Pid: #PID<0.1965.0>
Start Call: LXical.Server.Transport.StdIO.start_link(:standard_io, &LXical.Server.protocol_message/1)
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.339 [info] Application lx_server started at :nonode@nohost
20:17:29.340 [info] Starting project at uri file:///home/borpht/src/testapp
20:17:29.341 [info] Child {LXical.Server.Project.Dispatch, "testapp"} of Supervisor :"testapp::supervisor" started
Pid: #PID<0.1968.0>
Start Call: LXical.Server.Project.Dispatch.start_link(%LXical.Project{root_uri: "file:///home/borpht/src/testapp", mix_exs_uri: "file:///home/borpht/src/testapp/mix.exs", mix_project?: true, mix_env: nil, mix_target: nil, env_variables: %{}, project_module: nil, entropy: 52252})
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.341 [info] Child {LXical.Server.Project.Diagnostics, "testapp"} of Supervisor :"testapp::supervisor" started
Pid: #PID<0.1969.0>
Start Call: LXical.Server.Project.Diagnostics.start_link(%LXical.Project{root_uri: "file:///home/borpht/src/testapp", mix_exs_uri: "file:///home/borpht/src/testapp/mix.exs", mix_project?: true, mix_env: nil, mix_target: nil, env_variables: %{}, project_module: nil, entropy: 52252})
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.341 [info] Child {LXical.Server.Project.Progress, "testapp"} of Supervisor :"testapp::supervisor" started
Pid: #PID<0.1970.0>
Start Call: LXical.Server.Project.Progress.start_link(%LXical.Project{root_uri: "file:///home/borpht/src/testapp", mix_exs_uri: "file:///home/borpht/src/testapp/mix.exs", mix_project?: true, mix_env: nil, mix_target: nil, env_variables: %{}, project_module: nil, entropy: 52252})
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.341 [info] Child {LXical.Server.Project.Intelligence, "testapp"} of Supervisor :"testapp::supervisor" started
Pid: #PID<0.1971.0>
Start Call: LXical.Server.Project.Intelligence.start_link(%LXical.Project{root_uri: "file:///home/borpht/src/testapp", mix_exs_uri: "file:///home/borpht/src/testapp/mix.exs", mix_project?: true, mix_env: nil, mix_target: nil, env_variables: %{}, project_module: nil, entropy: 52252})
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.341 [info] Child {LXical.RemoteControl.ProjectNodeSupervisor, "testapp"} of Supervisor :"testapp::supervisor" started
Pid: #PID<0.1972.0>
Start Call: LXical.RemoteControl.ProjectNodeSupervisor.start_link(%LXical.Project{root_uri: "file:///home/borpht/src/testapp", mix_exs_uri: "file:///home/borpht/src/testapp/mix.exs", mix_project?: true, mix_env: nil, mix_target: nil, env_variables: %{}, project_module: nil, entropy: 52252})
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.343 [info] Child :erl_epmd of Supervisor :net_sup started
Pid: #PID<0.1975.0>
Start Call: :erl_epmd.start_link()
Restart: :permanent
Shutdown: 2000
Type: :worker
20:17:29.343 [info] Child :auth of Supervisor :net_sup started
Pid: #PID<0.1976.0>
Start Call: :auth.start_link()
Restart: :permanent
Shutdown: 2000
Type: :worker
20:17:29.344 [info] Child :net_kernel of Supervisor :net_sup started
Pid: #PID<0.1977.0>
Start Call: :net_kernel.start_link(%{clean_halt: false, name: :"manager-testapp-52252@127.0.0.1", name_domain: :longnames, net_tickintensity: 4, net_ticktime: 60, supervisor: :net_sup_dynamic})
Restart: :permanent
Shutdown: 2000
Type: :worker
20:17:29.344 [info] Child :net_sup_dynamic of Supervisor :kernel_sup started
Pid: #PID<0.1974.0>
Start Call: :erl_distribution.start_link(%{clean_halt: false, name: :"manager-testapp-52252@127.0.0.1", name_domain: :longnames, net_tickintensity: 4, net_ticktime: 60, supervisor: :net_sup_dynamic})
Restart: :permanent
Shutdown: 1000
Type: :supervisor
20:17:29.381 [error] GenServer :"testapp::node_process" terminating
** (FunctionClauseError) no function clause matching in anonymous fn/1 in LXical.RemoteControl.reset_env/2
    (lx_remote_control 0.1.0) lib/lexical/remote_control.ex:175: anonymous fn("package.cpath = package.cpath .. '\\'';/home/borpht/.local/share/rtx/installs/lua/5.4.6/lib/lua/5.4/?.so;/home/borpht/.local/share/rtx/installs/lua/5.4.6/luarocks/lib/lua/5.4/?.so'\\'''") in LXical.RemoteControl.reset_env/2
    (elixir 1.14.1) lib/enum.ex:1658: Enum."-map/2-lists^map/1-0-"/2
    (elixir 1.14.1) lib/enum.ex:1658: Enum."-map/2-lists^map/1-0-"/2
    (lx_remote_control 0.1.0) lib/lexical/remote_control.ex:89: LXical.RemoteControl.elixir_executable/1
    (lx_remote_control 0.1.0) lib/lexical/remote_control/project_node.ex:33: LXical.RemoteControl.ProjectNode.State.start/3
    (lx_remote_control 0.1.0) lib/lexical/remote_control/project_node.ex:165: LXical.RemoteControl.ProjectNode.handle_call/3
    (stdlib 4.1.1) gen_server.erl:1149: :gen_server.try_handle_call/4
    (stdlib 4.1.1) gen_server.erl:1178: :gen_server.handle_msg/6
Last message (from :"testapp::node"): {:start, ['/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_lexical_shared-0.0.1/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_common-0.1.0/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_elixir_sense-2.0.0/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_path_glob-0.2.0/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_lexical_plugin-0.0.2/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_plugin_runner-0.1.0/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_sourceror-0.12.3/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_remote_control-0.1.0/ebin']}
State: %LXical.RemoteControl.ProjectNode.State{project: %LXical.Project{root_uri: "file:///home/borpht/src/testapp", mix_exs_uri: "file:///home/borpht/src/testapp/mix.exs", mix_project?: true, mix_env: nil, mix_target: nil, env_variables: %{}, project_module: nil, entropy: 52252}, port: nil, cookie: :lexical, stopped_by: nil, stop_timeout: nil, started_by: nil, status: :initializing}
Client :"testapp::node" is alive

    (stdlib 4.1.1) gen.erl:256: :gen.do_call/4
    (elixir 1.14.1) lib/gen_server.ex:1035: GenServer.call/3
    (lx_remote_control 0.1.0) lib/lexical/remote_control/project_node.ex:115: LXical.RemoteControl.ProjectNode.start/3
    (lx_remote_control 0.1.0) lib/lexical/remote_control.ex:22: LXical.RemoteControl.start_link/2
    (lx_server 0.1.0) lib/lexical/server/project/node.ex:96: LXical.Server.Project.Node.start_node/1
    (lx_server 0.1.0) lib/lexical/server/project/progress/support.ex:17: LXical.Server.Project.Progress.Support.with_progress/3
    (lx_server 0.1.0) lib/lexical/server/project/node.ex:53: LXical.Server.Project.Node.init/1
    (stdlib 4.1.1) gen_server.erl:851: :gen_server.init_it/2
20:17:29.382 [error] Process :"testapp::node_process" (#PID<0.1980.0>) terminating
** (FunctionClauseError) no function clause matching in anonymous fn/1 in LXical.RemoteControl.reset_env/2
    (lx_remote_control 0.1.0) lib/lexical/remote_control.ex:175: anonymous fn("package.cpath = package.cpath .. '\\'';/home/borpht/.local/share/rtx/installs/lua/5.4.6/lib/lua/5.4/?.so;/home/borpht/.local/share/rtx/installs/lua/5.4.6/luarocks/lib/lua/5.4/?.so'\\'''") in LXical.RemoteControl.reset_env/2
    (elixir 1.14.1) lib/enum.ex:1658: Enum."-map/2-lists^map/1-0-"/2
    (elixir 1.14.1) lib/enum.ex:1658: Enum."-map/2-lists^map/1-0-"/2
    (lx_remote_control 0.1.0) lib/lexical/remote_control.ex:89: LXical.RemoteControl.elixir_executable/1
    (lx_remote_control 0.1.0) lib/lexical/remote_control/project_node.ex:33: LXical.RemoteControl.ProjectNode.State.start/3
    (lx_remote_control 0.1.0) lib/lexical/remote_control/project_node.ex:165: LXical.RemoteControl.ProjectNode.handle_call/3
    (stdlib 4.1.1) gen_server.erl:1149: :gen_server.try_handle_call/4
    (stdlib 4.1.1) gen_server.erl:1178: :gen_server.handle_msg/6
Initial Call: LXical.RemoteControl.ProjectNode.init/1
Ancestors: [LXical.RemoteControl.ProjectNodeSupervisor, :"testapp::supervisor", LXical.Server.ProjectSupervisor, LXical.Server.Supervisor, #PID<0.1958.0>]
Message Queue Length: 1
Messages: [{:EXIT, #Port<0.9>, :normal}]
Links: [#PID<0.1972.0>]
Dictionary: []
Trapping Exits: true
Status: :running
Heap Size: 17731
Stack Size: 28
Reductions: 48777
20:17:29.382 [error] Child :undefined of Supervisor LXical.RemoteControl.ProjectNodeSupervisor terminated
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in anonymous fn/1 in LXical.RemoteControl.reset_env/2
        (lx_remote_control 0.1.0) lib/lexical/remote_control.ex:175: anonymous fn("package.cpath = package.cpath .. '\\'';/home/borpht/.local/share/rtx/installs/lua/5.4.6/lib/lua/5.4/?.so;/home/borpht/.local/share/rtx/installs/lua/5.4.6/luarocks/lib/lua/5.4/?.so'\\'''") in LXical.RemoteControl.reset_env/2
        (elixir 1.14.1) lib/enum.ex:1658: Enum."-map/2-lists^map/1-0-"/2
        (elixir 1.14.1) lib/enum.ex:1658: Enum."-map/2-lists^map/1-0-"/2
        (lx_remote_control 0.1.0) lib/lexical/remote_control.ex:89: LXical.RemoteControl.elixir_executable/1
        (lx_remote_control 0.1.0) lib/lexical/remote_control/project_node.ex:33: LXical.RemoteControl.ProjectNode.State.start/3
        (lx_remote_control 0.1.0) lib/lexical/remote_control/project_node.ex:165: LXical.RemoteControl.ProjectNode.handle_call/3
        (stdlib 4.1.1) gen_server.erl:1149: :gen_server.try_handle_call/4
        (stdlib 4.1.1) gen_server.erl:1178: :gen_server.handle_msg/6
Pid: #PID<0.1980.0>
Start Call: LXical.RemoteControl.ProjectNode.start_link(%LXical.Project{root_uri: "file:///home/borpht/src/testapp", mix_exs_uri: "file:///home/borpht/src/testapp/mix.exs", mix_project?: true, mix_env: nil, mix_target: nil, env_variables: %{}, project_module: nil, entropy: 52252})
Restart: :transient
Shutdown: 5000
Type: :worker
20:17:29.382 [error] Child {LXical.Server.Project.Node, "testapp"} of Supervisor :"testapp::supervisor" failed to start
** (exit) exited in: GenServer.call(:"testapp::node_process", {:start, ['/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_lexical_shared-0.0.1/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_common-0.1.0/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_elixir_sense-2.0.0/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_path_glob-0.2.0/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_lexical_plugin-0.0.2/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_plugin_runner-0.1.0/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_sourceror-0.12.3/ebin', '/home/borpht/lexical/_build/dev/rel/lexical/lib/lx_remote_control-0.1.0/ebin']}, 3500)
    ** (EXIT) an exception was raised:
        ** (FunctionClauseError) no function clause matching in anonymous fn/1 in LXical.RemoteControl.reset_env/2
            (lx_remote_control 0.1.0) lib/lexical/remote_control.ex:175: anonymous fn("package.cpath = package.cpath .. '\\'';/home/borpht/.local/share/rtx/installs/lua/5.4.6/lib/lua/5.4/?.so;/home/borpht/.local/share/rtx/installs/lua/5.4.6/luarocks/lib/lua/5.4/?.so'\\'''") in LXical.RemoteControl.reset_env/2
            (elixir 1.14.1) lib/enum.ex:1658: Enum."-map/2-lists^map/1-0-"/2
            (elixir 1.14.1) lib/enum.ex:1658: Enum."-map/2-lists^map/1-0-"/2
            (lx_remote_control 0.1.0) lib/lexical/remote_control.ex:89: LXical.RemoteControl.elixir_executable/1
            (lx_remote_control 0.1.0) lib/lexical/remote_control/project_node.ex:33: LXical.RemoteControl.ProjectNode.State.start/3
            (lx_remote_control 0.1.0) lib/lexical/remote_control/project_node.ex:165: LXical.RemoteControl.ProjectNode.handle_call/3
            (stdlib 4.1.1) gen_server.erl:1149: :gen_server.try_handle_call/4
            (stdlib 4.1.1) gen_server.erl:1178: :gen_server.handle_msg/6
Start Call: LXical.Server.Project.Node.start_link(%LXical.Project{root_uri: "file:///home/borpht/src/testapp", mix_exs_uri: "file:///home/borpht/src/testapp/mix.exs", mix_project?: true, mix_env: nil, mix_target: nil, env_variables: %{}, project_module: nil, entropy: 52252})
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:29.383 [info] Lexical Initialized
20:17:29.383 [info] opened file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex
20:17:32.590 [error] GenServer LXical.Server terminating
** (ArgumentError) errors were found at the given arguments:

  * 1st argument: invalid destination

    (erts 13.1.2) :erlang.send(:"testapp::dispatch", {:file_changed, "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex", 3, 3, true})
    (lx_server 0.1.0) lib/lexical/server/project/dispatch.ex:79: LXical.Server.Project.Dispatch.broadcast/2
    (lx_server 0.1.0) lib/lexical/server/state.ex:114: LXical.Server.State.apply/2
    (lx_server 0.1.0) lib/lexical/server.ex:128: LXical.Server.apply_to_state/2
    (lx_server 0.1.0) lib/lexical/server.ex:106: LXical.Server.handle_message/2
    (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
    (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
Last message: {:"$gen_cast", {:protocol_message, %LXical.Protocol.Notifications.DidChange{lsp: %LXical.Protocol.Notifications.DidChange.LSP{jsonrpc: "2.0", method: "textDocument/didChange", content_changes: [#Protocol.Types.TextDocument.ContentChangeEvent.TextDocumentContentChangeEvent<[range: #Protocol.Types.Range<[end: #Protocol.Types.Position<[character: 0, line: 4]>, start: #Protocol.Types.Position<[character: 31, line: 3]>]>, range_length: 1, text: "\n  \n"]>], text_document: #Protocol.Types.TextDocument.Versioned.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex", version: 3]>}, document: nil, jsonrpc: "2.0", method: "textDocument/didChange", content_changes: nil, text_document: nil}}}
State: %LXical.Server.State{configuration: %LXical.Server.Configuration{project: %LXical.Project{root_uri: "file:///home/borpht/src/testapp", mix_exs_uri: "file:///home/borpht/src/testapp/mix.exs", mix_project?: true, mix_env: nil, mix_target: nil, env_variables: %{}, project_module: nil, entropy: 52252}, support: %LXical.Server.Configuration.Support{code_action_dynamic_registration?: false, hierarchical_document_symbols?: true, snippet?: false, deprecated?: false, tags?: false, signature_help?: false, work_done_progress?: true}, additional_watched_extensions: nil, dialyzer_enabled?: false}, initialized?: true, shutdown_received?: false}
20:17:32.590 [error] Process LXical.Server (#PID<0.1961.0>) terminating
** (ArgumentError) errors were found at the given arguments:

  * 1st argument: invalid destination

    (erts 13.1.2) :erlang.send(:"testapp::dispatch", {:file_changed, "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex", 3, 3, true})
    (lx_server 0.1.0) lib/lexical/server/project/dispatch.ex:79: LXical.Server.Project.Dispatch.broadcast/2
    (lx_server 0.1.0) lib/lexical/server/state.ex:114: LXical.Server.State.apply/2
    (lx_server 0.1.0) lib/lexical/server.ex:128: LXical.Server.apply_to_state/2
    (lx_server 0.1.0) lib/lexical/server.ex:106: LXical.Server.handle_message/2
    (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
    (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
Initial Call: LXical.Server.init/1
Ancestors: [LXical.Server.Supervisor, #PID<0.1958.0>]
Message Queue Length: 0
Messages: []
Links: [#PID<0.1959.0>]
Dictionary: [rand_seed: {%{bits: 58, jump: #Function<3.34006561/1 in :rand.exsplus_jump>, next: #Function<0.34006561/1 in :rand.exsss_next>, type: :exsss, uniform: #Function<1.34006561/1 in :rand.exsss_uniform>, uniform_n: #Function<2.34006561/2 in :rand.exsss_uniform>}, [174539704628884216 | 149469772961543098]}]
Trapping Exits: false
Status: :running
Heap Size: 4185
Stack Size: 28
Reductions: 23008
20:17:32.591 [error] Child LXical.Server of Supervisor LXical.Server.Supervisor terminated
** (exit) an exception was raised:
    ** (ArgumentError) errors were found at the given arguments:

  * 1st argument: invalid destination

        (erts 13.1.2) :erlang.send(:"testapp::dispatch", {:file_changed, "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex", 3, 3, true})
        (lx_server 0.1.0) lib/lexical/server/project/dispatch.ex:79: LXical.Server.Project.Dispatch.broadcast/2
        (lx_server 0.1.0) lib/lexical/server/state.ex:114: LXical.Server.State.apply/2
        (lx_server 0.1.0) lib/lexical/server.ex:128: LXical.Server.apply_to_state/2
        (lx_server 0.1.0) lib/lexical/server.ex:106: LXical.Server.handle_message/2
        (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
        (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
        (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
Pid: #PID<0.1961.0>
Start Call: LXical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:32.591 [info] Child LXical.Server of Supervisor LXical.Server.Supervisor started
Pid: #PID<0.1982.0>
Start Call: LXical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:32.739 [error] Received textDocument/didChange before server was initialized
20:17:32.739 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:32.739 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:34.103 [error] Received textDocument/didChange before server was initialized
20:17:34.103 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:34.103 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:34.104 [error] GenServer LXical.Server terminating
** (FunctionClauseError) no function clause matching in LXical.Server.Provider.Queue.add/2
    (lx_server 0.1.0) lib/lexical/server/provider/queue.ex:154: LXical.Server.Provider.Queue.add(%LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 2, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 3, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 2, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
    (lx_server 0.1.0) lib/lexical/server.ex:122: LXical.Server.handle_message/2
    (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
    (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
    (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: {:"$gen_cast", {:protocol_message, %LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 2, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 3, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 2, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}}}
State: %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}
20:17:34.104 [error] Process LXical.Server (#PID<0.1982.0>) terminating
** (FunctionClauseError) no function clause matching in LXical.Server.Provider.Queue.add/2
    (lx_server 0.1.0) lib/lexical/server/provider/queue.ex:154: LXical.Server.Provider.Queue.add(%LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 2, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 3, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 2, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
    (lx_server 0.1.0) lib/lexical/server.ex:122: LXical.Server.handle_message/2
    (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
    (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
    (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Initial Call: LXical.Server.init/1
Ancestors: [LXical.Server.Supervisor, #PID<0.1958.0>]
Message Queue Length: 0
Messages: []
Links: [#PID<0.1959.0>]
Dictionary: []
Trapping Exits: false
Status: :running
Heap Size: 4185
Stack Size: 28
Reductions: 16814
20:17:34.105 [error] Child LXical.Server of Supervisor LXical.Server.Supervisor terminated
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in LXical.Server.Provider.Queue.add/2
        (lx_server 0.1.0) lib/lexical/server/provider/queue.ex:154: LXical.Server.Provider.Queue.add(%LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 2, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 3, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 2, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
        (lx_server 0.1.0) lib/lexical/server.ex:122: LXical.Server.handle_message/2
        (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
        (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
        (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
        (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Pid: #PID<0.1982.0>
Start Call: LXical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:34.105 [info] Child LXical.Server of Supervisor LXical.Server.Supervisor started
Pid: #PID<0.1983.0>
Start Call: LXical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:34.272 [error] Received textDocument/didChange before server was initialized
20:17:34.272 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:34.272 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:34.420 [error] Received textDocument/didChange before server was initialized
20:17:34.420 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:34.420 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:34.807 [error] Received textDocument/didChange before server was initialized
20:17:34.807 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:34.807 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:36.056 [error] Received textDocument/didChange before server was initialized
20:17:36.056 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:36.056 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:36.057 [error] GenServer LXical.Server terminating
** (FunctionClauseError) no function clause matching in LXical.Server.Provider.Queue.add/2
    (lx_server 0.1.0) lib/lexical/server/provider/queue.ex:154: LXical.Server.Provider.Queue.add(%LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 3, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 7, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 3, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
    (lx_server 0.1.0) lib/lexical/server.ex:122: LXical.Server.handle_message/2
    (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
    (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
    (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: {:"$gen_cast", {:protocol_message, %LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 3, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 7, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 3, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}}}
State: %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}
20:17:36.057 [error] Process LXical.Server (#PID<0.1983.0>) terminating
** (FunctionClauseError) no function clause matching in LXical.Server.Provider.Queue.add/2
    (lx_server 0.1.0) lib/lexical/server/provider/queue.ex:154: LXical.Server.Provider.Queue.add(%LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 3, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 7, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 3, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
    (lx_server 0.1.0) lib/lexical/server.ex:122: LXical.Server.handle_message/2
    (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
    (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
    (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Initial Call: LXical.Server.init/1
Ancestors: [LXical.Server.Supervisor, #PID<0.1958.0>]
Message Queue Length: 0
Messages: []
Links: [#PID<0.1959.0>]
Dictionary: []
Trapping Exits: false
Status: :running
Heap Size: 4185
Stack Size: 28
Reductions: 19851
20:17:36.057 [error] Child LXical.Server of Supervisor LXical.Server.Supervisor terminated
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in LXical.Server.Provider.Queue.add/2
        (lx_server 0.1.0) lib/lexical/server/provider/queue.ex:154: LXical.Server.Provider.Queue.add(%LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 3, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 7, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 3, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
        (lx_server 0.1.0) lib/lexical/server.ex:122: LXical.Server.handle_message/2
        (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
        (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
        (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
        (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Pid: #PID<0.1983.0>
Start Call: LXical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:36.058 [info] Child LXical.Server of Supervisor LXical.Server.Supervisor started
Pid: #PID<0.1984.0>
Start Call: LXical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:36.205 [error] Received textDocument/didChange before server was initialized
20:17:36.205 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:36.205 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:36.354 [error] Received textDocument/didChange before server was initialized
20:17:36.355 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:36.355 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:36.767 [error] Received textDocument/didChange before server was initialized
20:17:36.767 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:36.767 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:36.916 [error] Received textDocument/didChange before server was initialized
20:17:36.916 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:36.916 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:37.127 [error] Received textDocument/didChange before server was initialized
20:17:37.127 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:37.127 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:37.256 [error] Received textDocument/didChange before server was initialized
20:17:37.256 [error] Failed to handle Elixir.LXical.Protocol.Notifications.DidChange, {{:error, :not_initialized}, %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}}
20:17:37.256 [error] Could not handle message LXical.Protocol.Notifications.DidChange :ok
20:17:37.256 [error] GenServer LXical.Server terminating
** (FunctionClauseError) no function clause matching in LXical.Server.Provider.Queue.add/2
    (lx_server 0.1.0) lib/lexical/server/provider/queue.ex:154: LXical.Server.Provider.Queue.add(%LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 14, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
    (lx_server 0.1.0) lib/lexical/server.ex:122: LXical.Server.handle_message/2
    (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
    (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
    (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: {:"$gen_cast", {:protocol_message, %LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 14, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}}}
State: %LXical.Server.State{configuration: nil, initialized?: false, shutdown_received?: false}
20:17:37.257 [error] Process LXical.Server (#PID<0.1984.0>) terminating
** (FunctionClauseError) no function clause matching in LXical.Server.Provider.Queue.add/2
    (lx_server 0.1.0) lib/lexical/server/provider/queue.ex:154: LXical.Server.Provider.Queue.add(%LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 14, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
    (lx_server 0.1.0) lib/lexical/server.ex:122: LXical.Server.handle_message/2
    (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
    (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
    (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Initial Call: LXical.Server.init/1
Ancestors: [LXical.Server.Supervisor, #PID<0.1958.0>]
Message Queue Length: 0
Messages: []
Links: [#PID<0.1959.0>]
Dictionary: []
Trapping Exits: false
Status: :running
Heap Size: 4185
Stack Size: 28
Reductions: 22817
20:17:37.257 [error] Child LXical.Server of Supervisor LXical.Server.Supervisor terminated
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in LXical.Server.Provider.Queue.add/2
        (lx_server 0.1.0) lib/lexical/server/provider/queue.ex:154: LXical.Server.Provider.Queue.add(%LXical.Protocol.Requests.Completion{lsp: %LXical.Protocol.Requests.Completion.LSP{id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: #Protocol.Types.Completion.Context<[trigger_kind: :invoked]>, partial_result_token: nil, position: #Protocol.Types.Position<[character: 14, line: 5]>, text_document: #Protocol.Types.TextDocument.Identifier<[uri: "file:///home/borpht/src/testapp/lib/testapp_web/controllers/page_html.ex"]>, work_done_token: nil}, document: nil, position: nil, id: 4, jsonrpc: "2.0", method: "textDocument/completion", context: nil, partial_result_token: nil, text_document: nil, work_done_token: nil}, nil)
        (lx_server 0.1.0) lib/lexical/server.ex:122: LXical.Server.handle_message/2
        (lx_server 0.1.0) lib/lexical/server.ex:48: LXical.Server.handle_cast/2
        (stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
        (stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
        (stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Pid: #PID<0.1984.0>
Start Call: LXical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:37.257 [error] Child LXical.Server of Supervisor LXical.Server.Supervisor caused shutdown
** (exit) :reached_max_restart_intensity
Start Call: LXical.Server.start_link([])
Restart: :permanent
Shutdown: 5000
Type: :worker
20:17:37.258 [info] Application lx_server exited: shutdown
andyleclair commented 1 year ago

Is that helpful?

scottming commented 1 year ago

Yeah, that is helpful.

The node did not start, and it looks like the crash was caused by the reset_env function @scohen

andyleclair commented 1 year ago

I've figured this out, looks like if there's something in the PATH that doesn't start with export it'll cause this function to choke. I've added another clause in my PR to basically match anything else, then reject nils

scohen commented 1 year ago

It's not on the path, it's the output from rtx env -s bash. What is the output for you?