Problems opening remote shell to Distillery release

I’m trying to set up a remote shell connection to an externally running node.
This node runs a release made using Distillery.
Rather than SSH-ing to the node and running /app/location/bin/appname remote_console, I want to run IEx locally, so that I can e.g. use :observer
However, running locally iex --name qqwy@Mycomputername --cookie mysecretcookie --remsh appname@12.34.56.78 returns the following unhelpful stack trace:

(Note: Since this is a live server with important data, I have replaced the real names, cookies and IP-address with placeholder ones.)

2017-10-08 16:21:20 crash_report        
    initial_call: {supervisor_bridge,user_sup,['Argument__1']}
    pid: <0.54.0>
    registered_name: []
    error_info: {exit,{badarg,[{ets,lookup,[elixir_config,identifier_tokenizer],[]},{elixir_config,get,1,[{file,"src/elixir_config.erl"},{line,22}]},{'Elixir.Macro',classify_identifier,1,[{file,"lib/macro.ex"},{line,134}]},{'Elixir.Inspect.Atom',inspect,1,[{file,"lib/inspect.ex"},{line,79}]},{'Elixir.Inspect.Atom',inspect,2,[{file,"lib/inspect.ex"},{line,65}]},{'Elixir.Kernel',inspect,2,[{file,"lib/kernel.ex"},{line,1698}]},{'Elixir.IEx.CLI',tty_args,0,[{file,"lib/iex/cli.ex"},{line,84}]},{'Elixir.IEx.CLI',start,0,[{file,"lib/iex/cli.ex"},{line,54}]}]},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,352}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
    ancestors: [kernel_sup,<0.34.0>]
    messages: [{'EXIT',#Port<0.677>,normal}]
    links: [<0.35.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 987
    stack_size: 27
    reductions: 465
2017-10-08 16:21:20 supervisor_report   
    supervisor: {local,kernel_sup}
    errorContext: start_error
    reason: {badarg,[{ets,lookup,[elixir_config,identifier_tokenizer],[]},{elixir_config,get,1,[{file,"src/elixir_config.erl"},{line,22}]},{'Elixir.Macro',classify_identifier,1,[{file,"lib/macro.ex"},{line,134}]},{'Elixir.Inspect.Atom',inspect,1,[{file,"lib/inspect.ex"},{line,79}]},{'Elixir.Inspect.Atom',inspect,2,[{file,"lib/inspect.ex"},{line,65}]},{'Elixir.Kernel',inspect,2,[{file,"lib/kernel.ex"},{line,1698}]},{'Elixir.IEx.CLI',tty_args,0,[{file,"lib/iex/cli.ex"},{line,84}]},{'Elixir.IEx.CLI',start,0,[{file,"lib/iex/cli.ex"},{line,54}]}]}
    offender: [{pid,undefined},{id,user},{mfargs,{user_sup,start,[]}},{restart_type,temporary},{shutdown,2000},{child_type,supervisor}]
2017-10-08 16:21:20 crash_report        
    initial_call: {application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}
    pid: <0.33.0>
    registered_name: []
    error_info: {exit,{{shutdown,{failed_to_start_child,user,{badarg,[{ets,lookup,[elixir_config,identifier_tokenizer],[]},{elixir_config,get,1,[{file,"src/elixir_config.erl"},{line,22}]},{'Elixir.Macro',classify_identifier,1,[{file,"lib/macro.ex"},{line,134}]},{'Elixir.Inspect.Atom',inspect,1,[{file,"lib/inspect.ex"},{line,79}]},{'Elixir.Inspect.Atom',inspect,2,[{file,"lib/inspect.ex"},{line,65}]},{'Elixir.Kernel',inspect,2,[{file,"lib/kernel.ex"},{line,1698}]},{'Elixir.IEx.CLI',tty_args,0,[{file,"lib/iex/cli.ex"},{line,84}]},{'Elixir.IEx.CLI',start,0,[{file,"lib/iex/cli.ex"},{line,54}]}]}}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,134}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
    ancestors: [<0.32.0>]
    messages: [{'EXIT',<0.34.0>,normal}]
    links: [<0.32.0>,<0.31.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 987
    stack_size: 27
    reductions: 191
2017-10-08 16:21:20 std_info            
    application: kernel
    exited: {{shutdown,{failed_to_start_child,user,{badarg,[{ets,lookup,[elixir_config,identifier_tokenizer],[]},{elixir_config,get,1,[{file,"src/elixir_config.erl"},{line,22}]},{'Elixir.Macro',classify_identifier,1,[{file,"lib/macro.ex"},{line,134}]},{'Elixir.Inspect.Atom',inspect,1,[{file,"lib/inspect.ex"},{line,79}]},{'Elixir.Inspect.Atom',inspect,2,[{file,"lib/inspect.ex"},{line,65}]},{'Elixir.Kernel',inspect,2,[{file,"lib/kernel.ex"},{line,1698}]},{'Elixir.IEx.CLI',tty_args,0,[{file,"lib/iex/cli.ex"},{line,84}]},{'Elixir.IEx.CLI',start,0,[{file,"lib/iex/cli.ex"},{line,54}]}]}}},{kernel,start,[normal,[]]}}
    type: permanent
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,user,{badarg,[{ets,lookup,[elixir_config,identifier_tokenizer],[]},{elixir_config,get,1,[{file,\"src/elixir_config.erl\"},{line,22}]},{'Elixir.Macro',classify_identifier,1,[{file,\"lib/macro.ex\"},{line,134}]},{'Elixir.Inspect.Atom',inspect,1,[{file,\"lib/inspect.ex\"},{line,79}]},{'Elixir.Inspect.Atom',inspect,2,[{file,\"lib/inspect.ex\"},{line,65}]},{'Elixir.Kernel',inspect,2,[{file,\"lib/kernel.ex\"},{line,1698}]},{'Elixir.IEx.CLI',tty_args,0,[{file,\"lib/iex/cli.ex\"},{line,84}]},{'Elixir.IEx.CLI',start,0,[{file,\"lib/iex/cli.ex\"},{line,54}]}]}}},{kernel,start,[normal,[]]}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,user,{badarg,[{ets,lookup,[elixir_config,identifier_tokenizer],[]},{elixir_config,ge

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

The cookie in my command matches the one set in the settings, and running /someplace/appname/bin/appname describe shows indeed this cookie, as well as the name appname@127.0.0.1.

What is going on?

2 Likes

Is your release and client running on same erts version?

1 Like

Yes, the release was made locally, on the computer that runs the client and then moved to the server.

1 Like

@Qqwy Did you ever figure this out?

1 Like

No, I did not. In the end, I wrote a script that SSH’d to the remote location and inside SSH started a local ‘remote’ shell.