#1140267 python-falcon: FTBFS: cbor2.CBORDecodeError: error decoding semantic tag: unknown unsigned integer subtype 0x1e

#1140267#5
Date:
2026-06-17 16:15:34 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202606/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-falcon, so that this is still
visible in the BTS web page for this package.

Thanks.
--------------------------------------------------------------------------------
[...]
 debian/rules clean
make: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs'
/usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs'
dh clean --buildsystem=python_distutils --with python3
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs'
/usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs'
rm -rf build .stestr *.egg-info .pytest_cache
find falcon/ -iname '*.c' -delete
find . -iname '*.pyc' -delete

[... snipped ...]

tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn-2-6-port] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn-32-38-random] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn--47-The content of this comment is part of a test.\n] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgiref_inputwrapper_with_size.py::TestWsgiRefInputWrapper::test_resources_can_read_request_stream_during_tests PASSED [100%]

=================================== FAILURES ===================================

E       assert 1 == 2
E        +  where 1 = <asgi.test_ws.test_media.<locals>.Resource object at 0x7f0dda7bd160>.deserialize_error_count

tests/asgi/test_ws.py:515: AssertionError
------------------------------ Captured log call -------------------------------
ERROR    falcon:app.py:1349 [FALCON] Unhandled exception in ASGI app
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/falcon/asgi/app.py", line 1243, in _handle_websocket
    await on_websocket(req, web_socket, **params)
  File "/<<PKGBUILDDIR>>/tests/asgi/test_ws.py", line 447, in on_websocket
    await ws.receive_media()
  File "/<<PKGBUILDDIR>>/falcon/asgi/ws.py", line 476, in receive_media
    return self._mh_bin_deserialize(data)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/<<PKGBUILDDIR>>/tests/asgi/test_ws.py", line 487, in deserialize
    return cbor2.loads(payload)
           ~~~~~~~~~~~^^^^^^^^^
cbor2.CBORDecodeError: error decoding semantic tag: unknown unsigned integer subtype 0x1e

E       assert 1 == 2
E        +  where 1 = <asgi.test_ws.test_media.<locals>.Resource object at 0x7f0dda7be270>.deserialize_error_count

tests/asgi/test_ws.py:515: AssertionError
------------------------------ Captured log call -------------------------------
ERROR    falcon:app.py:1349 [FALCON] Unhandled exception in ASGI app
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/falcon/asgi/app.py", line 1243, in _handle_websocket
    await on_websocket(req, web_socket, **params)
  File "/<<PKGBUILDDIR>>/tests/asgi/test_ws.py", line 447, in on_websocket
    await ws.receive_media()
  File "/<<PKGBUILDDIR>>/falcon/asgi/ws.py", line 476, in receive_media
    return self._mh_bin_deserialize(data)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/<<PKGBUILDDIR>>/tests/asgi/test_ws.py", line 487, in deserialize
    return cbor2.loads(payload)
           ~~~~~~~~~~~^^^^^^^^^
cbor2.CBORDecodeError: error decoding semantic tag: unknown unsigned integer subtype 0x1e
=========================== short test summary info ============================
FAILED tests/asgi/test_ws.py::test_media[True-True] - assert 1 == 2
FAILED tests/asgi/test_ws.py::test_media[True-False] - assert 1 == 2
================= 2 failed, 3934 passed, 180 skipped in 33.32s =================
make[1]: *** [debian/rules:27: override_dh_auto_install] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:11: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------

#1140267#10
Date:
2026-06-18 05:36:18 UTC
From:
To:
Hello!
On behalf of upstream,

This is caused by introducing cbor2 6.1.x with breaking changes in
cbor2 5.x -> 6.1.x.
See more here: https://falcon.readthedocs.io/changes/4.3.1.html

On an unrelated note, the built python3-falcon package should NOT
directly depend on any of the following:
python3-cbor2, python3-jsonschema, python3-mimeparse, python3-msgpack,
python3-rapidjson.

From this list, only python3-jsonschema & python3-msgpack are
referenced by the framework as optional components,
although even they would fit Suggests: better than Recommends: (if I
read the Debian Policy correctly).
See also: https://falcon.readthedocs.io/community/packaging.html#metadata-and-dependencies


Kindly
Vytas

#1140267#13
Date:
2026-06-18 12:23:04 UTC
From:
To:
Hello,

