The issue is with the systemd resolver not with glibc. With systemd-resolve IP in /etc/resolv.conf:
# This file is managed by man:systemd-resolved(8). Do not edit. # # 127.0.0.53 is the systemd-resolved stub resolver. # run "systemd-resolve --status" to see details about the actual nameservers. nameserver 127.0.0.53 $ time ./test not-a-hostname Trying to resolve: not-a-hostname getaddrinfo errno: No such file or directory getaddrinfo() return value: -2 (Name or service not known) real 0m10.076s user 0m0.001s sys 0m0.000s Without systemd-resolve in /etc/resolv.conf. I changed it to point to my local DNS server directly. # This file is managed by man:systemd-resolved(8). Do not edit. # # 127.0.0.53 is the systemd-resolved stub resolver. # run "systemd-resolve --status" to see details about the actual nameservers. #nameserver 127.0.0.53 nameserver 192.168.1.1 $ time ./test not-a-hostname Trying to resolve: not-a-hostname getaddrinfo errno: No such file or directory getaddrinfo() return value: -2 (Name or service not known) real 0m0.097s user 0m0.001s sys 0m0.000s ** Changed in: glibc (Ubuntu) Status: New => Invalid -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1739672 Title: Regression in getaddrinfo(): calls block for much longer on Bionic (compared to Xenial) Status in glibc package in Ubuntu: Invalid Status in linux package in Ubuntu: Invalid Status in systemd package in Ubuntu: New Bug description: When testing MAAS on Bionic, we noticed sluggish performance that we could not immediately explain. After comparing the results from a run of the test suite on Xenial to a run on Bionic, we determined that the slowdowns had to do with DNS lookups. In particular, if MAAS attempts to resolve a hostname using getaddrinfo() and the call fails, on Xenial the negative result is returned in a fraction of a second. On Bionic, the negative result is returned in ~1.6 seconds, according to some measures. ### To run the test ### git clone https://github.com/mpontillo/test-getaddrinfo cd test-getaddrinfo make ### Results on Xenial ### $ time ./test not-a-real-hostname Trying to resolve: not-a-real-hostname getaddrinfo errno: Success getaddrinfo() return value: -2 (Name or service not known) real 0m0.015s user 0m0.000s sys 0m0.000s ### Results on Bionic ### $ time ./test not-a-real-hostname Trying to resolve: not-a-real-hostname getaddrinfo errno: Resource temporarily unavailable getaddrinfo() return value: -3 (Temporary failure in name resolution) real 0m1.609s user 0m0.004s sys 0m0.000s To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1739672/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp