← Back to issue list

Silent failure on certain store issues

View original Github issue

Metadata

Project
craft-parts
Number
#751
Type
issue
State
open
Author
lengau
Labels
Status: Triaged Type: Bug
Created
Updated
Closed

Current evaluation

craft-parts silently returns None instead of raising an error when store queries fail with 500-series HTTP errors during build-snaps resolution. Triaged as a bug. The retry loop in get_store_snap_info still swallows errors after retries are exhausted.

Suggested action: keep open

Reason: The issue is triaged (Status: Triaged, Type: Bug) and the bug is confirmed still present in current code: get_store_snap_info() in craft_parts/packages/snaps.py retries 5 times on HTTPError but returns None after exhaustion instead of raising, so builds continue and fail later with a confusing 'go not found' error. Inactivity alone (~16 months) is not grounds to close since the problem is unfixed and reproducible; the fix is modest but needs care around the retry rationale (armv7 test infra timeouts) and the in_store property which catches SnapUnavailable.

Impact: 50 Quick Win: 30.0 Staleness: 70 Complexity: 40 Confidence: 82 Support Request: 5

Issue body

### Bug Description During transient store issues (i.e. 500-series HTTP errors), we don't error out as expected. ### To Reproduce Set up a fake store 🙃 that always returns 500 errors and run `craft_parts.packages.snaps.SnapPackage("any-name").get_store_snap_info()` ## Expected result: Errors out when getting the info ## Actual result: Just returns no snap info ### part yaml ```shell plugin: go source: . source-type: local build-snaps: - go/1.21/stable ``` ### Relevant log output ```shell [From snapcraft] 2024-05-27 21:41:21.556 :: 2024-05-27 21:34:40.843 ignore patterns: ['*.snap'] 2024-05-27 21:41:21.556 :: 2024-05-27 21:34:40.843 Installing build-packages 2024-05-27 21:41:21.556 :: 2024-05-27 21:34:40.844 Installing build-snaps 2024-05-27 21:41:21.556 :: 2024-05-27 21:35:20.892 The http error when checking the store for core22 is 500 (retries left 5) 2024-05-27 21:41:21.556 :: 2024-05-27 21:36:00.933 The http error when checking the store for core22 is 500 (retries left 4) 2024-05-27 21:41:21.556 :: 2024-05-27 21:36:40.967 The http error when checking the store for core22 is 500 (retries left 3) 2024-05-27 21:41:21.556 :: 2024-05-27 21:37:20.995 The http error when checking the store for core22 is 500 (retries left 2) 2024-05-27 21:41:21.556 :: 2024-05-27 21:38:01.017 The http error when checking the store for core22 is 500 (retries left 1) 2024-05-27 21:41:21.556 :: 2024-05-27 21:38:41.043 The http error when checking the store for go is 500 (retries left 5) 2024-05-27 21:41:21.556 :: 2024-05-27 21:39:21.073 The http error when checking the store for go is 500 (retries left 4) 2024-05-27 21:41:21.556 :: 2024-05-27 21:40:01.086 The http error when checking the store for go is 500 (retries left 3) 2024-05-27 21:41:21.556 :: 2024-05-27 21:40:41.102 The http error when checking the store for go is 500 (retries left 2) 2024-05-27 21:41:21.556 :: 2024-05-27 21:41:21.116 The http error when checking the store for go is 500 (retries left 1) 2024-05-27 21:41:21.556 :: 2024-05-27 21:41:21.121 verify plugin environment for part '********' 2024-05-27 21:41:21.556 :: 2024-05-27 21:41:21.124 plugin validation environment: # Environment 2024-05-27 21:41:21.556 :: ## Application environment // continues as normal, errors out because we don't have go ```

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 50
Quick Win: 30.0
Staleness: 70
Complexity: 40
Confidence: 82
Support Request: 5
keep open craft-parts silently returns None instead of raising an error when store queries fail with 500-series HTTP errors during build-snaps resolution. Triaged as a bug. The retry loop in get_store_snap_info still swallows errors after retries are exhausted.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 45
Confidence: 75
Support Request: 10
keep open Bug where 500-series HTTP errors from the store cause silent failures instead of raising exceptions. Triaged and scoped, but inactive for over a year with no assigned fix or progress.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 40
Confidence: 80
Support Request: 10
keep open Bug where transient store HTTP 500 errors cause silent failures instead of raising exceptions. Triaged, under discussion, with recent comments noting similar silent no-op behavior for missing snaps.
qwen3.6-35b-a3b-mtp-q6
Staleness: 35
Complexity: 40
Confidence: 90
Support Request: 0
keep open Transient store 500 errors cause silent failures instead of raising exceptions. After retries exhaust, execution continues, causing downstream errors. Triaged and linked to CRAFT-4484. Awaiting implementation.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.