[Bug 2024926] [NEW] add-apt-repository has a misleading error message when the launchpad api is down

Stephane 2024926 at bugs.launchpad.net
Fri Jun 23 18:32:02 UTC 2023


Public bug reported:

On Ubuntu 22.04.2
Package software-properties-common 0.99.22.7
During the launchpad outage on the 23rd June 2023, add-apt-repository was crashing with the following:
Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 364, in <module>
    sys.exit(0 if addaptrepo.main() else 1)
  File "/usr/bin/add-apt-repository", line 347, in main
    shortcut = handler(source, **shortcut_params)
  File "/usr/lib/python3/dist-packages/softwareproperties/shortcuts.py", line 40, in shortcut_handler
    return handler(shortcut, **kwargs)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 82, in __init__
    if self.lpppa.publish_debug_symbols:
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 120, in lpppa
    self._lpppa = self.lpteam.getPPAByName(name=self.ppaname)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 107, in lpteam
    self._lpteam = self.lp.people(self.teamname)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 98, in lp
    self._lp = login_func("%s.%s" % (self.__module__, self.__class__.__name__),
  File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 494, in login_anonymously
    return cls(
  File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 230, in __init__
    super(Launchpad, self).__init__(
  File "/usr/lib/python3/dist-packages/lazr/restfulclient/resource.py", line 477, in __init__
    self._browser.get(root_resource), 'application/json')
  File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 439, in get
    response, content = self._request(url, extra_headers=headers)
  File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 389, in _request
    response, content = self._request_and_retry(
  File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 359, in _request_and_retry
    response, content = self._connection.request(
  File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 1725, in request
    (response, content) = self._request(
  File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 144, in _request
    response, content = super(LaunchpadOAuthAwareHttp, self)._request(
  File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 184, in _request
    return super(RestfulHttp, self)._request(
  File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 1441, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
  File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 1363, in _conn_request
    conn.connect()
  File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 1139, in connect
    address_info = socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM)
  File "/usr/lib/python3.10/socket.py", line 955, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
OSError: [Errno 16] Device or resource busy


This was misleading as it seemed to indicate a problem with the client and not with the server. The error message should be improved as to make it clear where the error is located.

** Affects: software-properties (Ubuntu)
     Importance: Undecided
         Status: New

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

Title:
  add-apt-repository has a misleading error message when the launchpad
  api is down

Status in software-properties package in Ubuntu:
  New

Bug description:
  On Ubuntu 22.04.2
  Package software-properties-common 0.99.22.7
  During the launchpad outage on the 23rd June 2023, add-apt-repository was crashing with the following:
  Traceback (most recent call last):
    File "/usr/bin/add-apt-repository", line 364, in <module>
      sys.exit(0 if addaptrepo.main() else 1)
    File "/usr/bin/add-apt-repository", line 347, in main
      shortcut = handler(source, **shortcut_params)
    File "/usr/lib/python3/dist-packages/softwareproperties/shortcuts.py", line 40, in shortcut_handler
      return handler(shortcut, **kwargs)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 82, in __init__
      if self.lpppa.publish_debug_symbols:
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 120, in lpppa
      self._lpppa = self.lpteam.getPPAByName(name=self.ppaname)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 107, in lpteam
      self._lpteam = self.lp.people(self.teamname)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 98, in lp
      self._lp = login_func("%s.%s" % (self.__module__, self.__class__.__name__),
    File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 494, in login_anonymously
      return cls(
    File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 230, in __init__
      super(Launchpad, self).__init__(
    File "/usr/lib/python3/dist-packages/lazr/restfulclient/resource.py", line 477, in __init__
      self._browser.get(root_resource), 'application/json')
    File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 439, in get
      response, content = self._request(url, extra_headers=headers)
    File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 389, in _request
      response, content = self._request_and_retry(
    File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 359, in _request_and_retry
      response, content = self._connection.request(
    File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 1725, in request
      (response, content) = self._request(
    File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 144, in _request
      response, content = super(LaunchpadOAuthAwareHttp, self)._request(
    File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 184, in _request
      return super(RestfulHttp, self)._request(
    File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 1441, in _request
      (response, content) = self._conn_request(conn, request_uri, method, body, headers)
    File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 1363, in _conn_request
      conn.connect()
    File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 1139, in connect
      address_info = socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM)
    File "/usr/lib/python3.10/socket.py", line 955, in getaddrinfo
      for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
  OSError: [Errno 16] Device or resource busy

  
  This was misleading as it seemed to indicate a problem with the client and not with the server. The error message should be improved as to make it clear where the error is located.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/2024926/+subscriptions




More information about the foundations-bugs mailing list