[Bug 1154599] Re: getaddrinfo() returns -11 (EAI_SYSTEM) instead of -2
Barry Warsaw
1154599 at bugs.launchpad.net
Wed Apr 3 18:02:24 UTC 2013
On Apr 03, 2013, at 03:04 PM, Adam Conrad wrote:
>Colour me confused, but this seems to be behaving exactly as the manpage
>suggests it can. Where is the actual bug in eglibc here?
It's a change in behavior somewhere between 2.13 and 2.17.
>It seems monumentally unclever for python to raise a different exception type
>depending on how gai() returns, which seems to be what's causing the headache
>here.
Except that it's been that way in Python for *years*. It might be worth
changing this for 3.4, but it can't be changed in anything earlier.
OTOH, by Python 3.3 it probably makes no sense to catch socket.error directly
because of the exception hierarchy reorganization in PEP 3151. Now,
socket.error *is* OSError and socket.gaierror is a subclass of OSError, so
going forward, it makes sense just to catch OSError when you don't care about
the distinction.
--
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:
New
Status in “python2.7” package in Ubuntu:
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