← Back to issue list

Unicode non-ascii characters in channel specification cause a 500 response from the store

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1828600
Type
issue
State
open
Author
~matiasb
Labels
Created
Updated
Closed

Current evaluation

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.

Suggested action: needs triage

Reason: The issue has no labels, no assignee, and zero maintainer comments in ~7 years, so it has never been triaged. The traceback is entirely in the store backend (devportal/api/v1/handlers.py, devportal/models), not the snapcraft client, so a maintainer must decide whether to close it as out-of-scope/outdated (the store has been substantially rewritten since 2018) or add client-side channel-name validation. I could not verify current store behavior, so a human decision is warranted rather than an automatic close.

Impact: 25 Quick Win: 15.0 Staleness: 85 Complexity: 40 Confidence: 55 Support Request: 10

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
qwen/qwen3.8-27b
Impact: 25
Quick Win: 15.0
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.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 45
Confidence: 85
Support Request: 5
close stale Bug report detailing a backend 500 error when non-ASCII characters are used in snap channel specifications. Unlabeled, unassigned, and inactive for over seven years.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.