Unicode non-ascii characters in channel specification cause a 500 response from the store
Metadata
Current evaluation
A surrogate-escaped non-ASCII channel reproducibly causes a Store 500. The exact command and traceback are present, but the report remains open, unlabeled, and without maintainer triage.
Suggested action: needs triage
Reason: The report provides the exact `snapcraft release hello-roadmr-unicrash-1 11 stable/#🐍` reproducer and a PostgreSQL UTF-8 DataError traceback; the author identifies surrogate-escaped input and recommends ASCII validation. Current Snapcraft code only splits the channel string and forwards it in the Store payload without validation. Despite this clear repro, there are no labels or maintainer comments, so the issue still requires triage.
Evaluated by: mr-cal-bot
Impact:
38
Quick Win:
22
Complexity:
32
Confidence:
91
Actionability:
86
Issue body
snapcraft release hello-roadmr-unicrash-1 11 stable/#🐍
this results in a 500 response from the store with this traceback:
DataError: invalid byte sequence for encoding "UTF8": 0xed 0xb3 0xb0
File "piston/resource.py", line 192, in __call__
result = meth(request, *args, **kwargs)
File "devportal/api/helpers.py", line 319, in wrapper
return orig_func(self, request, *args, **kwargs)
File "devportal/api/v1/handlers.py", line 920, in create
_channel = get_or_create_channel(_name, snap, create=True)
File "devportal/models/__init__.py", line 178, in get_or_create_channel
risk = Risk.objects.get(name__in=channel_split)
File "django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "django/db/models/query.py", line 374, in get
num = len(clone)
File "django/db/models/query.py", line 232, in __len__
self._fetch_all()
File "django/db/models/query.py", line 1118, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "django/db/models/query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch)
File "django/db/models/sql/compiler.py", line 899, in execute_sql
raise original_exception
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
38
Quick Win:
22
Complexity:
32
Confidence:
91
Actionability:
86
|
needs triage | A surrogate-escaped non-ASCII channel reproducibly causes a Store 500. The exact command and traceback are present, but the report remains open, unlabeled, and without maintainer triage. | |
| stealth/space-bunny-alpha |
Impact:
38
Quick Win:
18
Complexity:
44
Confidence:
83
Actionability:
84
|
needs triage | Malformed non-ASCII channel input reproducibly causes a Store 500 through surrogate-escaped UTF-8. Snapcraft still forwards channel strings without ASCII validation, and the report remains untriaged. | |
| stealth/space-bunny-alpha |
Impact:
46
Quick Win:
16
Complexity:
44
Confidence:
66
Actionability:
64
|
needs triage | Unicode in a release channel specification reproducibly triggers an invalid UTF-8 error and store HTTP 500; ownership and resolution remain untriaged. | |
| qwen/qwen3.8-27b |
Impact:
25
Quick Win:
15
Staleness:
85
Complexity:
40
Confidence:
55
Support Request:
10
|
needs triage | snapcraft release with a non-ASCII channel name (e.g. emoji) causes a 500 from the store due to an invalid UTF8 byte sequence in devportal's channel lookup. Unlabeled, no comments, inactive for ~7 years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
30
Confidence:
75
Support Request:
5
|
close stale | Non-ASCII characters in channel names trigger a 500 error due to invalid UTF8 byte sequences in the database. Unlabeled, no maintainer comments, inactive for over 7 years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
45
Confidence:
75
Support Request:
5
|
close stale | Bug report detailing a 500 error caused by non-ASCII characters in channel names triggering a database UTF-8 encoding failure. Unlabeled, no maintainer response, inactive for over 7 years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
30
Confidence:
75
Support Request:
5
|
close stale | Bug where non-ASCII characters in channel specifications trigger a 500 server error due to invalid UTF-8 database encoding. Unlabeled, zero maintainer comments, and inactive for over seven years. |
Update history
| Date | Change |
|---|---|
| created |
Related issues
No related issues found above the similarity threshold.