[erlang-bugs] epmd fails to start

Alvaro Videla videlalvaro@REDACTED
Sun Apr 22 11:56:37 CEST 2012


Hi, 

I've found a but that if Erlang is installed in a path with spaces then _epmd_ fails to start when started automatically by _erl_. You can still start epmd manually.

Platform where the bug happens: Linux & Mac (where I tested at least).

How to reproduce:

Install Erlang in a path with spaces like "/tmp/path with spaces/"

Start Erlang like this:

erl -sname foo

You will get this error:

sh: /tmp/path: No such file or directory
{error_logger,{{2012,4,22},{11,50,7}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,econnrefused}},[{inet_tcp_dist,listen,1,[{file,"inet_tcp_dist.erl"},{line,70}]},{net_kernel,start_protos,4,[{file,"net_kernel.erl"},{line,1314}]},{net_kernel,start_protos,3,[{file,"net_kernel.erl"},{line,1307}]},{net_kernel,init_node,2,[{file,"net_kernel.erl"},{line,1197}]},{net_kernel,init,1,[{file,"net_kernel.erl"},{line,357}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}]}
{error_logger,{{2012,4,22},{11,50,7}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.19.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,320}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[#Port<0.53>,<0.16.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,24},{reductions,474}],[]]}
{error_logger,{{2012,4,22},{11,50,7}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfargs,{net_kernel,start_link,[[a,shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2012,4,22},{11,50,7}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2012,4,22},{11,50,7}},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"}

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})



If you DTrace it like this for example:

sudo dtruss -f ./erts-5.9.1/bin/erl -boot ./releases/2.8.1/start_clean -sname a 

You will see that the error happens in this system call:

execve("/tmp/path\0", 0x10C204BD0, 0x10C2049E0) = -1 Err#2 

Which I think is part of this file: erts/emulator/sys/unix/sys.c 

In the Mac is quite common to have User home folders in path with spaces. I've found this while trying to create an Erlang release and distribute it via inside a Mac.app

The bug happens in R15B01 so I guess it also appears in earlier versions.

Also perhaps if epmd is not running for whatever the reason maybe Erlang could give a more meaningful error.

Regards,

Alvaro

-- 
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20120422/622456c4/attachment.htm>


More information about the erlang-bugs mailing list