forked from illumos/illumos-gate
-
Notifications
You must be signed in to change notification settings - Fork 107
Open
Description
Seems like this is related to #167.
I am on joyent_20201217T173522Z.
More details on the specific configs I am using https://smartos.topicbox.com/groups/smartos-discuss/Tfa146744c5c443b1/lx-dns-resolution-socket-call-fails.
This is on image lx-dataset (20180323), it works before glibc is upgraded (Ignore the Network is unreachable error on IPv6, I did not configure the IPv6 route here... even if that's working, same error)
[root@0fcfb865-9b63-e22a-c36b-f35e3ec5adb5 ~]# strace -e socket,setsockopt,connect -f curl google.com
socket(AF_INET6, SOCK_DGRAM, IPPROTO_IP) = 3
strace: Process 32591 attached
[pid 32591] socket(AF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
[pid 32591] connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
[pid 32591] socket(AF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
[pid 32591] connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
[pid 32591] socket(AF_INET6, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
[pid 32591] connect(3, {sa_family=AF_INET6, sin6_port=htons(53), inet_pton(AF_INET6, "2606:4700:4700::1111", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)
[pid 32591] socket(AF_INET6, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
[pid 32591] connect(3, {sa_family=AF_INET6, sin6_port=htons(53), inet_pton(AF_INET6, "2620:119:35::35", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)
[pid 32591] socket(AF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
[pid 32591] connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("8.8.8.8")}, 16) = 0
[pid 32591] socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE) = 3
[pid 32591] socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
[pid 32591] connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("216.58.195.78")}, 16) = 0
[pid 32591] socket(AF_INET6, SOCK_DGRAM, IPPROTO_IP) = 3
[pid 32591] connect(3, {sa_family=AF_INET6, sin6_port=htons(80), inet_pton(AF_INET6, "2607:f8b0:4005:807::200e", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)
[pid 32590] socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
[pid 32590] setsockopt(3, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
[pid 32590] setsockopt(3, SOL_TCP, TCP_KEEPIDLE, [60], 4) = 0
[pid 32590] setsockopt(3, SOL_TCP, TCP_KEEPINTVL, [60], 4) = 0
[pid 32590] connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("216.58.195.78")}, 16) = -1 EINPROGRESS (Operation now in progress)
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
[pid 32590] +++ exited with 0 +++
strace: wait4(__WALL): No child processes
strace: Process 32591 detached
[root@0fcfb865-9b63-e22a-c36b-f35e3ec5adb5 ~]#
Upgrade glibc:
[root@0fcfb865-9b63-e22a-c36b-f35e3ec5adb5 ~]# yum update glibc
...
Running transaction
Updating : glibc-2.17-317.el7.x86_64 1/4
warning: /etc/nsswitch.conf created as /etc/nsswitch.conf.rpmnew
Updating : glibc-common-2.17-317.el7.x86_64 2/4
Cleanup : glibc-2.17-196.el7_4.2.x86_64 3/4
Cleanup : glibc-common-2.17-196.el7_4.2.x86_64 4/4
Verifying : glibc-common-2.17-317.el7.x86_64 1/4
Verifying : glibc-2.17-317.el7.x86_64 2/4
Verifying : glibc-common-2.17-196.el7_4.2.x86_64 3/4
Verifying : glibc-2.17-196.el7_4.2.x86_64 4/4
Updated:
glibc.x86_64 0:2.17-317.el7
Dependency Updated:
glibc-common.x86_64 0:2.17-317.el7
Complete!
Now curl fails:
[root@0fcfb865-9b63-e22a-c36b-f35e3ec5adb5 ~]# strace -e socket,setsockopt,connect -f curl google.com
socket(AF_INET6, SOCK_DGRAM, IPPROTO_IP) = 3
strace: Process 32621 attached
[pid 32621] socket(AF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
[pid 32621] connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
[pid 32621] socket(AF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
[pid 32621] connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
[pid 32621] socket(AF_INET6, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 3
[pid 32621] setsockopt(3, SOL_IPV6, IPV6_RECVERR, [1], 4) = -1 ENOPROTOOPT (Protocol not available)
[pid 32621] socket(AF_INET6, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 3
[pid 32621] setsockopt(3, SOL_IPV6, IPV6_RECVERR, [1], 4) = -1 ENOPROTOOPT (Protocol not available)
curl: (6) Could not resolve host: google.com; Unknown error
[pid 32620] +++ exited with 6 +++
strace: wait4(__WALL): No child processes
strace: Process 32621 detached
[root@0fcfb865-9b63-e22a-c36b-f35e3ec5adb5 ~]#
Metadata
Metadata
Assignees
Labels
No labels