← 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

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.
72%
#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.
71%