Silent failure on certain store issues
Metadata
Current evaluation
Transient snap-store HTTP 500s exhaust five retries in get_store_snap_info and return None, silently skipping required build-snaps; the triaged bug remains in current code.
Suggested action: keep open
Reason: Current get_store_snap_info() catches each non-404 HTTPError five times, then exits the loop and returns the unchanged None value; install_snaps() consequently skips installation. The exact fake-store reproducer and localized remedy are clear: preserve or convert the final store error after retries and add regression coverage.
Evaluated by: mr-cal-bot
Impact:
56
Quick Win:
37
Complexity:
28
Confidence:
97
Actionability:
92
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 |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
56
Quick Win:
37
Complexity:
28
Confidence:
97
Actionability:
92
|
keep open | Transient snap-store HTTP 500s exhaust five retries in get_store_snap_info and return None, silently skipping required build-snaps; the triaged bug remains in current code. | |
| stealth/space-bunny-alpha |
Impact:
48
Quick Win:
28
Complexity:
30
Confidence:
88
Actionability:
84
|
keep open | get_store_snap_info retries 500s five times then falls through returning None instead of raising, so builds silently continue without required build-snaps. Triaged bug by a maintainer; code at HEAD unchanged. | |
| qwen/qwen3.6-35b-a3b |
Impact:
70
Quick Win:
45
Complexity:
20
Confidence:
85
Actionability:
80
|
keep open | Silent failure when store returns 500 errors: get_store_snap_info retries 5 times then returns None instead of raising an error, causing builds to continue without required build-snaps. | |
| qwen/qwen3.8-27b |
Impact:
50
Quick Win:
30
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. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1723 Failing to install build-snaps is silently ignored | craft-parts | closed | Triaged as CRAFT-5323; store lookup retries exhaust on HTTP 5xx, return None, and build-snap install is silently skipped. Closed without a fix. | |
| #1739 fix: fail fast when snap store retries are exhausted for build-snaps | craft-parts | merged | Merged PR #1739; re-raises final non-404 HTTPError after snap store retry exhaustion, preventing silent build-snaps installation skip and surfacing real store failure. |