← Back to issue list

Craft Store should raise a better exception if we get an un-decodable response from the server.

View original Github issue

Metadata

Project
craft-store
Number
#293
Type
issue
State
open
Author
lengau
Labels
—
Created
Updated
Closed
—

Current evaluation

Maintainer-identified bug remains open: malformed server bytes can escape as UnicodeDecodeError instead of a CraftStore error; a CI log is provided, but no stable reproducer exists.

Suggested action: keep open

Reason: The maintainer-authored report provides a concrete UnicodeDecodeError containing invalid server bytes and a failing CI job, while the codebase already has InvalidResponseError as an appropriate error type. Reliable reproduction is explicitly unknown, so implementation may require tracing all response-decoding paths, but the reported behavior is valid and should remain open.

Evaluated by: mr-cal-bot

Impact: 41 Quick Win: 18 Complexity: 37 Confidence: 86 Actionability: 69

Issue body

### Bug Description It appears that if we get bad text from the store we'll just bubble up a `UnicodeDecodeError` - we should convert that into a `StoreError` of some kind. ### To Reproduce Not sure if it's reproducible reliably, but here: https://github.com/dell-esg/powerflex-cinder-charm/actions/runs/15607294154/job/43959689846 ### part yaml ```shell ``` ### Relevant log output ```shell snap/bin/charmcraft resource-revisions cinder-dell-powerflex sdc-deb-package charmcraft internal error: UnicodeDecodeError('utf-8', b'\x86\xdbi\xb3\xff\xe0\x8a\xd8nm\xca&\xfd\xd7\xa5\x95\xeb \xfe\x9a0z\xb7\xe5{\x19\xe8\xbd\xa7!j\xb9\xbfi\xcbb\xa2{?\xae\xe9\xec\xff^y\xf3\x9d{\xdb\xad8\xfe:\x1b\xff\x8d\xfc\xf3\xde:\xeb\x8du', 0, 1, 'invalid start byte') Full execution log: '/home/runner/.local/state/charmcraft/log/charmcraft-20250612-095333.234337.log' Error: The process '/snap/bin/charmcraft' failed with exit code 70 Error: Error: The process '/snap/bin/charmcraft' failed with exit code 70 at ExecState._setResult (/home/runner/work/_actions/canonical/charming-actions/2.6.2/dist/upload-charm/index.js:3950:25) at ExecState.CheckComplete (/home/runner/work/_actions/canonical/charming-actions/2.6.2/dist/upload-charm/index.js:3933:18) at ChildProcess. (/home/runner/work/_actions/canonical/charming-actions/2.6.2/dist/upload-charm/index.js:3827:27) at ChildProcess.emit (node:events:524:28) at maybeClose (node:internal/child_process:1104:16) at ChildProcess._handle.onexit (node:internal/child_process:304:5) ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 41
Quick Win: 18
Complexity: 37
Confidence: 86
Actionability: 69
keep open Maintainer-identified bug remains open: malformed server bytes can escape as UnicodeDecodeError instead of a CraftStore error; a CI log is provided, but no stable reproducer exists.
qwen/qwen3.6-35b-a3b
Impact: 45
Quick Win: 22
Complexity: 35
Confidence: 75
Actionability: 75
needs triage Craft Store raises raw UnicodeDecodeError instead of a user-friendly StoreError when the server returns an un-decodable response. Issue is open, unlabelled, and has no maintainer comments.
qwen/qwen3.8-27b
Impact: 40
Quick Win: 28
Staleness: 85
Complexity: 30
Confidence: 75
Support Request: 0
keep open Craft Store should raise a better exception if we get an un-decodable response from the server.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 20
Confidence: 70
Support Request: 5
needs triage Unhandled UnicodeDecodeError from store responses should be caught and converted to a StoreError. Open for over a year with no maintainer response, labels, or comments.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 15
Confidence: 80
Support Request: 10
needs triage Replaces raw UnicodeDecodeError with a proper StoreError when Craft Store returns un-decodable responses. Currently untriaged and inactive for over a year.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.