[Pkg-erlang-devel] Bug#823248: erlang-base-hipe: Cannot connect to epmd when IPv6 is enabled
Josef Kufner
jk at frozen-doe.net
Mon May 2 17:32:40 UTC 2016
Package: erlang-base-hipe
Version: 1:18.3-dfsg-1
Severity: important
Tags: ipv6
Dear Maintainer,
after upgrade to ejabberd 18.3 it won't start. I found that problem is
in connection to epmd, which won't accept the connection.
Run `epmd -d` in one terminal.
Run `strace epmd -names` in second terminal.
The second command will get stuck when connecting to the first epmd,
strace says:
...
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET6, sin6_port=htons(4369), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28
... and nothing happens. After few minutes, connect times out and fails.
I'm running only ejabberd 18.3, it worked fine with ejabberd 18.2 and
erlang of the same age.
I disabled IPv6 using `echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6`
and everything works again, except IPv6 connectivity (luckily I don't
have it anyway). With this workaround `strace epmd -names` says:
...
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET6, sin6_port=htons(4369), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EADDRNOTAVAIL (Cannot assign requested address)
close(3) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(4369),
sin_addr=inet_addr("127.0.0.1")}, 16) = 0
write(3, "\0\1n", 3) = 3
read(3, "\0\0\21\21", 4) = 4
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f40ce13b000
write(1, "epmd: up and running on port 436"..., 45epmd: up and running
on port 4369 with data:) = 45
read(3, "", 3060) = 0
close(3) = 0
exit_group(0) = ?
+++ exited with 0 +++
So the IPv6 connect fails instantly and IPv4 connect works fine.
-- System Information:
Debian Release: stretch/sid
APT prefers stable
APT policy: (750, 'stable'), (700, 'unstable'), (650, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 4.5.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=cs_CZ.utf8, LC_CTYPE=cs_CZ.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
Versions of packages erlang-base-hipe depends on:
ii adduser 3.114
ii init-system-helpers 1.31
ii libc6 2.22-7
ii libsystemd0 229-5
ii libtinfo5 6.0+20160319-1
ii procps 2:3.3.11-3
ii zlib1g 1:1.2.8.dfsg-2+b1
Versions of packages erlang-base-hipe recommends:
ii erlang-crypto 1:18.3-dfsg-1
ii erlang-syntax-tools 1:18.3-dfsg-1
ii libsctp1 1.0.16+dfsg-3
Versions of packages erlang-base-hipe suggests:
pn erlang <none>
pn erlang-doc <none>
ii erlang-edoc 1:18.3-dfsg-1
pn erlang-gs <none>
ii erlang-manpages 1:18.3-dfsg-1
ii erlang-tools 1:18.3-dfsg-1
-- no debconf information
More information about the Pkg-erlang-devel
mailing list