Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Erlang remote shell not working

I have some strange behaviour on my docker containers (CentOS). When I SSH into it there's a running instance of Erlang VM ([email protected]) I can't connect to it with -remsh argument, however I can ping it. My Erlang node ([email protected]) works correctly though.

bash-4.2# ./bin/erl -name '[email protected]' -remsh '[email protected]'
Eshell V6.1  (abort with ^G)
([email protected])1> node().
'[email protected]'
([email protected])2> net_adm:ping('[email protected]').
pong
([email protected])3> erlang:system_info(system_version).
"Erlang/OTP 17 [erts-6.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]\n"
([email protected])4> rpc:call('[email protected]', erlang, node, []).
'[email protected]'

There're 2 linux processes running - one for the actual VM and another for the process that tries to invoke remote shell

26 ?        Sl    40:46 /home/vcap/app/bin/beam.smp -- -root /home/vcap/app -progname erl -- -home /home/vcap/app/ -- -name [email protected] -boot releases/14.2.0299/start -config sys -boot_var PATH lib -noshell
32542 ?     Sl+    0:00 /home/vcap/app/bin/beam.smp -- -root /home/vcap/app -progname erl -- -home /home/vcap/app -- -name [email protected] -remsh [email protected]

When I copy Erlang binary files to the host (Arch Linux) and run ./bin/erl I have different results:

[jodias@arch tmp]$ ./bin/erl
Erlang/OTP 17 [erts-6.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V6.1  (abort with ^G)
1>

Please note that there's the Erlang system version printed and that's missing on a docker container (however Erlang binaries are exactly the same).

like image 567
Kuba Odias Avatar asked Oct 20 '16 05:10

Kuba Odias


1 Answers

What is $TERM in shell you're trying to open remote? There is a problem when TERM is absent or is not known to ncurses which Erlang is built against, making remote shell connection fail silently. Try this one:

TERM=xterm ./bin/erl -name '[email protected]' -remsh '[email protected]'

I once reported the problem to Erlang mailing list but no answer came up. Now I see this issue is in Erlang issue tracker. Please vote for it to be picked by OTP team ;)

like image 73
reith Avatar answered Oct 05 '22 04:10

reith