Comment 0 for bug 1374109

Revision history for this message
alexander (alex-g-marinov) wrote :

The bug is actually located in erlang itself. epmd fails to bind to any IPv4 address if instructed to do so

[Impact]
Users of RabbitMQ in IPv4 environments are unable to start rabbitmq unless the environment variable ERL_EPMD_ADDRESS is unset. In case of disabled IPv6 support there is no valid setting for ERL_EPMD_ADDRESS as
* IPv4 addresses will be rejected as syntacitcally invalid
* IPv6 addresses will fail to bind

[Test Case]
service rabbitmq-server stop && killall epmd

ERL_EPMD_ADDRESS="127.0.0.1" epmd
epmd: Thu Sep 25 21:00:16 2014: cannot parse IP address "127.0.0.1"

same could be acieved with the epmd's -address option

In case IPv6 support is disabled:
ERL_EPMD_ADDRESS="::1" epmd
epmd: Thu Sep 25 21:01:40 2014: failed to bind socket: Cannot assign requested address

-- rabbitmq case:
cat rabbitmq-env.conf
export RABBITMQ_NODENAME=rabbit@localhost
export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1
export ERL_EPMD_ADDRESS=127.0.0.1

service rabbitmq-server start
 * Starting message broker rabbitmq-server
 * FAILED - check /var/log/rabbitmq/startup_\{log, _err\} [fail]

Commenting/removing the "export ERL_EPMD_ADDRESS=127.0.0.1" line resolves the issue

[Possible cause]
In this bug: https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/1312507?comments=all

The issue was fixed using -DEPMD6" in CPPFLAGS (https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/1312507/comments/5) which perhaps (I speculate only)

There is another complaint regarding the same issue here: https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/1312507/comments/14

[System info]
lsb_release -rd
Description: Ubuntu 14.04.1 LTS
Release: 14.04

apt-cache policy rabbitmq-server
rabbitmq-server:
  Installed: 3.2.4-1
  Candidate: 3.2.4-1
  Version table:
 *** 3.2.4-1 0
        500 http://mirror.hetzner.de/ubuntu/packages/ trusty/main amd64 Packages
        500 http://de.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status

apt-cache policy erlang-base
erlang-base:
  Installed: 1:16.b.3-dfsg-1ubuntu2.1
  Candidate: 1:16.b.3-dfsg-1ubuntu2.1
  Version table:
 *** 1:16.b.3-dfsg-1ubuntu2.1 0
        500 http://mirror.hetzner.de/ubuntu/packages/ trusty-updates/main amd64 Packages
        500 http://de.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1:16.b.3-dfsg-1ubuntu2 0
        500 http://mirror.hetzner.de/ubuntu/packages/ trusty/main amd64 Packages
        500 http://de.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages