RPC wont bind without an IP address on a non-localhost interface #13155
issue TheBlueMatt openend this issue on May 2, 2018-
TheBlueMatt commented at 7:11 pm on May 2, 2018: contributorIf the only interface which has an IP address and is up is lo, one of the two default rpcbinds (:: and 0.0.0.0) will fail with “libevent: getaddrinfo: address family for nodename not supported”.
-
fanquake added the label RPC/REST/ZMQ on May 2, 2018
-
pinheadmz commented at 5:24 pm on April 7, 2023: member
I know this is an old one, but can you offer steps to reproduce? I down’ed all interfaces except
lo
on macOS and rpc bound fine:0--> ifconfig | grep UP -A 5 1lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 2 options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP> 3 inet 127.0.0.1 netmask 0xff000000 4 inet6 ::1 prefixlen 128 5 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 6 nd6 options=201<PERFORMNUD,DAD>
02023-04-07T17:19:42Z Binding RPC on address ::1 port 18443 12023-04-07T17:19:42Z Binding RPC on address 127.0.0.1 port 18443
However,
I did notice that in a docker container with no ipv6 I got the error you reported… but that makes sense so I don’t understand if there is still a bug or if you think the error message maybe needs to be changed?
0# ifconfig 1eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 2 inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255 3 ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet) 4 RX packets 195 bytes 218835 (218.8 KB) 5 RX errors 0 dropped 0 overruns 0 frame 0 6 TX packets 131 bytes 7323 (7.3 KB) 7 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 8 9lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 10 inet 127.0.0.1 netmask 255.0.0.0 11 loop txqueuelen 1000 (Local Loopback) 12 RX packets 24 bytes 1200 (1.2 KB) 13 RX errors 0 dropped 0 overruns 0 frame 0 14 TX packets 24 bytes 1200 (1.2 KB) 15 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
02023-04-07T16:41:56Z Binding RPC on address ::1 port 18443 12023-04-07T16:41:56Z [libevent:warning] getaddrinfo: address family for nodename not supported 22023-04-07T16:41:56Z Binding RPC on address ::1 port 18443 failed. 32023-04-07T16:41:56Z Binding RPC on address 127.0.0.1 port 18443
-
pinheadmz commented at 3:58 pm on April 13, 2023: memberThanks Matt! Closing for now, lets reopen if it comes up again
-
pinheadmz closed this on Apr 13, 2023
-
bitcoin locked this on Apr 12, 2024
-
bitcoin unlocked this on Jun 10, 2024
-
maflcko reopened this on Jun 10, 2024
-
m3dwards commented at 5:18 pm on June 12, 2024: contributor
I believe this is the same issue as in #30245 but in libevent.
If you pass
::1
togetaddrinfo
when configured withAI_ADDRCONFIG
it will check that there is a non loopback IPV6 interface configured. This was to prevent IPV6 DNS lookups on IPV4 only machines which could be slow.Please see #30245 for a more full write up and some references.
As I understand it, there are efforts to replace libevent so rather than attempting to get this behaviour changed upstream in libevent we could just wait for that.
-
vasild commented at 12:35 pm on June 14, 2024: contributor
one of the two default rpcbinds (:: and 0.0.0.0) will fail
Which one? Is it always
::
or always0.0.0.0
or randomly one or the other? I guess there is some mistake here because the default rpcbinds are::1
and127.0.0.1
(not::
and0.0.0.0
).
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-27 00:12 UTC
More mirrored repositories can be found on mirror.b10c.me