Bug #1140267 in python-falcon reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/openstack-team/python/python-falcon/-/commit/33b255d331cf920c3ca29c074864d4b2993f5b3b
------------------------------------------------------------------------
* New upstream release:
    - fix compat with cbor2 6.x (Closes: #1140267).
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1140267

#1140267#20
Date:
2026-06-18 12:48:56 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
python-falcon, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1140267@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Thomas Goirand <zigo@debian.org> (supplier of updated python-falcon package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 18 Jun 2026 14:15:41 +0200
Source: python-falcon
Architecture: source
Version: 4.3.1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian OpenStack <team+openstack@tracker.debian.org>
Changed-By: Thomas Goirand <zigo@debian.org>
Closes: 1140267
Changes:
 python-falcon (4.3.1-1) unstable; urgency=medium
 .
   * New upstream release:
     - fix compat with cbor2 6.x (Closes: #1140267).
Checksums-Sha1:
 289364aed1ce2b51cc0232a243d0918806f8996f 2455 python-falcon_4.3.1-1.dsc
 0b2f9fc38d2b453214733ed58cc33c9fe2390e16 925740 python-falcon_4.3.1.orig.tar.xz
 14672d9065ee233b813526fa4749ec1dbd7edd75 7184 python-falcon_4.3.1-1.debian.tar.xz
 d2c7b3739fb4c196c38509ef67dbae3a37cb642f 9493 python-falcon_4.3.1-1_amd64.buildinfo
Checksums-Sha256:
 84dcfbc8effb35a7426c732c9598198183248ecf174e9f1f323273fb7f36c217 2455 python-falcon_4.3.1-1.dsc
 32d0df87de9544aaa70392b2f31c71fa42ad504b7303cb0a10b0d8d500d29722 925740 python-falcon_4.3.1.orig.tar.xz
 dbfdb7d43530fa0776328c96f53143f75dd668c8af3a65f6c2eded4fdd1f28d9 7184 python-falcon_4.3.1-1.debian.tar.xz
 13b8d788699e422b6f284e989f269930c088dcb16d898298d148b97b3bcd4bfd 9493 python-falcon_4.3.1-1_amd64.buildinfo
Files:
 544cd66f1c28849cfc9e041ff278b51e 2455 python optional python-falcon_4.3.1-1.dsc
 7f2cba7af2a6cd37444f0e90f3df84eb 925740 python optional python-falcon_4.3.1.orig.tar.xz
 758616ceaa97e3092db78156dcd9cca3 7184 python optional python-falcon_4.3.1-1.debian.tar.xz
 811b23ebdccdaeaf1fedc510bfb01b95 9493 python optional python-falcon_4.3.1-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoLGp81CJVhMOekJc1BatFaxrQ/4FAmoz4ykACgkQ1BatFaxr
Q/4MQg//YY3Es75AlmUh4LWLD4wpcHTlfNhBWa0AnzqA1bY9a4ZlknYe2PAux9og
hYKYlSQ8stTdwFVCfYEB7odmv+9iH5zORJy8e2rZkFBw7WoYJM6Jgl7StqlWGD+Z
NsAZTvR+itZOv6lHv9h8DhmSibb33mXR+b8X52H9951QPGEURFymgumgNZu9IWI/
hO+C8zbl8hqgSGGOzouMtlw+8hGvAbcM7k43cUV/+IJUWTR1Z0lDw+GhS5LRbBcZ
MWWB9rCAtXIS7bOw9S32rnTZiVVT95RzUlHGqY/NilKo6ODbY6/EhZ2zhh2KNwfc
vrcNFT6hR7V5yRxxHKMlb5k/Tle0/I9gP55bzLLAkeW1TP6L9EqNFfaEBO3bW5cN
sI6Hx7UyXe511Jk1BxYRM1EujamsoRJUMnKmhVFV1ISh/MI0sBmz1uoykFpuFjno
OTolYMsbiQ8XWYYqNkMugkVoVzC3wrxClw+VcdnJmbcv4U3h9RW8MEl812DAaKlF
9LbfvjhhlYJZ3DLl2VViyT8+kl/cVR8tSRUnoJ5fkB7wnggyDAAApFPADuxBbmse
nryBs+URDL2FTZOdtj/kTjYAKv7tsMIikWLUr0XikRcQ8hJGWs7/dGvaXv2qGHLI
fVWZ8fejsb/7tlqu/45F06gT/e5L6gp9gL+EWg/3TyYCOC3+8EY=
=gQi5
-----END PGP SIGNATURE-----