#4332 parse_qs fails on python 3.9
Closed: Fixed by tkopecek. Opened by alisboav.

I would like to know if EL9 is no longer supported by Koji, or are you no longer testing there?
koji-1.35.2 is not deployable on EL9 because of the following error:

 File "/usr/share/koji-web/scripts/wsgi_publisher.py", line 244, in prep_handler, referer: https://kojitest.cern.ch/buildtargets
    fs = kojiweb.util.FieldStorageCompat(environ), referer: https://kojitest.cern.ch/buildtargets
  File "/usr/share/koji-web/lib/kojiweb/util.py", line 214, in __init__, referer: https://kojitest.cern.ch/buildtargets
     data = parse_qs(environ.get('QUERY_STRING', ''), strict_parsing=True,, referer: https://kojitest.cern.ch/buildtargets
   File "/usr/lib64/python3.9/urllib/parse.py", line 729, in parse_qs, referer: https://kojitest.cern.ch/buildtargets
     pairs = parse_qsl(qs, keep_blank_values, strict_parsing,, referer: https://kojitest.cern.ch/buildtargets
   File "/usr/lib64/python3.9/urllib/parse.py", line 791, in parse_qsl, referer: https://kojitest.cern.ch/buildtargets
     raise ValueError("bad query field: %r" % (name_value,)), referer: https://kojitest.cern.ch/buildtargets
 ValueError: bad query field: '', referer: https://kojitest.cern.ch/buildtargets

More specifically, parse_qs call is failing on python3.9.

Python 3.9.21 (main, Dec  5 2024, 00:00:00) 
[GCC 11.5.0 20240719 (Red Hat 11.5.0-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from urllib.parse import parse_qs
>>> import os
>>> data = parse_qs(os.environ.get('QUERY_STRING', ''), strict_parsing=True, keep_blank_values=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.9/urllib/parse.py", line 729, in parse_qs
    pairs = parse_qsl(qs, keep_blank_values, strict_parsing,
  File "/usr/lib64/python3.9/urllib/parse.py", line 791, in parse_qsl
    raise ValueError("bad query field: %r" % (name_value,))
ValueError: bad query field: ''
Python 3.11.9 (main, Dec  9 2024, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from urllib.parse import parse_qs
>>> import os
>>> data = parse_qs(os.environ.get('QUERY_STRING', ''), strict_parsing=True, keep_blank_values=True)
>>> 

Can you please update https://docs.pagure.org/koji/supported_platforms/# ?

of course el9 is supported. Let's stick to the bug at hand

Metadata Update from @mikem:
- Custom field Size adjusted to None

Fix in #4334

Also added #4336 to fix testing in different envs.

Metadata Update from @tkopecek:
- Issue tagged with: testing-ready

Commit 30cc2065 fixes this issue

Metadata Update from @mikem:
- Issue set to the milestone: 1.35.3

Metadata Update from @tkopecek:
- Issue untagged with: testing-ready
- Issue tagged with: testing-basic

Metadata Update from @mfilip:
- Issue tagged with: testing-done

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/koji/koji/issues/4332

Please continue any further discussion there.

Metadata
Related Pull Requests