erl -remsh doesn't connect to a running node -- solution
Mon Aug 17 23:22:49 CEST 2009
for a long time I've been suffering from a weird issue. When connecting
to our production boxes, e.g.
devbox$ ssh prod
prod$ erl -sname vss$$ -remsh node@REDACTED
(note that the beam is running on the same box)
...I'd then issue something like "registered()." and note that I'm not
really connected to the production Erlang. It would be just a brand new
Erlang node. However, when connecting from another box, I'd successfully
connect to our system.
I was puzzled by that for quite a while and today my colleague pointed
out that the issue is linked to the TERM setting I'd use. When ssh'ing
from, say, Solaris to FreeBSD, the terminal setting gets set to
"xtermc", which is invalid on FreeBSD. Running 'erl' in interactive mode
with invalid TERM setting screws things up somehow and that's why 'erl'
doesn't connect to a running beam, but starts a new node instead (yeah,
without a warning).
I hope this will be of help to someone else.
Vlad Skvortsov, vss@REDACTED, http://vss.73rus.com
More information about the erlang-questions