KronicDeth / intellij-elixir

Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine)
Other
1.84k stars 153 forks source link

Debugger crashes when trying to start mix phx.server #1225

Closed schlumpfling42 closed 6 years ago

schlumpfling42 commented 6 years ago

I created a simple elixir phoenix application with brunch and vue. Created a run configuration for it, running it works fine, but when I try to run it in debug I get this:

"C:\Program Files\erl10.0.1\bin\erl.exe" -pa "C:/Program Files/erl10.0.1/lib/asn1-5.0.6/ebin" -pa "C:/Program Files/erl10.0.1/lib/common_test-1.16/ebin" -pa "C:/Program Files/erl10.0.1/lib/compiler-7.2.1/ebin" -pa "C:/Program Files/erl10.0.1/lib/crypto-4.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/debugger-4.2.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/dialyzer-3.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/diameter-2.1.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/edoc-0.9.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/eldap-1.2.4/ebin" -pa "C:/Program Files/erl10.0.1/lib/erl_docgen-0.8/ebin" -pa "C:/Program Files/erl10.0.1/lib/erl_interface-3.10.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/erts-10.0.1/ebin" -pa "C:/Program Files/erl10.0.1/lib/et-1.6.2/ebin" -pa "C:/Program Files/erl10.0.1/lib/eunit-2.3.6/ebin" -pa "C:/Program Files/erl10.0.1/lib/ftp-1.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/hipe-3.18/ebin" -pa "C:/Program Files/erl10.0.1/lib/inets-7.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/jinterface-1.9/ebin" -pa "C:/Program Files/erl10.0.1/lib/kernel-6.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/megaco-3.18.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/mnesia-4.15.4/ebin" -pa "C:/Program Files/erl10.0.1/lib/observer-2.8/ebin" -pa "C:/Program Files/erl10.0.1/lib/odbc-2.12.1/ebin" -pa "C:/Program Files/erl10.0.1/lib/os_mon-2.4.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/otp_mibs-1.2/ebin" -pa "C:/Program Files/erl10.0.1/lib/parsetools-2.1.7/ebin" -pa "C:/Program Files/erl10.0.1/lib/public_key-1.6/ebin" -pa "C:/Program Files/erl10.0.1/lib/reltool-0.7.6/ebin" -pa "C:/Program Files/erl10.0.1/lib/runtime_tools-1.13/ebin" -pa "C:/Program Files/erl10.0.1/lib/sasl-3.2/ebin" -pa "C:/Program Files/erl10.0.1/lib/snmp-5.2.11/ebin" -pa "C:/Program Files/erl10.0.1/lib/ssh-4.7/ebin" -pa "C:/Program Files/erl10.0.1/lib/ssl-9.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/stdlib-3.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/syntax_tools-2.1.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/tftp-1.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/tools-3.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/wx-1.8.4/ebin" -pa "C:/Program Files/erl10.0.1/lib/xmerl-1.3.17/ebin" -name debugged1034fa1f-b90c-4f95-b8c5-98cf120a17a8@127.0.0.1 -setcookie 1034fa1f-b90c-4f95-b8c5-98cf120a17a8 -eval application:ensure_all_started(elixir) -eval 'Elixir.Code':require_file(<<\"C:\Users\schlu\AppData\Local\Temp\intellij_elixir\debugger\lib\intellij_elixir\debugger\server.ex\">>) -eval 'Elixir.Code':require_file(<<\"C:\Users\schlu\AppData\Local\Temp\intellij_elixir\debugger\lib\intellij_elixir\debugged.ex\">>) -eval 'Elixir.Code':require_file(<<\"C:\Users\schlu\AppData\Local\Temp\intellij_elixir\debugger\lib\mix\tasks\intellij_elixir\debug.ex\">>) -pa "C:/Program Files (x86)/Elixir/lib/eex/ebin" -pa "C:/Program Files (x86)/Elixir/lib/elixir/ebin" -pa "C:/Program Files (x86)/Elixir/lib/ex_unit/ebin" -pa "C:/Program Files (x86)/Elixir/lib/iex/ebin" -pa "C:/Program Files (x86)/Elixir/lib/logger/ebin" -pa "C:/Program Files (x86)/Elixir/lib/mix/ebin" -noshell -s elixir start_cli -elixir ansi_enabled true -extra -I "C:\Program Files (x86)\Elixir\bin\mix" do intellij_elixir.debug, phx.server init terminating in do_boot ({,[{Elixir.Code,findfile,2,[{},{_}]},{Elixir.Code,requirefile,2,[{},{_}]},{erl_eval,doapply,6,[{},{_}]},{init,startit,1,[{},{_}]},{init,startem,1,[{},{_}]},{init

Crash dump is being written to: erl_crash.dump...{"init terminating in do_boot",{#{'exception'=>true,'struct'=>'Elixir.Code.LoadError',file=><<99,58,47,85,115,101,114,115,47,115,99,104,108,117,47,73,100,101,97,80,114,111,106,101,99,116,115,47,115,105,109,112,108,101,69,108,105,120,105,114,86,117,101,65,112,112,47,85,115,101,114,115,32,99,104,108,117,65,112,112,68,97,116,97,76,111,99,97,108,84,101,109,112,105,110,116,101,108,108,105,106,95,101,108,105,120,105,114,127,101,98,117,103,103,101,114,108,105,98,105,110,116,101,108,108,105,106,95,101,108,105,120,105,114,127,101,98,117,103,103,101,114,32,101,114,118,101,114,46,101,120>>,message=><<99,111,117,108,100,32,110,111,116,32,108,111,97,100,32,99,58,47,85,115,101,114,115,47,115,99,104,108,117,47,73,100,101,97,80,114,111,106,101,99,116,115,47,115,105,109,112,108,101,69,108,105,120,105,114,86,117,101,65,112,112,47,85,115,101,114,115,32,99,104,108,117,65,112,112,68,97,116,97,76,111,99,97,108,84,101,109,112,105,110,116,101,108,108,105,106,95,101,108,105,120,105,114,127,101,98,117,103,103,101,114,108,105,98,105,110,116,101,108,108,105,106,95,101,108,105,120,105,114,127,101,98,117,103,103,101,114,32,101,114,118,101,114,46,101,120>>},[{'Elixir.Code',find_file,2,[{file,"lib/code.ex"},{line,1147}]},{'Elixir.Code',require_file,2,[{file,"lib/code.ex"},{line,754}]},{erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,677}]},{init,start_it,1,[{file,"init.erl"},{line,1125}]},{init,start_em,1,[{file,"init.erl"},{line,1111}]},{init,do_boot,3,[{file,"init.erl"},{line,819}]}]}} done

What am I missing?

KronicDeth commented 6 years ago

You can try is rm -rf _build to see if allowing the SDK settings to redo the build clears up the issues.

You are on Windows, the last time something like this was reported, the charset was messed up as the error is saying that Elixir itself can't load the file. How the commandline is composed was revised between 7.5.0 and 8.0.0: it may have lost the part that fixed the charset problem on Windows.

Please uninstall 8.0.0 and install 7.5.0. If it works for you, then it's a regression due to the changes to the commandline composition.

schlumpfling42 commented 6 years ago

I uninstalled 8.0 and installed 7.5. I deleted the _build folder, removed the run configuration and created a new one. Running the task still works fine, but when I try to debug I get: "C:\Program Files\erl10.0.1\bin\erl.exe" -pa "C:/Program Files (x86)/Elixir/lib/eex/ebin" -pa "C:/Program Files (x86)/Elixir/lib/elixir/ebin" -pa "C:/Program Files (x86)/Elixir/lib/ex_unit/ebin" -pa "C:/Program Files (x86)/Elixir/lib/iex/ebin" -pa "C:/Program Files (x86)/Elixir/lib/logger/ebin" -pa "C:/Program Files (x86)/Elixir/lib/mix/ebin" -pa "C:/Program Files/erl10.0.1/lib/asn1-5.0.6/ebin" -pa "C:/Program Files/erl10.0.1/lib/common_test-1.16/ebin" -pa "C:/Program Files/erl10.0.1/lib/compiler-7.2.1/ebin" -pa "C:/Program Files/erl10.0.1/lib/crypto-4.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/debugger-4.2.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/dialyzer-3.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/diameter-2.1.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/edoc-0.9.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/eldap-1.2.4/ebin" -pa "C:/Program Files/erl10.0.1/lib/erl_docgen-0.8/ebin" -pa "C:/Program Files/erl10.0.1/lib/erl_interface-3.10.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/erts-10.0.1/ebin" -pa "C:/Program Files/erl10.0.1/lib/et-1.6.2/ebin" -pa "C:/Program Files/erl10.0.1/lib/eunit-2.3.6/ebin" -pa "C:/Program Files/erl10.0.1/lib/ftp-1.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/hipe-3.18/ebin" -pa "C:/Program Files/erl10.0.1/lib/inets-7.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/jinterface-1.9/ebin" -pa "C:/Program Files/erl10.0.1/lib/kernel-6.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/megaco-3.18.3/ebin" -pa "C:/Program Files/erl10.0.1/lib/mnesia-4.15.4/ebin" -pa "C:/Program Files/erl10.0.1/lib/observer-2.8/ebin" -pa "C:/Program Files/erl10.0.1/lib/odbc-2.12.1/ebin" -pa "C:/Program Files/erl10.0.1/lib/os_mon-2.4.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/otp_mibs-1.2/ebin" -pa "C:/Program Files/erl10.0.1/lib/parsetools-2.1.7/ebin" -pa "C:/Program Files/erl10.0.1/lib/public_key-1.6/ebin" -pa "C:/Program Files/erl10.0.1/lib/reltool-0.7.6/ebin" -pa "C:/Program Files/erl10.0.1/lib/runtime_tools-1.13/ebin" -pa "C:/Program Files/erl10.0.1/lib/sasl-3.2/ebin" -pa "C:/Program Files/erl10.0.1/lib/snmp-5.2.11/ebin" -pa "C:/Program Files/erl10.0.1/lib/ssh-4.7/ebin" -pa "C:/Program Files/erl10.0.1/lib/ssl-9.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/stdlib-3.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/syntax_tools-2.1.5/ebin" -pa "C:/Program Files/erl10.0.1/lib/tftp-1.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/tools-3.0/ebin" -pa "C:/Program Files/erl10.0.1/lib/wx-1.8.4/ebin" -pa "C:/Program Files/erl10.0.1/lib/xmerl-1.3.17/ebin" -noshell -s elixir start_cli -extra -r C:\Users\schlu\AppData\Local\Temp\intellij_elixir2\debugger\lib\debug_server.ex -r C:\Users\schlu\AppData\Local\Temp\intellij_elixir2\debugger\lib\debug_task.ex "C:\Program Files (x86)\Elixir\bin\mix" intellij_elixir.debugtask --debugger-port 60445 --do-not-interpret-pattern Access --do-not-interpret-pattern Agent --do-not-interpret-pattern Agent. --do-not-interpret-pattern Application --do-not-interpret-pattern Atom --do-not-interpret-pattern Base --do-not-interpret-pattern Bcrypt.Base --do-not-interpret-pattern Behaviour --do-not-interpret-pattern Bitwise --do-not-interpret-pattern Calendar --do-not-interpret-pattern Calendar. --do-not-interpret-pattern Code --do-not-interpret-pattern Code. --do-not-interpret-pattern Collectable --do-not-interpret-pattern Collectable. --do-not-interpret-pattern Connection --do-not-interpret-pattern DBConnection --do-not-interpret-pattern DBConnection. --do-not-interpret-pattern Date --do-not-interpret-pattern Date. --do-not-interpret-pattern DateTime --do-not-interpret-pattern Decimal --do-not-interpret-pattern Dict --do-not-interpret-pattern DynamicSupervisor --do-not-interpret-pattern Ecto --do-not-interpret-pattern Ecto. --do-not-interpret-pattern Enum --do-not-interpret-pattern Enumerable --do-not-interpret-pattern Enumerable. --do-not-interpret-pattern ExUnit --do-not-interpret-pattern ExUnit. --do-not-interpret-pattern File --do-not-interpret-pattern File.Stat --do-not-interpret-pattern File.Stream --do-not-interpret-pattern FileSystem --do-not-interpret-pattern FileSystem. --do-not-interpret-pattern Float --do-not-interpret-pattern GenEvent --do-not-interpret-pattern GenEvent.Stream --do-not-interpret-pattern GenServer --do-not-interpret-pattern Gettext --do-not-interpret-pattern Gettext. --do-not-interpret-pattern HashDict --do-not-interpret-pattern HashSet --do-not-interpret-pattern IEx --do-not-interpret-pattern IEx. --do-not-interpret-pattern IO --do-not-interpret-pattern IO. --do-not-interpret-pattern Inspect --do-not-interpret-pattern Inspect. --do-not-interpret-pattern Kernel --do-not-interpret-pattern Kernel. --do-not-interpret-pattern Keyword --do-not-interpret-pattern List --do-not-interpret-pattern List.Chars. --do-not-interpret-pattern Logger --do-not-interpret-pattern Logger. --do-not-interpret-pattern Macro --do-not-interpret-pattern Macro. --do-not-interpret-pattern Mix --do-not-interpret-pattern Mix. --do-not-interpret-pattern OptionParser --do-not-interpret-pattern Path --do-not-interpret-pattern Path. --do-not-interpret-pattern Phoenix --do-not-interpret-pattern Phoenix. --do-not-interpret-pattern Plug --do-not-interpret-pattern Plug. --do-not-interpret-pattern Poison --do-not-interpret-pattern Poison. --do-not-interpret-pattern Port --do-not-interpret-pattern Postgrex --do-not-interpret-pattern Postgrex. --do-not-interpret-pattern Process --do-not-interpret-pattern Protocol --do-not-interpret-pattern Range --do-not-interpret-pattern Record --do-not-interpret-pattern Record. --do-not-interpret-pattern Regex --do-not-interpret-pattern Registry --do-not-interpret-pattern Registry. --do-not-interpret-pattern Set --do-not-interpret-pattern Stream --do-not-interpret-pattern Stream. --do-not-interpret-pattern String --do-not-interpret-pattern String. --do-not-interpret-pattern StringIO --do-not-interpret-pattern Supervisor --do-not-interpret-pattern Supervisor. --do-not-interpret-pattern System --do-not-interpret-pattern Task --do-not-interpret-pattern Task. --do-not-interpret-pattern Time --do-not-interpret-pattern Tuple --do-not-interpret-pattern URI --do-not-interpret-pattern Version --do-not-interpret-pattern :cow* --do-not-interpret-pattern :elixir --do-not-interpret-pattern :erocksdb --do-not-interpret-pattern :lz4 --do-not-interpret-pattern :ranch --do-not-interpret-pattern :re2 -- phx.server ** (Mix) The task "intellij_elixir.debug_task" could not be found

KronicDeth commented 6 years ago

I'll download a test VM from Microsoft and see what's going on on Windows.

schlumpfling42 commented 6 years ago

OK ... I was fiddling around with the command line and broke it down to this bit: elixir -r "C:\Users\schlu\AppData\Local\Temp\intellij_elixir\debugger\lib*.ex" -S "C:\Program Files (x86)\Elixir\bin\mix" intellij_elixir.debug_task --debugger-port 60445 phx.server When I copy debug_server.ex and debug_task.ex into the lib folder it works. "C:\Users\schlu\AppData\Local\Temp\intellij_elixir\debugger\lib\" exisist and the files are there.

gmanolache commented 6 years ago

I have the same issue on OSX with Elixir 1.7.2 and Phoenix 1.3.4 launching from Intellij Launching from the command line with mix phx.server works fine

init terminating in do_boot ({undef,[{elixir,start_cli,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]})
{"init terminating in do_boot",{undef,[{elixir,start_cli,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}

Crash dump is being written to: erl_crash.dump...done

erl_crash.dump.zip

KronicDeth commented 6 years ago

I can't reproduce this on master in the IntelliJ debugger (where I run plugin inside a sandbox, so my normal development setup), but can on 8.0.0. I'm not sure which of the PRs I merged fixed it, but it is working now.

Give it a shot with this dev build @schlumpfling42, @gmanolache intellij-elixir-8.1.0.zip

The included build is version 8.1.0, so when 8.1.0 really comes out you'll need to uninstall this pre-release build and install the real version.

bulatnig commented 6 years ago

I have the same issue, reproducable using 8.1.0 version you provided. Steps to reproduce: mix new kv --module KV Import project from Mix Create default IEx Mix configuration Debug result: ** (Mix) The task "intellij_elixir.debug" could not be found kv.zip log.txt

KronicDeth commented 6 years ago

The debugger in 8.0.0 and 8.10 do not use a separate task, but inject code into the eval and requires, so I do not think you have 8.1.0 installed. What does Preferences > Plugins > Elixir day for the version and did you restart after installing? Which IDE are you using?

On Sun, Sep 2, 2018 at 3:44 PM Bulat Nigmatullin notifications@github.com wrote:

I have the same issue, reproducable using 8.1.0 version you provided. Steps to reproduce: mix new kv --module KV Import project from Mix Create default IEx Mix configuration Debug result: ** (Mix) The task "intellij_elixir.debug" could not be found kv.zip https://github.com/KronicDeth/intellij-elixir/files/2343730/kv.zip log.txt https://github.com/KronicDeth/intellij-elixir/files/2343739/log.txt

— You are receiving this because you modified the open/close state.

Reply to this email directly, view it on GitHub https://github.com/KronicDeth/intellij-elixir/issues/1225#issuecomment-417958513, or mute the thread https://github.com/notifications/unsubscribe-auth/AASNEzPnPPna_ngEczfapdliA2U7nOF5ks5uXEMjgaJpZM4WClof .

gmanolache commented 6 years ago

Hello, I've tried the provided 8.1.0. (checked Plugins preference page). I'm using IntelliJ IDEA Ultimate 2018.1

In order to reproduce I'm starting a phoenix server project via phx.server

erl_crash.dump.zip

bulatnig commented 6 years ago

IntelliJ IDEA 2018.2.2 EAP (Community Edition) Build #IC-182.4129.4, built on August 9, 2018

plugin_version

I've restarted IDE after installing new version of plugin

KronicDeth commented 6 years ago

The debugger in 8.0.0 and 8.10 do not use a separate task, but inject code into the eval and requires,

This isn't true. I forgot that I needed to add the mix task back to ensure that the code was compiled before I ran the debugger.

KronicDeth commented 6 years ago

@bulatka uninstall the zip the I provided and see if you can reproduce with the released version of 8.1.0.

If it still errors, can you give output of the line at the top with the full command for the run? It will be the top and greyed out:

/usr/local/Cellar/erlang/21.0.1/lib/erlang/bin/erl -pa /usr/local/Cellar/erlang/21.0.1/lib/erlang/lib -name debugged155315ed-c68a-45ff-927f-1507dda1c55a@127.0.0.1 -setcookie 155315ed-c68a-45ff-927f-1507dda1c55a -eval application:ensure_all_started(elixir) -eval 'Elixir.Code':require_file(<<\"/private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1734/debugger/lib/intellij_elixir/debugger/server.ex\">>) -eval 'Elixir.Code':require_file(<<\"/private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1734/debugger/lib/intellij_elixir/debugged.ex\">>) -eval 'Elixir.Code':require_file(<<\"/private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1734/debugger/lib/mix/tasks/intellij_elixir/debug.ex\">>) -pa /usr/local/Cellar/elixir/1.7.2/lib/logger/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/elixir/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/ex_unit/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/mix/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/eex/ebin -pa /usr/local/Cellar/elixir/1.7.2/lib/iex/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/wx-1.8.4/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/otp_mibs-1.2/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/inets-7.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/kernel-6.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/parsetools-2.1.7/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/tftp-1.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/sasl-3.2/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/crypto-4.3.1/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/hipe-3.18/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/diameter-2.1.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/eldap-1.2.4/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/tools-3.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/reltool-0.7.6/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/eunit-2.3.6/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/erl_docgen-0.8/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/erl_interface-3.10.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/runtime_tools-1.13/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/public_key-1.6.1/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/xmerl-1.3.17/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/observer-2.8/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/ftp-1.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/compiler-7.2.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/edoc-0.9.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/stdlib-3.5.1/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/mnesia-4.15.4/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/dialyzer-3.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/syntax_tools-2.1.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/ssl-9.0/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/et-1.6.2/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/snmp-5.2.11/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/os_mon-2.4.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/ssh-4.7/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/megaco-3.18.3/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/debugger-4.2.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/common_test-1.16/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/erts-10.0.5/ebin -pa /usr/local/Cellar/erlang/21.0.5/lib/erlang/lib/asn1-5.0.6/ebin -noshell -s elixir start_cli -elixir ansi_enabled true -extra -r /private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1215/exunit/1.6.0/team_city_ex_unit_formatting.ex -r /private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1215/exunit/1.6.0/team_city_ex_unit_formatter.ex /usr/local/Cellar/elixir/1.7.2/bin/mix do intellij_elixir.debug, test --formatter TeamCityExUnitFormatter test/explorer/chain_test.exs:1211 --trace

The important lines are these:

-eval 'Elixir.Code':require_file(<<\"/private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1734/debugger/lib/intellij_elixir/debugger/server.ex\">>) -eval 'Elixir.Code':require_file(<<\"/private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1734/debugger/lib/intellij_elixir/debugged.ex\">>) -eval 'Elixir.Code':require_file(<<\"/private/var/folders/kz/_y_vgl6505v0hgx16pt1vdsr0000gn/T/intellij_elixir1734/debugger/lib/mix/tasks/intellij_elixir/debug.ex\">>)

Take those paths and see if you can find those files on-disk. On macOS, the /private/var/folders prefix is what /tmp resolves to, so it will look different on different OSes. Look for -eval 'Elixir.Code':require_file(<<\".../debugger/lib/mix/tasks/intellij_elixir/debug.ex\">>) for the general pattern.

bulatnig commented 6 years ago

File is there $ ll /tmp/intellij_elixir/debugger/lib/mix/tasks/intellij_elixir/debug.ex -rw-rw-r-- 1 bulat bulat 392 сен 3 18:54 /tmp/intellij_elixir/debugger/lib/mix/tasks/intellij_elixir/debug.ex

log.txt

schlumpfling42 commented 6 years ago

I updated to version 8.1.0 and it's not working for me on windows 10. I took the command line and experimented until it works. When I change the eval part to this and run it on the command line it works: -eval 'application:ensure_all_started(elixir)' -eval 'Elixir.Code:require_file("C:/Users/schlu/AppData/Local/Temp/intellij_elixir/debugger/lib/intellij_elixir/debugger/server.ex")' -eval 'Elixir.Code:require_file("C:/Users/schlu/AppData/Local/Temp/intellij_elixir/debugger/lib/intellij_elixir/debugged.ex")' -eval 'Elixir.Code:require_file("C:/Users/schlu/AppData/Local/Temp/intellij_elixir/debugger/lib/mix/tasks/intellij_elixir/debug.ex")'

KronicDeth commented 6 years ago

I didn't know Elixir.Code:require_file would accept charlists, which is what you're doing in Erlang when you remove the <<...>>> around the "...". I'm guessing that << is being interpretted as shell characters on Windows.

PaulAGH commented 5 years ago

I am running Windows 7, and to provide feedback to the Aug 18 post, I can confirm that I am able to make the 7.5.0 plugin work (using Itellij IDEA 2018.1.4 and 2018.2.5 with erl9.2). Later versions of the plugin do not work, exhibiting symptoms as described above. When I try to use 7.5.0 plugin using the same version of Intellij but with erl10.1, I get the "** (Mix) The task "intellij_elixir.debug_task" could not be found" error.

Is it possible to have an idea of when this might get fixed, or is there some work around that we can put in place? I will be happy to help test a fix in my environment.

schlumpfling42 seems to indicate there may be a work-around, but I am not able to connect the dots as far as what to change in my environment to get the plugin to work. If there is a work-around and someone can offer some additional details about how to make the plugin work, it would be much appreciated.

spraggler commented 5 years ago

Hi Guys,

I'm having the same issue on Windows 10.

"C:\Program Files\erl10.1\bin\erl.exe" -pa "C:/Program Files/erl10.1/lib/asn1-5.0.7/ebin" -pa "C:/Program Files/erl10.1/lib/common_test-1.16.1/ebin" -pa "C:/Program Files/erl10.1/lib/compiler-7.2.5/ebin" -pa "C:/Program Files/erl10.1/lib/crypto-4.3.3/ebin" -pa "C:/Program Files/erl10.1/lib/debugger-4.2.6/ebin" -pa "C:/Program Files/erl10.1/lib/dialyzer-3.3.1/ebin" -pa "C:/Program Files/erl10.1/lib/diameter-2.1.6/ebin" -pa "C:/Program Files/erl10.1/lib/edoc-0.9.4/ebin" -pa "C:/Program Files/erl10.1/lib/eldap-1.2.5/ebin" -pa "C:/Program Files/erl10.1/lib/erl_docgen-0.8.1/ebin" -pa "C:/Program Files/erl10.1/lib/erl_interface-3.10.4/ebin" -pa "C:/Program Files/erl10.1/lib/erts-10.1/ebin" -pa "C:/Program Files/erl10.1/lib/et-1.6.3/ebin" -pa "C:/Program Files/erl10.1/lib/eunit-2.3.7/ebin" -pa "C:/Program Files/erl10.1/lib/ftp-1.0.1/ebin" -pa "C:/Program Files/erl10.1/lib/hipe-3.18.1/ebin" -pa "C:/Program Files/erl10.1/lib/inets-7.0.2/ebin" -pa "C:/Program Files/erl10.1/lib/jinterface-1.9.1/ebin" -pa "C:/Program Files/erl10.1/lib/kernel-6.1/ebin" -pa "C:/Program Files/erl10.1/lib/megaco-3.18.4/ebin" -pa "C:/Program Files/erl10.1/lib/mnesia-4.15.5/ebin" -pa "C:/Program Files/erl10.1/lib/observer-2.8.1/ebin" -pa "C:/Program Files/erl10.1/lib/odbc-2.12.2/ebin" -pa "C:/Program Files/erl10.1/lib/os_mon-2.4.6/ebin" -pa "C:/Program Files/erl10.1/lib/otp_mibs-1.2.1/ebin" -pa "C:/Program Files/erl10.1/lib/parsetools-2.1.8/ebin" -pa "C:/Program Files/erl10.1/lib/public_key-1.6.2/ebin" -pa "C:/Program Files/erl10.1/lib/reltool-0.7.7/ebin" -pa "C:/Program Files/erl10.1/lib/runtime_tools-1.13.1/ebin" -pa "C:/Program Files/erl10.1/lib/sasl-3.2.1/ebin" -pa "C:/Program Files/erl10.1/lib/snmp-5.2.12/ebin" -pa "C:/Program Files/erl10.1/lib/ssh-4.7.1/ebin" -pa "C:/Program Files/erl10.1/lib/ssl-9.0.2/ebin" -pa "C:/Program Files/erl10.1/lib/stdlib-3.6/ebin" -pa "C:/Program Files/erl10.1/lib/syntax_tools-2.1.6/ebin" -pa "C:/Program Files/erl10.1/lib/tftp-1.0.1/ebin" -pa "C:/Program Files/erl10.1/lib/tools-3.0.1/ebin" -pa "C:/Program Files/erl10.1/lib/wx-1.8.5/ebin" -pa "C:/Program Files/erl10.1/lib/xmerl-1.3.18/ebin" -name debugged0f2ecc8d-c370-43f5-a028-d855cb92ddd4@127.0.0.1 -setcookie 0f2ecc8d-c370-43f5-a028-d855cb92ddd4 -eval application:ensure_all_started(elixir) -eval 'Elixir.Code':require_file(<<\"C:\Users\Kirk.GS-DS\AppData\Local\Temp\intellij_elixir5\debugger\lib\intellij_elixir\debugger\server.ex\">>) -eval 'Elixir.Code':require_file(<<\"C:\Users\Kirk.GS-DS\AppData\Local\Temp\intellij_elixir5\debugger\lib\intellij_elixir\debugged.ex\">>) -eval 'Elixir.Code':require_file(<<\"C:\Users\Kirk.GS-DS\AppData\Local\Temp\intellij_elixir5\debugger\lib\mix\tasks\intellij_elixir\debug.ex\">>) -pa "C:/Program Files (x86)/Elixir/lib/eex/ebin" -pa "C:/Program Files (x86)/Elixir/lib/elixir/ebin" -pa "C:/Program Files (x86)/Elixir/lib/ex_unit/ebin" -pa "C:/Program Files (x86)/Elixir/lib/iex/ebin" -pa "C:/Program Files (x86)/Elixir/lib/logger/ebin" -pa "C:/Program Files (x86)/Elixir/lib/mix/ebin" -noshell -s elixir start_cli -elixir ansi_enabled true -extra "C:\Program Files (x86)\Elixir\bin\mix" do intellij_elixir.debug, phx.server

I've tried all the previous things mentioned above to no avail. I'm going to try manually editing the commands in the terminal like @schlumpfling42 mentioned and see if I can get it to work manually.

Currently using IntelliJ IDEA 2018.3.1 (Ultimate Edition) Build #IU-183.4588.61, built on December 4, 2018 JRE: 1.8.0_152-release-1343-b16 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Windows 10 10.0

Plugin version is Elixir V10.1.0

erl_crash.zip

On my iMac at home with identical versions it works without any issues.

Any word on possible solutions or workarounds would be appreciated.