https://bugzilla.redhat.com/show_bug.cgi?id=1865207 --- Comment #8 from Petr Pisar <ppisar@xxxxxxxxxx> --- In mock environment there is an empty /etc/resolv.conf and thus glibc resolver sends the DNS queries using UDP to 127.0.0.1:53. The new mock isolates the network with namespaces, and because no DNS server listens on UDP/127.0.0.1:53, an ICMP error is replied: 13:21:12.632469 IP 127.0.0.1.39746 > 127.0.0.1.domain: 12204+ A? TbK4jM2M0OS.lm57DWIyu4i. (41) E..Ei.@.@............B.5.1.D/............TbK4jM2M0OS.lm57DWIyu4i..... 13:21:12.632478 IP 127.0.0.1 > 127.0.0.1: ICMP 127.0.0.1 udp port domain unreachable, length 77 E..aHP..@xxxxxxxxxxxxxxxxxxxxxxxx.@.@............B.5.1.D/............TbK4jM2M0OS.lm57DWIyu4i..... then kernel reports an error on the socket: socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 3 setsockopt(3, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}]) sendmmsg(3, [{msg_hdr={msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\274\20\1\0\0\1\0\0\0\0\0\0\vTbK4jM2M0OS\vlm57DWI"..., iov_len=41}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, msg_len=41}, {msg_hdr={msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\262\22\1\0\0\1\0\0\0\0\0\0\vTbK4jM2M0OS\vlm57DWI"..., iov_len=41}], msg_iovlen=1, msg_controllen=0, msg_flags=0}}], 2, MSG_NOSIGNAL) = 1 poll([{fd=3, events=POLLIN|POLLOUT}], 1, 5000) = 1 ([{fd=3, revents=POLLOUT|POLLERR}]) sendto(3, "\262\22\1\0\0\1\0\0\0\0\0\0\vTbK4jM2M0OS\vlm57DWI"..., 41, MSG_NOSIGNAL, NULL, 0) = 41 poll([{fd=3, events=POLLIN}], 1, 4999) = 1 ([{fd=3, revents=POLLERR}]) close(3) = 0 And glibc getaddrinfo() translates the socket error to EAI_AGAIN code. It cannot be EAI_NODATA, because there was no server reply that would confirm that the domain name has now network address. It cannot be EAI_NONAME, because there was no server reply to confirm that no such domain name exist. Next suitable code would be EAI_FAIL to indicate a permanent error. EAI_AGAIN indicates a temporary error. Which one of the two is better in this case is questionable, but the t/50resolver.t does not expect none of them and that's clearly a fault of the test. Basically the test expects that a DNS server is available, but this is not the of the mock environment. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ perl-devel mailing list -- perl-devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to perl-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/perl-devel@xxxxxxxxxxxxxxxxxxxxxxx