#1127110 aioquic: will FTBFS during forky support period

#1127110#5
Date:
2026-02-06 12:02:08 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in unstable with the system clock set
at 2030-08-09 (estimated to be three years after the release date of forky),
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/ftbfs-future/

About the archive rebuild: This is an effort to keep forky free from
FTBFS bugs during its lifetime as a supported distribution, as
explained here for trixie:

https://lists.debian.org/debian-devel/2024/05/msg00414.html

This category of bugs is considered to be RC for forky, but I will
wait two months from now before raising to serious to give people a
little bit more time to fix them.

The build was made 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:aioquic, so that this is still
visible in the BTS web page for this package.

Thanks.
--------------------------------------------------------------------------------
[...]

+                  push_id=None),
+  DataReceived(data=b'', stream_id=0, stream_ended=True, push_id=None)]

======================================================================
FAIL: test_request_headers_only (tests.test_h3.H3ConnectionTest.test_request_headers_only)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_h3.py", line 679, in test_request_headers_only
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        events,
        ^^^^^^^
    ...<12 lines>...
        ],
        ^^
    )
    ^
AssertionError: Lists differ: [] != [HeadersReceived(headers=[(b':method', b'H[145 chars]one)]

Second list contains 1 additional elements.
First extra element 0:
HeadersReceived(headers=[(b':method', b'HEAD'), (b':scheme', b'https'), (b':authority', b'localhost'), (b':path', b'/'), (b'x-foo', b'client')], stream_id=0, stream_ended=True, push_id=None)

- []
+ [HeadersReceived(headers=[(b':method', b'HEAD'),
+                           (b':scheme', b'https'),
+                           (b':authority', b'localhost'),
+                           (b':path', b'/'),
+                           (b'x-foo', b'client')],
+                  stream_id=0,
+                  stream_ended=True,
+                  push_id=None)]

======================================================================
FAIL: test_request_with_server_push (tests.test_h3.H3ConnectionTest.test_request_with_server_push)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_h3.py", line 872, in test_request_with_server_push
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        events,
        ^^^^^^^
    ...<11 lines>...
        ],
        ^^
    )
    ^
AssertionError: Lists differ: [] != [HeadersReceived(headers=[(b':method', b'G[121 chars]one)]

Second list contains 1 additional elements.
First extra element 0:
HeadersReceived(headers=[(b':method', b'GET'), (b':scheme', b'https'), (b':authority', b'localhost'), (b':path', b'/')], stream_id=0, stream_ended=True, push_id=None)

- []
+ [HeadersReceived(headers=[(b':method', b'GET'),
+                           (b':scheme', b'https'),
+                           (b':authority', b'localhost'),
+                           (b':path', b'/')],
+                  stream_id=0,
+                  stream_ended=True,
+                  push_id=None)]

======================================================================
FAIL: test_request_with_server_push_max_push_id (tests.test_h3.H3ConnectionTest.test_request_with_server_push_max_push_id)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_h3.py", line 1039, in test_request_with_server_push_max_push_id
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        events,
        ^^^^^^^
    ...<11 lines>...
        ],
        ^^
    )
    ^
AssertionError: Lists differ: [] != [HeadersReceived(headers=[(b':method', b'G[121 chars]one)]

Second list contains 1 additional elements.
First extra element 0:
HeadersReceived(headers=[(b':method', b'GET'), (b':scheme', b'https'), (b':authority', b'localhost'), (b':path', b'/')], stream_id=0, stream_ended=True, push_id=None)

- []
+ [HeadersReceived(headers=[(b':method', b'GET'),
+                           (b':scheme', b'https'),
+                           (b':authority', b'localhost'),
+                           (b':path', b'/')],
+                  stream_id=0,
+                  stream_ended=True,
+                  push_id=None)]

======================================================================
FAIL: test_request_with_trailers (tests.test_h3.H3ConnectionTest.test_request_with_trailers)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_h3.py", line 1360, in test_request_with_trailers
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        events,
        ^^^^^^^
    ...<16 lines>...
        ],
        ^^
    )
    ^
AssertionError: Lists differ: [] != [HeadersReceived(headers=[(b':method', b'G[224 chars]one)]

Second list contains 2 additional elements.
First extra element 0:
HeadersReceived(headers=[(b':method', b'GET'), (b':scheme', b'https'), (b':authority', b'localhost'), (b':path', b'/')], stream_id=0, stream_ended=False, push_id=None)

- []
+ [HeadersReceived(headers=[(b':method', b'GET'),
+                           (b':scheme', b'https'),
+                           (b':authority', b'localhost'),
+                           (b':path', b'/')],
+                  stream_id=0,
+                  stream_ended=False,
+                  push_id=None),
+  HeadersReceived(headers=[(b'x-some-trailer', b'foo')],
+                  stream_id=0,
+                  stream_ended=True,
+                  push_id=None)]

======================================================================
FAIL: test_uni_stream_type (tests.test_h3.H3ConnectionTest.test_uni_stream_type)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_h3.py", line 1436, in test_uni_stream_type
    self.assertEqual(list(h3_server._stream.keys()), [2])
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Lists differ: [] != [2]

Second list contains 1 additional elements.
First extra element 0:
2

- []
+ [2]
?  +


======================================================================
FAIL: test_bidirectional_stream (tests.test_webtransport.WebTransportTest.test_bidirectional_stream)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_webtransport.py", line 98, in test_bidirectional_stream
    session_id = self._make_session(h3_client, h3_server)
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_webtransport.py", line 46, in _make_session
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        events,
        ^^^^^^^
    ...<13 lines>...
        ],
        ^^
    )
    ^
AssertionError: Lists differ: [] != [HeadersReceived(headers=[(b':method', b'C[159 chars]one)]

Second list contains 1 additional elements.
First extra element 0:
HeadersReceived(headers=[(b':method', b'CONNECT'), (b':scheme', b'https'), (b':authority', b'localhost'), (b':path', b'/'), (b':protocol', b'webtransport')], stream_id=0, stream_ended=False, push_id=None)

- []
+ [HeadersReceived(headers=[(b':method', b'CONNECT'),
+                           (b':scheme', b'https'),
+                           (b':authority', b'localhost'),
+                           (b':path', b'/'),
+                           (b':protocol', b'webtransport')],
+                  stream_id=0,
+                  stream_ended=False,
+                  push_id=None)]

======================================================================
FAIL: test_bidirectional_stream_server_initiated (tests.test_webtransport.WebTransportTest.test_bidirectional_stream_server_initiated)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_webtransport.py", line 174, in test_bidirectional_stream_server_initiated
    session_id = self._make_session(h3_client, h3_server)
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_webtransport.py", line 46, in _make_session
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        events,
        ^^^^^^^
    ...<13 lines>...
        ],
        ^^
    )
    ^
AssertionError: Lists differ: [] != [HeadersReceived(headers=[(b':method', b'C[159 chars]one)]

Second list contains 1 additional elements.
First extra element 0:
HeadersReceived(headers=[(b':method', b'CONNECT'), (b':scheme', b'https'), (b':authority', b'localhost'), (b':path', b'/'), (b':protocol', b'webtransport')], stream_id=0, stream_ended=False, push_id=None)

- []
+ [HeadersReceived(headers=[(b':method', b'CONNECT'),
+                           (b':scheme', b'https'),
+                           (b':authority', b'localhost'),
+                           (b':path', b'/'),
+                           (b':protocol', b'webtransport')],
+                  stream_id=0,
+                  stream_ended=False,
+                  push_id=None)]

======================================================================
FAIL: test_datagram (tests.test_webtransport.WebTransportTest.test_datagram)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_webtransport.py", line 283, in test_datagram
    session_id = self._make_session(h3_client, h3_server)
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_webtransport.py", line 46, in _make_session
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        events,
        ^^^^^^^
    ...<13 lines>...
        ],
        ^^
    )
    ^
AssertionError: Lists differ: [] != [HeadersReceived(headers=[(b':method', b'C[159 chars]one)]

Second list contains 1 additional elements.
First extra element 0:
HeadersReceived(headers=[(b':method', b'CONNECT'), (b':scheme', b'https'), (b':authority', b'localhost'), (b':path', b'/'), (b':protocol', b'webtransport')], stream_id=0, stream_ended=False, push_id=None)

- []
+ [HeadersReceived(headers=[(b':method', b'CONNECT'),
+                           (b':scheme', b'https'),
+                           (b':authority', b'localhost'),
+                           (b':path', b'/'),
+                           (b':protocol', b'webtransport')],
+                  stream_id=0,
+                  stream_ended=False,
+                  push_id=None)]

======================================================================
FAIL: test_unidirectional_stream (tests.test_webtransport.WebTransportTest.test_unidirectional_stream)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_webtransport.py", line 203, in test_unidirectional_stream
    session_id = self._make_session(h3_client, h3_server)
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build/tests/test_webtransport.py", line 46, in _make_session
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        events,
        ^^^^^^^
    ...<13 lines>...
        ],
        ^^
    )
    ^
AssertionError: Lists differ: [] != [HeadersReceived(headers=[(b':method', b'C[159 chars]one)]

Second list contains 1 additional elements.
First extra element 0:
HeadersReceived(headers=[(b':method', b'CONNECT'), (b':scheme', b'https'), (b':authority', b'localhost'), (b':path', b'/'), (b':protocol', b'webtransport')], stream_id=0, stream_ended=False, push_id=None)

- []
+ [HeadersReceived(headers=[(b':method', b'CONNECT'),
+                           (b':scheme', b'https'),
+                           (b':authority', b'localhost'),
+                           (b':path', b'/'),
+                           (b':protocol', b'webtransport')],
+                  stream_id=0,
+                  stream_ended=False,
+                  push_id=None)]
---------------------------------------------------------------------- Ran 466 tests in 35.625s FAILED (failures=62, errors=31) E: pybuild pybuild:483: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioquic/build; python3.13 -m unittest discover -v dh_auto_test: error: pybuild --test -i python{version} -p "3.14 3.13" returned exit code 13 make: *** [debian/rules:7: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------