[Bug 1154599] Re: dns lookup failure raises socket.error not socket.gaierror

Scott Moser smoser at ubuntu.com
Wed Mar 13 14:41:45 UTC 2013


simplified a little bit:

#!/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: 
        sys.stdout.write("== %s ==\n" % iname)
        result = socket.getaddrinfo(iname, None)
        for (fam, stype, proto, cname, sockaddr) in result:
            sys.stdout.write("  sockaddr=%s\n" % str(sockaddr))
    except socket.gaierror as error:
        sys.stderr.write("%s failed lookup\n" % iname)

It must be local networking related, because it works for me elsewhere also.
But here:
== slashdot.org. ==
  sockaddr=('216.34.181.45', 0)
  sockaddr=('216.34.181.45', 0)
  sockaddr=('216.34.181.45', 0)
== foooooooooowhizzzzzzzz.com. ==
Traceback (most recent call last):
  File "/tmp/lookup.py", line 9, in <module>
    result = socket.getaddrinfo(iname, None)
socket.error: [Errno 2] No such file or directory


I'm not really sure what it is that differs between the 2 systems that are failing.  I even tried installing dnsmasq oas my failing system was a desktop system.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python2.7 in Ubuntu.
https://bugs.launchpad.net/bugs/1154599

Title:
  dns lookup failure raises socket.error not socket.gaierror

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/python2.7/+bug/1154599/+subscriptions




More information about the foundations-bugs mailing list