[erlang-questions] How to connect erlang nodes over IPv6 (on Ubuntu 10.04 server installations, Erlang R14B1)?

Boris Mühmer boris.muehmer@REDACTED
Tue Feb 15 07:08:30 CET 2011


I saw an interesting behaviour of empd, which I didn't come to my
attention until now:

1) I started "empd"in one shell with the "-d" option.
2) From another shell I called "empd -names"
3) I tried to start "erl -name test1 -setcookie abc123 -proto_dist inet6_tcp"
4) I wanted to use "empd -kill"
5) I had to use "ctrl-c" to stop "empd"

Here is the output from the shell with "empd -d" running:
--->snipp<---
$ /opt/Erlang/OTP/R14B01/20110214/2100/bin/epmd -d
epmd: Tue Feb 15 06:56:50 2011: epmd running - daemon = 0
epmd: Tue Feb 15 06:56:54 2011: ** got NAMES_REQ
epmd: Tue Feb 15 06:56:54 2011: ** sent NAMES_RESP
epmd: Tue Feb 15 06:56:59 2011: ** got ALIVE2_REQ
epmd: Tue Feb 15 06:56:59 2011: ALIVE2_REQ from non local address
epmd: Tue Feb 15 06:57:03 2011: KILL_REQ from non local address
^C
--->snipp<---

The IMHO interesting part is, that "empd" prints "from non local
address" when starting "erl" or running "empd -kill".

After getting home from work, I will add some debugging information to
"empd" to see why it belives that those calls were "non local"
addresses...


  - boris


2011/2/14 Boris Mühmer <boris.muehmer@REDACTED>:
> Using the git-source as a base, I build a new version for testing.
>
> The only difference of the source was, that I removed the "&&
> defined(EPMD6)" from "erts/epmd/src/epmd_int.h".
>
> After starting "empd -d" and running "erl -name test1 -setcookie
> abc123 -proto_dist inet6_tcp" I got a "erl_crash.dump".
>
> Using a new "erl" instance, I called "crashdump_viewer:start()." and
> tried to load the "erl_crash.dump" file, but I always get "An error
> occured: C:\fakepath\erl_crash.dump is not an Erlang crash dump"!
>
> Looking into "erl_crash.dump" the first few lines are:
> ---> snipp <---
> =erl_crash_dump:0.1
> Mon Feb 14 23:00:50 2011
> Slogan: Kernel pid terminated (application_controller)
> ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})
> System version: Erlang R14B02 (erts-5.8.3) [source] [64-bit] [smp:2:2]
> [rq:2] [async-threads:0] [hipe] [kernel-poll:false]
> Compiled: Mon Feb 14 22:17:17 2011
> Taints:
> Atoms: 4043
> ---> snipp <---
>
> Is the "crashdump_viewer" broken?
> Are there any other tools to "analyse" an "erl_crash.dump" file?
>
>
>  - boris
>
>
>
> 2011/2/14 Boris Mühmer <boris.muehmer@REDACTED>:
>> Is there a special option to build "epmd" with IPv6 support? Actually
>> is there a system on which "epmd" binds itself to an IPv6 port?
>>
>> I checked my Windows 7 system with "netstat", but I could only see
>> "epmd" binding itself to the IPv4 port.
>>
>> "configure" tries to set "HAVE_IN6" (this is set on my Ubuntu
>> system(s)). I believe "AF_INET6" comes from the linux kernel.
>>
>> But "what" (I didn't want to put "who" in here) is responsible for "EPMD6"?
>>
>> Running "grep -r EPMD6 ." in the top level directory of the source
>> tree just gives me a single result:
>>    ./erts/epmd/src/epmd_int.h:#if defined(HAVE_IN6) &&
>> defined(AF_INET6) && defined(EPMD6)
>>
>> Using grep I saw, that there a several dependencies on "HAVE_IN6" and
>> "AF_INET6", but only a single one for "EPMD6".
>>
>>
>>  - boris
>


More information about the erlang-questions mailing list