← Back to issue list

Failing while fetching parts.snapcraft.io should be handled better

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1746784
Type
issue
State
closed
Author
~lucyllewy
Labels
Created
Updated
Closed

Current evaluation

Closed without comments or resolution. No fix or merge details provided; likely abandoned or marked stale.

Suggested action:

No scores available.

Issue body

When snapcraft fails to fetch parts.snapcraft.io there should be better handling or error messaging to allow the packager to continue working or to understand what the next steps are, which might just be to re-run the build. --- The relevant messages from below are: OSError: Tunnel connection failed: 503 Service Unavailable and requests.exceptions.ConnectionError: HTTPSConnectionPool(host='parts.snapcraft.io', port=443): Max retries exceeded with url: /v1/parts.yaml (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 503 Service Unavailable',))) --- Full error I received from build.snapcraft.io: Running repo phase... Cloning into '6ee01d1e891da75e9c9762fcafcb3c01-xenial'... Running pull phase... Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 555, in urlopen self._prepare_proxy(conn) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 753, in _prepare_proxy conn.connect() File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 230, in connect self._tunnel() File "/usr/lib/python3.5/http/client.py", line 832, in _tunnel message.strip())) OSError: Tunnel connection failed: 503 Service Unavailable During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 376, in send timeout=timeout File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 610, in urlopen _stacktrace=sys.exc_info()[2]) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 273, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) requests.packages.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='parts.snapcraft.io', port=443): Max retries exceeded with url: /v1/parts.yaml (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 503 Service Unavailable',))) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/bin/snapcraft", line 9, in <module> load_entry_point('snapcraft==2.35', 'console_scripts', 'snapcraft')() File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2569, in load_entry_point return ep.load() File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2229, in load return self.resolve() File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2235, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/usr/lib/python3/dist-packages/snapcraft/cli/__main__.py", line 19, in <module> run(prog_name='snapcraft') File "/usr/lib/python3/dist-packages/click/core.py", line 716, in __call__ return self.main(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 696, in main rv = self.invoke(ctx) File "/usr/lib/python3/dist-packages/click/core.py", line 1060, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python3/dist-packages/click/core.py", line 889, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/lib/python3/dist-packages/click/core.py", line 534, in invoke return callback(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/decorators.py", line 17, in new_func return f(get_current_context(), *args, **kwargs) File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 67, in pull _execute('pull', parts, **kwargs) File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 34, in _execute lifecycle.execute(command, project_options, parts) File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 61, in execute config = snapcraft.internal.load_config(project_options) File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/__init__.py", line 24, in load_config return Config(project_options) File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/_config.py", line 103, in __init__ snapcraft_yaml = self._process_remote_parts(snapcraft_yaml) File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/_config.py", line 252, in _process_remote_parts properties = self._remote_parts.get_part(after_part) File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/_config.py", line 86, in _remote_parts self._remote_parts_attr = remote_parts.get_remote_parts() File "/usr/lib/python3/dist-packages/snapcraft/internal/remote_parts.py", line 82, in get_remote_parts return _RemoteParts() File "/usr/lib/python3/dist-packages/snapcraft/internal/remote_parts.py", line 135, in __init__ update() File "/usr/lib/python3/dist-packages/snapcraft/internal/remote_parts.py", line 41, in update _Update().execute() File "/usr/lib/python3/dist-packages/snapcraft/internal/remote_parts.py", line 103, in execute headers=headers) File "/usr/lib/python3/dist-packages/requests/api.py", line 67, in get return request('get', url, params=params, **kwargs) File "/usr/lib/python3/dist-packages/requests/api.py", line 53, in request return session.request(method=method, url=url, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 468, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 576, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 437, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='parts.snapcraft.io', port=443): Max retries exceeded with url: /v1/parts.yaml (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 503 Service Unavailable',))) Build failed

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Closed without comments or resolution. No fix or merge details provided; likely abandoned or marked stale.
qwen/qwen3.6-35b-a3b Abandoned. The request to improve error handling for parts.snapcraft.io fetch failures was closed without implementation.
qwen/qwen3.6-35b-a3b Closed without comments or resolution. Likely abandoned or addressed in a subsequent release, as no fix or discussion was recorded.
qwen3.6-35b-a3b-mtp-q6 Closed without resolution. Zero comments indicate the report was abandoned or superseded, leaving the network error handling unaddressed.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1816 snapcraft update won't fetch from `SNAPCRAFT_PARTS_URI` snapcraft closed Closed without resolution or comments. Likely superseded by the linked Launchpad bug report. No fixes or code changes were applied.
77%
#1951910 Refreshing snapd while running snapcraft fails with empty response from server snapcraft (launchpad) closed Closed without comments or resolution after ~78 days. Likely abandoned or marked stale. No fix or workaround was implemented.
76%
#1816397 Modifying snapcraft.yaml with parts using local sources get dirty snapcraft (launchpad) closed Closed without resolution or comments. Appears abandoned, with no fix or workaround implemented.
75%
#1723965 snapcraft doesn't work snapcraft (launchpad) closed Closed without resolution or comments, indicating abandonment. The reported snap command failure and GL driver errors remain unresolved.
73%
#4142 snapcraft remote-build exits with return code 0 even when some snaps failed to build for a given arch snapcraft closed Closed without comments or resolution, indicating the request was abandoned. No official fix or merge details were provided.
72%
#1448 snapcraft build using manifest.yaml snapcraft closed Closed without discussion or comments. The issue appears abandoned or superseded by newer snapcraft build workflows. No resolution or merge details were recorded.
72%
#1605164 Errors due to "missing" files using "stage:" snapcraft (launchpad) closed Abandoned. Reported a snapcraft staging error when excluding directories with missing files. Closed without comments or a fix, indicating the issue was stale.
72%
#1869505 Snapcraft is pulling content snap before building a snap snapcraft (launchpad) closed Closed as abandoned. The report detailed snapcraft unnecessarily pulling content snaps before building, causing high resource usage. No discussion, fixes, or follow-up occurred.
72%
#2008777 timeout if doing snapcraft pull and build seperately snapcraft (launchpad) closed A report detailing a hang when running snapcraft pull and build separately was closed without comments or resolution, indicating it was abandoned. No fix or workaround was provided.
72%
#1560158 Migrate old Snapcraft state tracking to new snapcraft (launchpad) closed Closed without resolution or comments. The legacy state tracking migration request appears abandoned or superseded by subsequent Snapcraft updates. No fix or merge was recorded.
72%