make[1]: Entering directory '/home/runner/work/moq-interop-runner/moq-interop-runner/main' Running tests against https://draft-16-manish.cloudflare.mediaoverquic.com:443/moq... Client: ghcr.io/gmarzot/aiomoqt:latest docker run --rm \ \ --network host \ -e RELAY_URL=https://draft-16-manish.cloudflare.mediaoverquic.com:443/moq \ -e TLS_DISABLE_VERIFY=false \ ghcr.io/gmarzot/aiomoqt:latest 2026-05-19 01:49:26.555 ERROR: handle_control_message: error handling control message: BufferReadError: BufferReadError('read out of bounds') 2026-05-19 01:49:26.557 ERROR: handle_control_message: traceback: Traceback (most recent call last): File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds ERROR asyncio: Exception in callback _Dispatcher._drain() handle: Traceback (most recent call last): File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiopquic/asyncio/webtransport.py", line 440, in _drain session._on_event(ev) File "/app/aiomoqt/protocol.py", line 2340, in _on_event self.quic_event_received(_SD(stream_id=sid, data=data, File "/app/aiomoqt/protocol.py", line 997, in quic_event_received msg = self._moqt_handle_control_message(msg_buf) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds 2026-05-19 01:49:26.558 ERROR: MOQT error: closing: critical stream closed by remote peer: 4 (1) 2026-05-19 01:49:26.558 ERROR: MOQT error: session setup failed: False [FAIL] setup-only: Failed: critical stream closed by remote peer: 4 (1) 2026-05-19 01:49:26.646 ERROR: handle_control_message: error handling control message: BufferReadError: BufferReadError('read out of bounds') 2026-05-19 01:49:26.647 ERROR: handle_control_message: traceback: Traceback (most recent call last): File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds ERROR asyncio: Exception in callback _Dispatcher._drain() handle: Traceback (most recent call last): File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiopquic/asyncio/webtransport.py", line 440, in _drain session._on_event(ev) File "/app/aiomoqt/protocol.py", line 2340, in _on_event self.quic_event_received(_SD(stream_id=sid, data=data, File "/app/aiomoqt/protocol.py", line 997, in quic_event_received msg = self._moqt_handle_control_message(msg_buf) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds 2026-05-19 01:49:26.647 ERROR: MOQT error: closing: critical stream closed by remote peer: 4 (1) 2026-05-19 01:49:26.648 ERROR: MOQT error: session setup failed: False [FAIL] announce-only: Failed: critical stream closed by remote peer: 4 (1) 2026-05-19 01:49:26.735 ERROR: handle_control_message: error handling control message: BufferReadError: BufferReadError('read out of bounds') 2026-05-19 01:49:26.735 ERROR: handle_control_message: traceback: Traceback (most recent call last): File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds ERROR asyncio: Exception in callback _Dispatcher._drain() handle: Traceback (most recent call last): File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiopquic/asyncio/webtransport.py", line 440, in _drain session._on_event(ev) File "/app/aiomoqt/protocol.py", line 2340, in _on_event self.quic_event_received(_SD(stream_id=sid, data=data, File "/app/aiomoqt/protocol.py", line 997, in quic_event_received msg = self._moqt_handle_control_message(msg_buf) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds 2026-05-19 01:49:26.736 ERROR: MOQT error: closing: critical stream closed by remote peer: 4 (1) 2026-05-19 01:49:26.736 ERROR: MOQT error: session setup failed: False [FAIL] publish-namespace-done: Failed: critical stream closed by remote peer: 4 (1) 2026-05-19 01:49:26.824 ERROR: handle_control_message: error handling control message: BufferReadError: BufferReadError('read out of bounds') 2026-05-19 01:49:26.824 ERROR: handle_control_message: traceback: Traceback (most recent call last): File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds ERROR asyncio: Exception in callback _Dispatcher._drain() handle: Traceback (most recent call last): File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiopquic/asyncio/webtransport.py", line 440, in _drain session._on_event(ev) File "/app/aiomoqt/protocol.py", line 2343, in _on_event self.quic_event_received(_SD(stream_id=sid, data=data, File "/app/aiomoqt/protocol.py", line 997, in quic_event_received msg = self._moqt_handle_control_message(msg_buf) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds [FAIL] subscribe-error: Failed: 2026-05-19 01:49:28.828 ERROR: handle_control_message: error handling control message: BufferReadError: BufferReadError('read out of bounds') 2026-05-19 01:49:28.828 ERROR: handle_control_message: traceback: Traceback (most recent call last): File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds ERROR asyncio: Exception in callback _Dispatcher._drain() handle: Traceback (most recent call last): File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiopquic/asyncio/webtransport.py", line 440, in _drain session._on_event(ev) File "/app/aiomoqt/protocol.py", line 2340, in _on_event self.quic_event_received(_SD(stream_id=sid, data=data, File "/app/aiomoqt/protocol.py", line 997, in quic_event_received msg = self._moqt_handle_control_message(msg_buf) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds 2026-05-19 01:49:28.829 ERROR: MOQT error: closing: critical stream closed by remote peer: 4 (1) 2026-05-19 01:49:28.829 ERROR: MOQT error: session setup failed: False [FAIL] announce-subscribe: Failed: critical stream closed by remote peer: 4 (1) 2026-05-19 01:49:28.916 ERROR: handle_control_message: error handling control message: BufferReadError: BufferReadError('read out of bounds') 2026-05-19 01:49:28.917 ERROR: handle_control_message: traceback: Traceback (most recent call last): File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds ERROR asyncio: Exception in callback _Dispatcher._drain() handle: Traceback (most recent call last): File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiopquic/asyncio/webtransport.py", line 440, in _drain session._on_event(ev) File "/app/aiomoqt/protocol.py", line 2340, in _on_event self.quic_event_received(_SD(stream_id=sid, data=data, File "/app/aiomoqt/protocol.py", line 997, in quic_event_received msg = self._moqt_handle_control_message(msg_buf) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/protocol.py", line 407, in _moqt_handle_control_message msg = message_class.deserialize(buf, buf_end=end_pos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/session_setup.py", line 48, in deserialize params = MOQTMessage._deserialize_params(buf, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/aiomoqt/messages/base.py", line 445, in _deserialize_params param_value = buf.pull_uint_var() ^^^^^^^^^^^^^^^^^^^ File "src/aiopquic/_binding/_buffer.pyx", line 168, in aiopquic._binding._buffer.Buffer.pull_uint_var File "src/aiopquic/_binding/_buffer.pyx", line 170, in aiopquic._binding._buffer.Buffer.pull_uint_var aiopquic._binding._buffer.BufferReadError: read out of bounds 2026-05-19 01:49:28.918 ERROR: MOQT error: closing: critical stream closed by remote peer: 4 (1) 2026-05-19 01:49:28.918 ERROR: MOQT error: session setup failed: False [FAIL] subscribe-before-announce: Failed: critical stream closed by remote peer: 4 (1) Received a connection close request Received a connection close request Received a connection close request Received a connection close request Received a connection close request Received a connection close request TAP version 14 1..6 not ok 1 - setup-only --- duration_ms: 94.2 message: Failed: critical stream closed by remote peer: 4 (1) expected: SERVER_SETUP received received: critical stream closed by remote peer: 4 (1) ... not ok 2 - announce-only --- duration_ms: 89.4 message: Failed: critical stream closed by remote peer: 4 (1) expected: PUBLISH_NAMESPACE_OK received: critical stream closed by remote peer: 4 (1) ... not ok 3 - publish-namespace-done --- duration_ms: 88.6 message: Failed: critical stream closed by remote peer: 4 (1) expected: PUBLISH_NAMESPACE_OK + PUBLISH_NAMESPACE_DONE received: critical stream closed by remote peer: 4 (1) ... not ok 4 - subscribe-error --- duration_ms: 2003.7 message: Failed: expected: error response ... not ok 5 - announce-subscribe --- duration_ms: 89.1 publisher_connection_id: unknown subscriber_connection_id: unknown message: Failed: critical stream closed by remote peer: 4 (1) ... not ok 6 - subscribe-before-announce --- duration_ms: 88.9 publisher_connection_id: unknown subscriber_connection_id: unknown message: Failed: critical stream closed by remote peer: 4 (1) ... make[1]: *** [Makefile:121: test-external] Error 1 make[1]: Leaving directory '/home/runner/work/moq-interop-runner/moq-interop-runner/main'