[Bug 1154599] Re: getaddrinfo() returns -11 (EAI_SYSTEM) instead of -2
Thomas Hood
1154599 at bugs.launchpad.net
Thu Mar 20 16:20:03 UTC 2014
Bug still present.
$ dpkg -l libc6
[...]
ii libc6:amd64 2.17-93ubuntu4 amd64
$ grep hosts /etc/nsswitch.conf
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
$ sudo su
# ./a.out
Making resolv.conf empty
Results of looking up www.google.com: status = -2, errno = 2
Results of looking up a bogus name: status = -2, errno = 2
Writing correct nameserver option to resolv.conf
Results of looking up www.google.com: status = 0, errno = 101
Results of looking up a bogus name: status = -2, errno = 2
Writing incorrect nameserver option to resolv.conf
Results of looking up www.google.com: status = -2, errno = 2
Results of looking up a bogus name: status = -2, errno = 2
# ifconfig eth0 down
# ./a.out
Making resolv.conf empty
Results of looking up www.google.com: status = -5, errno = 110
Results of looking up a bogus name: status = -5, errno = 110
Writing correct nameserver option to resolv.conf
Results of looking up www.google.com: status = -5, errno = 110
Results of looking up a bogus name: status = -5, errno = 110
Writing incorrect nameserver option to resolv.conf
Results of looking up www.google.com: status = -5, errno = 110
Results of looking up a bogus name: status = -5, errno = 110
# cat x.c
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <errno.h>
#include <stdio.h>
struct addrinfo *res;
void check_google()
{
int status;
status = getaddrinfo("www.google.com", NULL, NULL, &res);
printf("Results of looking up www.google.com: status = %d, errno = %d\n", status, errno);
status = getaddrinfo("sjfkdsjfswfloo0f02938sjf28398sd.com", NULL, NULL, &res);
printf("Results of looking up a bogus name: status = %d, errno = %d\n", status, errno);
}
int main()
{
FILE *fp;
printf("Making resolv.conf empty\n");
fp = fopen("/etc/resolv.conf", "w+"); fclose(fp);
sleep(1);
check_google();
printf("Writing nameserver option to resolv.conf\n");
fp = fopen("/etc/resolv.conf", "w+"); fprintf(fp, "nameserver 193.67.79.39\n"); fclose(fp);
sleep(1);
check_google();
printf("Writing incorrect nameserver option to resolv.conf\n");
fp = fopen("/etc/resolv.conf", "w+"); fprintf(fp, "nameserver 192.168.5.4\n"); fclose(fp);
sleep(1);
check_google();
}
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to eglibc in Ubuntu.
https://bugs.launchpad.net/bugs/1154599
Title:
getaddrinfo() returns -11 (EAI_SYSTEM) instead of -2
Status in “eglibc” package in Ubuntu:
Fix Released
Status in “python2.7” package in Ubuntu:
Confirmed
Status in “eglibc” source package in Raring:
New
Status in “python2.7” source package in Raring:
New
Bug description:
$ cat lookup.py
#!/usr/bin/python
import sys, socket
names = ["slashdot.org", "foooooooooowhizzzzzzzz.com"]
if len(sys.argv) > 1:
names = sys.argv[1:]
for iname in names:
try:
result = socket.getaddrinfo(iname, None, 0, 0, socket.SOCK_STREAM,
socket.AI_CANONNAME)
for (fam, stype, proto, cname, sockaddr) in result:
sys.stdout.write("cname=%s, sockaddr=%s\n" % (cname, sockaddr))
except socket.gaierror as error:
sys.stderr.write("%s failed lookup" % iname)
$ python2.7 lookup.py
cname=slashdot.org, sockaddr=('216.34.181.45', 0)
Traceback (most recent call last):
File "/tmp/x.py", line 10, in <module>
socket.AI_CANONNAME)
socket.error: [Errno 2] No such file or directory
shell returned 1
$ dpkg -S /usr/bin/python2.7
python2.7-minimal: /usr/bin/python2.7
$ dpkg-query --show python2.7-minimal
python2.7-minimal 2.7.3-16ubuntu1
This is a behavioral change from quantal (2.7.3-5ubuntu4).
ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: python 2.7.3-10ubuntu5
ProcVersionSignature: Ubuntu 3.5.0-21.32-generic 3.5.7.1
Uname: Linux 3.5.0-21-generic x86_64
ApportVersion: 2.9.1-0ubuntu1
Architecture: amd64
Date: Wed Mar 13 09:52:55 2013
EcryptfsInUse: Yes
InstallationDate: Installed on 2011-10-19 (511 days ago)
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MarkForUpload: True
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: python-defaults
UpgradeStatus: Upgraded to raring on 2013-01-07 (64 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1154599/+subscriptions
More information about the foundations-bugs
mailing list