Skip to content

Specifying vm.args (with hostname) makes "rebar3 shell" crash #27

@vasu-dasari

Description

@vasu-dasari

I have been playing with the example "demo" code from the repo. I wanted to add a sname to the demo Erlang VM. So, created a file called, config/vm.args in the demo directory which looks like:

-sname demo

And issued the following commands from the demo directory:

docker run --rm -v ${HOME}:${HOME} -w `pwd` -it elixir bash # Elixir (1.6) docker environment

And in docker from demo directory:

mix local.rebar --force
mix local.hex --force

rebar3 compile
ERL_FLAGS=" -args_file config/vm.args" rebar3 shell

I see the following error:

root@b40fb051a6c7:demo# ERL_FLAGS=" -args_file config/vm.args" rebar3 shell
===> Failed creating providers. Run with DEBUG=1 for stacktrace or consult rebar3.crashdump.

On turning DEBUG=1, I see the following message:

===> sh info:
    cwd: "/Users/vdasari/Developer/demo"
    cmd: elixir -e "IO.puts :code.lib_dir(:elixir)"

===> 	opts: []

===> Port Cmd: elixir -e "IO.puts :code.lib_dir(:elixir)"
Port Opts: [exit_status,{line,16384},use_stdio,stderr_to_stdout,hide,eof]

===> sh(elixir -e "IO.puts :code.lib_dir(:elixir)")
failed with return code 1 and the following output:
Protocol 'inet_tcp': the name demo@b40fb051a6c7 seems to be in use by another Erlang node

===> throw: rebar_abort [{rebar_utils,debug_and_abort,2,
                                 [{file,
                                   "/usr/src/rebar3-src/_build/default/lib/rebar/src/rebar_utils.erl"},
                                  {line,605}]},
                                {rebar_utils,sh,2,
                                 [{file,
                                   "/usr/src/rebar3-src/_build/default/lib/rebar/src/rebar_utils.erl"},
                                  {line,197}]},
                                {rebar3_elixir_compile_util,get_details,1,
                                 [{file,
                                   "/Users/vdasari/Developer/demo/_build/default/plugins/rebar3_elixir_compile/src/rebar3_elixir_compile_util.erl"},
                                  {line,66}]},
                                {rebar3_elixir_compile,init,1,
                                 [{file,
                                   "/Users/vdasari/Developer/demo/_build/default/plugins/rebar3_elixir_compile/src/rebar3_elixir_compile.erl"},
                                  {line,8}]},
                                {rebar_state,
                                 '-create_logic_providers/2-fun-0-',2,
                                 [{file,
                                   "/usr/src/rebar3-src/_build/default/lib/rebar/src/rebar_state.erl"},
                                  {line,409}]},
                                {lists,foldl,3,
                                 [{file,"lists.erl"},{line,1263}]},
                                {rebar_state,create_logic_providers,2,
                                 [{file,
                                   "/usr/src/rebar3-src/_build/default/lib/rebar/src/rebar_state.erl"},
                                  {line,408}]},
                                {rebar_plugins,'-handle_plugins/4-fun-0-',4,
                                 [{file,
                                   "/usr/src/rebar3-src/_build/default/lib/rebar/src/rebar_plugins.erl"},
                                  {line,84}]}]
===> Failed creating providers. Run with DEBUG=1 for stacktrace or consult rebar3.crashdump.

I generally use this command ERL_FLAGS=" -args_file config/vm.args" rebar3 shell to run rebar3 shell for normal Erlang-Rebar projects. I expected to see this working for Elixir imported projects as well. May I know what do I need to do to make this command work.

Metadata

Metadata

Assignees

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