Package: erlang-base
Version: 1:27.3.4.1+dfsg-1+deb13u1
Sure — here’s a concise bug report draft you can send to the Debian
maintainer.
I'm reporting an issue with the Debian epmd systemd socket/service
setup.
On my system, epmd initially appears to be listening on all interfaces:
ss -tulpn | grep epmd
tcp LISTEN 0 4096 *:4369 *:*
users:(("epmd",pid=2368130,fd=3),("systemd",pid=1,fd=199))
I tried to restrict epmd to localhost by creating a systemd socket
override:
[Socket]
ListenStream=127.0.0.1:4369
After that, I ran:
systemctl daemon-reload
systemctl restart epmd.socket epmd.service
At that point, `pmd.socket failed to start with:
epmd.socket: Failed to create listening socket (127.0.0.1:4369): Address
already in use
This was surprising because no process appeared to be holding port 4369
at that point.
I checked with `ss`, and nothing was listening on 4369.
However, after removing the socket override entirely, running:
systemctl daemon-reload
systemctl restart epmd.socket epmd.service
epmd started successfully again.
So the problem seems to be that overriding epmd.socket with
"ListenStream=127.0.0.1:4369" causes a bind failure even when the port
is not in use.
It looks like either:
- the packaged systemd socket setup does not support this override
cleanly,
- the socket unit and service interaction is not behaving as expected,
- or there is some hidden conflict/state left behind by the existing
epmd setup.
System details:
- Debian 13
- epmd auto-installed by ejabberd (apt install ejabberd)
Expected behavior:
- epmd.socket should bind to 127.0.0.1:4369 successfully when the port
is free.
Actual behavior:
- epmd.socket fails with "Address already in use"