Hi Sebastien, I used exactly the same command I used to add the ppa, except that I added the flag --remove. Here is the command:
sudo add-apt-repository --remove ppa:"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" The thing here is that, even if the command had the wrong parameter (which seems to be the case), the exception should still be caught and a proper error message be shown, shouldn't it? The command to add this ppa (without the --remove flag) has been taken from the official Docker page. In addition to this error, I found that, having this ppa (which could not be found due to Docker not having released the related version to "focal"), when doing a refresh from the Software & Updates package, it fails showing the Report Bug window and freezes, not letting the user to close it. I guess this bug would appear with any ppa that cannot be found. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to software-properties in Ubuntu. https://bugs.launchpad.net/bugs/1871006 Title: add-apt-repository crashed with AttributeError in _get_https_content_py3(): 'InvalidURL' object has no attribute 'reason' Status in software-properties package in Ubuntu: Incomplete Bug description: Release: 20.04 Ubuntu Focal Fossa (development branch) Package/Program: add-apt-repository Command: add-apt-repository --remove Expected response: Either to get the ppa removed or the exception handled with a message "unable to find the URL" What happened instead: The traceback of an exception was printed in the terminal. Traceback: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 138, in _get_https_content_py3 lp_page = urllib.request.urlopen(request, File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen return opener.open(url, data, timeout) File "/usr/lib/python3.8/urllib/request.py", line 525, in open response = self._open(req, data) File "/usr/lib/python3.8/urllib/request.py", line 542, in _open result = self._call_chain(self.handle_open, protocol, protocol + File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain result = func(*args) File "/usr/lib/python3.8/urllib/request.py", line 1362, in https_open return self.do_open(http.client.HTTPSConnection, req, File "/usr/lib/python3.8/urllib/request.py", line 1319, in do_open h.request(req.get_method(), req.selector, req.data, headers, File "/usr/lib/python3.8/http/client.py", line 1230, in request self._send_request(method, url, body, headers, encode_chunked) File "/usr/lib/python3.8/http/client.py", line 1241, in _send_request self.putrequest(method, url, **skips) File "/usr/lib/python3.8/http/client.py", line 1092, in putrequest self._validate_path(url) File "/usr/lib/python3.8/http/client.py", line 1183, in _validate_path raise InvalidURL(f"URL can't contain control characters. {url!r} " http.client.InvalidURL: URL can't contain control characters. '/api/devel/~deb [arch=amd64] https/+archive/ubuntu/ppa' (found at least ' ') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 380, in get_ppa_info ret = get_ppa_info_from_lp(user, ppa) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 110, in get_ppa_info_from_lp return get_info_from_lp(lp_url) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 104, in get_info_from_lp return get_info_from_https(lp_url, True) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 96, in get_info_from_https data = func(lp_url=url, accept_json=accept_json, retry_delays=retry_delays) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 143, in _get_https_content_py3 "Error reading %s (%d tries): %s" % (lp_url, trynum, e.reason), AttributeError: 'InvalidURL' object has no attribute 'reason' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 138, in _get_https_content_py3 lp_page = urllib.request.urlopen(request, File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen return opener.open(url, data, timeout) File "/usr/lib/python3.8/urllib/request.py", line 525, in open response = self._open(req, data) File "/usr/lib/python3.8/urllib/request.py", line 542, in _open result = self._call_chain(self.handle_open, protocol, protocol + File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain result = func(*args) File "/usr/lib/python3.8/urllib/request.py", line 1362, in https_open return self.do_open(http.client.HTTPSConnection, req, File "/usr/lib/python3.8/urllib/request.py", line 1319, in do_open h.request(req.get_method(), req.selector, req.data, headers, File "/usr/lib/python3.8/http/client.py", line 1230, in request self._send_request(method, url, body, headers, encode_chunked) File "/usr/lib/python3.8/http/client.py", line 1241, in _send_request self.putrequest(method, url, **skips) File "/usr/lib/python3.8/http/client.py", line 1092, in putrequest self._validate_path(url) File "/usr/lib/python3.8/http/client.py", line 1183, in _validate_path raise InvalidURL(f"URL can't contain control characters. {url!r} " http.client.InvalidURL: URL can't contain control characters. '/api/1.0/~deb [arch=amd64] https' (found at least ' ') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/bin/add-apt-repository", line 136, in <module> shortcut = shortcut_handler(line) File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 871, in shortcut_handler ret = factory(shortcut) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 469, in shortcut_handler return PPAShortcutHandler(shortcut) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 426, in __init__ info = get_ppa_info(self.shortcut) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 392, in get_ppa_info _get_suggested_ppa_message(user, ppa)) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 349, in _get_suggested_ppa_message lp_user = get_info_from_lp(LAUNCHPAD_USER_API % user) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 104, in get_info_from_lp return get_info_from_https(lp_url, True) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 96, in get_info_from_https data = func(lp_url=url, accept_json=accept_json, retry_delays=retry_delays) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 143, in _get_https_content_py3 "Error reading %s (%d tries): %s" % (lp_url, trynum, e.reason), AttributeError: 'InvalidURL' object has no attribute 'reason' ProblemType: Crash DistroRelease: Ubuntu 20.04 Package: software-properties-common 0.98.7 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 NonfreeKernelModules: nvidia_modeset nvidia ApportVersion: 2.20.11-0ubuntu22 Architecture: amd64 Date: Mon Apr 6 01:38:30 2020 ExecutablePath: /usr/bin/add-apt-repository InstallationDate: Installed on 2020-04-05 (0 days ago) InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Beta amd64 (20200401) InterpreterPath: /usr/bin/python3.8 PackageArchitecture: all ProcCmdline: /usr/bin/python3 /usr/bin/add-apt-repository --remove ppa:deb\ [arch=amd64]\ https://download.docker.com/linux/ubuntu\ focal\ stable ProcEnviron: LANGUAGE=en_GB:en LANG=en_GB.UTF-8 TERM=xterm-256color PATH=(custom, no user) SHELL=/bin/bash Python3Details: /usr/bin/python3.8, Python 3.8.2, python3-minimal, 3.8.2-0ubuntu2 PythonArgs: ['/usr/bin/add-apt-repository', '--remove', 'ppa:deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable'] PythonDetails: N/A SourcePackage: software-properties Title: add-apt-repository crashed with AttributeError in _get_https_content_py3(): 'InvalidURL' object has no attribute 'reason' UpgradeStatus: No upgrade log present (probably fresh install) UserGroups: To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/1871006/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp