make[1]: Entering directory '/home/runner/work/moq-interop-runner/moq-interop-runner/main' rm -rf mlog/ mkdir -p mlog/relay mlog/client Running interop tests... Relay: ghcr.io/englishm/moq-interop-runner-moq-go-relay:latest Client: ghcr.io/gmarzot/aiomoqt:latest URL: https://relay:4443 time="2026-07-18T00:31:34Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-07-18T00:31:34Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-07-18T00:31:34Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-07-18T00:31:34Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-07-18T00:31:34Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." Container main-relay-1 Recreate Container main-relay-1 Recreated Attaching to relay-1, test-client-1 relay-1 | Starting moq relay: transport=webtransport port=4443 cert=/certs/cert.pem relay-1 | 00:31:34 INF WebTransport server cert SHA-256: 15a104c23872277ef35fa19ac2da25591d165ea1802d122df8f5b772963bbf01 relay-1 | 00:31:34 INF → new WebTransport("https://0.0.0.0:4443/", {serverCertificateHashes: [{algorithm: "sha-256", value: new Uint8Array([21,161,4,194,56,114,39,126,243,95,161,154,194,218,37,89,29,22,94,161,128,45,18,45,248,245,183,114,150,59,191,1])}]}) relay-1 | 00:31:34 INF relay listening on [::]:4443 (WebTransport, path /) relay-1 | 00:31:34 INF failed to sufficiently increase receive buffer size (was: 1024 kiB, wanted: 7168 kiB, got: 2048 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details. relay-1 | 00:31:34 INF relay accept loop starting component=relay addr=[::]:4443 relay-1 | 00:31:41 INF tls: ClientHello from 172.18.0.3:48913 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:41 DBG wtconn: upgrade request remote=172.18.0.3:48913 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:41 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-16\"" relay-1 | 00:31:41 DBG wtconn: upgrade ok remote=172.18.0.3:48913 wt_protocol=moqt-16 test-client-1 | 2026-07-18 00:31:41.020 WARNING: MOQT stream(7): subgroup with unknown track_alias=7 (may resolve via pending control message) relay-1 | 00:31:46 INF tls: ClientHello from 172.18.0.3:52889 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:46 DBG wtconn: upgrade request remote=172.18.0.3:52889 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:46 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="" relay-1 | 00:31:46 DBG wtconn: upgrade ok remote=172.18.0.3:52889 wt_protocol="" test-client-1 | 2026-07-18 00:31:46.024 WARNING: MOQT stream(7): subgroup with unknown track_alias=7 (may resolve via pending control message) relay-1 | 00:31:51 INF tls: ClientHello from 172.18.0.3:38096 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:51 DBG wtconn: upgrade request remote=172.18.0.3:38096 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:51 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-18\"" relay-1 | 00:31:51 DBG wtconn: upgrade ok remote=172.18.0.3:38096 wt_protocol=moqt-18 relay-1 | 00:31:51 INF tls: ClientHello from 172.18.0.3:35568 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:51 DBG wtconn: upgrade request remote=172.18.0.3:35568 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:51 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-18\"" relay-1 | 00:31:51 DBG wtconn: upgrade ok remote=172.18.0.3:35568 wt_protocol=moqt-18 test-client-1 | [PASS] setup-only: SERVER_SETUP received with compatible version relay-1 | 00:31:51 INF tls: ClientHello from 172.18.0.3:35056 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:51 DBG wtconn: upgrade request remote=172.18.0.3:35056 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:51 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-18\"" relay-1 | 00:31:51 DBG wtconn: upgrade ok remote=172.18.0.3:35056 wt_protocol=moqt-18 relay-1 | 00:31:51 DBG relay dispatching request component=relay moqt.session=0x3f518fd80a50 type=*message.PublishNamespace test-client-1 | [PASS] announce-only: PUBLISH_NAMESPACE_OK received relay-1 | 00:31:51 INF tls: ClientHello from 172.18.0.3:34720 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:51 DBG wtconn: upgrade request remote=172.18.0.3:34720 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:51 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-18\"" relay-1 | 00:31:51 DBG wtconn: upgrade ok remote=172.18.0.3:34720 wt_protocol=moqt-18 relay-1 | 00:31:51 DBG relay dispatching request component=relay moqt.session=0x3f518fd80c30 type=*message.PublishNamespace relay-1 | 00:31:51 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x3f518fd80c30 err="stream 0 canceled by local with error code 386759528" test-client-1 | [PASS] publish-namespace-done: PUBLISH_NAMESPACE_OK received, PUBLISH_NAMESPACE_DONE sent relay-1 | 00:31:51 INF tls: ClientHello from 172.18.0.3:49924 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:51 DBG wtconn: upgrade request remote=172.18.0.3:49924 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:51 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-18\"" relay-1 | 00:31:51 DBG wtconn: upgrade ok remote=172.18.0.3:49924 wt_protocol=moqt-18 relay-1 | 00:31:51 DBG relay dispatching request component=relay moqt.session=0x3f518fc912c0 type=*message.Subscribe relay-1 | 00:31:51 DBG SUBSCRIBE received component=relay moqt.session=0x3f518fc912c0 namespace=/nonexistent/namespace name=test-track relay-1 | 00:31:51 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x3f518fc912c0 entry_exists=false relay-1 | 00:31:51 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x3f518fc912c0 namespace=/nonexistent/namespace publishers_found=0 relay-1 | 00:31:51 DBG SUBSCRIBE rejected: no publisher for namespace component=relay moqt.session=0x3f518fc912c0 relay-1 | 00:31:51 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x3f518fc912c0 err=EOF relay-1 | 00:31:51 DBG relay request loop ended component=relay moqt.session=0x3f518fc912c0 err="" relay-1 | 00:31:51 DBG relay session handler returned component=relay err="" test-client-1 | [PASS] subscribe-error: Error received (expected): code=16 relay-1 | 00:31:51 INF tls: ClientHello from 172.18.0.3:59709 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:51 DBG wtconn: upgrade request remote=172.18.0.3:59709 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:51 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-18\"" relay-1 | 00:31:51 DBG wtconn: upgrade ok remote=172.18.0.3:59709 wt_protocol=moqt-18 relay-1 | 00:31:51 DBG relay dispatching request component=relay moqt.session=0x3f518fc914a0 type=*message.PublishNamespace relay-1 | 00:31:51 INF tls: ClientHello from 172.18.0.3:57436 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:51 DBG wtconn: upgrade request remote=172.18.0.3:57436 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:51 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-18\"" relay-1 | 00:31:51 DBG wtconn: upgrade ok remote=172.18.0.3:57436 wt_protocol=moqt-18 relay-1 | 00:31:51 DBG relay dispatching request component=relay moqt.session=0x3f518fc91680 type=*message.Subscribe relay-1 | 00:31:51 DBG SUBSCRIBE received component=relay moqt.session=0x3f518fc91680 namespace=/moq-test/c96d/interop/announce-subscribe name=track-c96d relay-1 | 00:31:51 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x3f518fc91680 entry_exists=false relay-1 | 00:31:51 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x3f518fc91680 namespace=/moq-test/c96d/interop/announce-subscribe publishers_found=1 relay-1 | 00:31:51 DBG subscribeUpstream: issuing upstream SUBSCRIBE component=relay moqt.session=0x3f518fc91680 source=local-publisher relay-1 | 00:31:51 DBG SUBSCRIBE_OK sent, waiting for subscriber component=relay moqt.session=0x3f518fc91680 name=track-c96d alias=1 test-client-1 | 2026-07-18 00:31:51.150 WARNING: MOQT stream(11): subgroup with unknown track_alias=1 (may resolve via pending control message) test-client-1 | [PASS] announce-subscribe: SUBSCRIBE_OK received — relay routed subscription relay-1 | 00:31:51 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x3f518fc91680 err=EOF relay-1 | 00:31:51 DBG SUBSCRIBE stream ended component=relay moqt.session=0x3f518fc91680 name=track-c96d relay-1 | 00:31:51 DBG relay request loop ended component=relay moqt.session=0x3f518fc91680 err="" relay-1 | 00:31:51 DBG relay session handler returned component=relay err="" relay-1 | 00:31:51 INF tls: ClientHello from 172.18.0.3:55629 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:51 DBG wtconn: upgrade request remote=172.18.0.3:55629 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:51 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-18\"" relay-1 | 00:31:51 DBG wtconn: upgrade ok remote=172.18.0.3:55629 wt_protocol=moqt-18 relay-1 | 00:31:51 DBG relay dispatching request component=relay moqt.session=0x3f518fd81680 type=*message.Subscribe relay-1 | 00:31:51 DBG SUBSCRIBE received component=relay moqt.session=0x3f518fd81680 namespace=/moq-test/c96d/interop/subscribe-before-announce name=track-c96d relay-1 | 00:31:51 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x3f518fd81680 entry_exists=false relay-1 | 00:31:51 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x3f518fd81680 namespace=/moq-test/c96d/interop/subscribe-before-announce publishers_found=0 relay-1 | 00:31:51 DBG SUBSCRIBE rejected: no publisher for namespace component=relay moqt.session=0x3f518fd81680 relay-1 | 00:31:51 INF tls: ClientHello from 172.18.0.3:47848 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:31:51 DBG wtconn: upgrade request remote=172.18.0.3:47848 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:31:51 INF wtconn: CheckOrigin origin="" host="relay" wt-protocols="\"moqt-18\"" relay-1 | 00:31:51 DBG wtconn: upgrade ok remote=172.18.0.3:47848 wt_protocol=moqt-18 test-client-1 | 2026-07-18 00:31:51.657 ERROR: MOQT control: truncated msg type=0x2f00 msg_len=21 tell=4 buf_len=4 head_hex=af000015 test-client-1 | 2026-07-18 00:31:51.657 ERROR: MOQT error: control stream: parsing failed at position: 4 of 4 bytes test-client-1 | 2026-07-18 00:31:51.657 ERROR: MOQT error: closing: control stream: parsing failed at position: 4 of 4 bytes (3) test-client-1 | 2026-07-18 00:31:51.657 ERROR: MOQT error: session setup failed: False test-client-1 | ERROR asyncio: Task exception was never retrieved test-client-1 | future: exception=MOQTRequestError('request error: code=16 reason=relay: no publisher for namespace')> test-client-1 | Traceback (most recent call last): test-client-1 | File "/app/aiomoqt/protocol.py", line 342, in _await_response test-client-1 | raise MOQTRequestError( test-client-1 | aiomoqt.types.MOQTRequestError: request error: code=16 reason=relay: no publisher for namespace test-client-1 | [FAIL] subscribe-before-announce: Failed: MOQTException: control stream: parsing failed at position: 4 of 4 bytes (3) test-client-1 | 2026-07-18 00:31:51.658 WARNING: QUIC event: stream data after close: stream 7 (rate-limited to once per stream) test-client-1 | TAP version 14 test-client-1 | # date: 2026-07-18T00:31:41Z test-client-1 | # ended: 2026-07-18T00:31:51Z test-client-1 | # target: https://relay:4443 test-client-1 | # version: aiomoqt/0.10.6 test-client-1 | # note: preference probe pinned draft-18 test-client-1 | 1..6 test-client-1 | ok 1 - setup-only test-client-1 | --- test-client-1 | duration_ms: 2.2 test-client-1 | connection_id: unknown test-client-1 | message: SERVER_SETUP received with compatible version test-client-1 | ... test-client-1 | ok 2 - announce-only test-client-1 | --- test-client-1 | duration_ms: 2.8 test-client-1 | connection_id: unknown test-client-1 | message: PUBLISH_NAMESPACE_OK received test-client-1 | ... test-client-1 | ok 3 - publish-namespace-done test-client-1 | --- test-client-1 | duration_ms: 103.5 test-client-1 | connection_id: unknown test-client-1 | message: PUBLISH_NAMESPACE_OK received, PUBLISH_NAMESPACE_DONE sent test-client-1 | ... test-client-1 | ok 4 - subscribe-error test-client-1 | --- test-client-1 | duration_ms: 3.3 test-client-1 | connection_id: unknown test-client-1 | message: Error received (expected): code=16 test-client-1 | expected: SUBSCRIBE_ERROR code=TRACK_DOES_NOT_EXIST test-client-1 | ... test-client-1 | ok 5 - announce-subscribe test-client-1 | --- test-client-1 | duration_ms: 7.1 test-client-1 | publisher_connection_id: unknown test-client-1 | subscriber_connection_id: unknown test-client-1 | message: SUBSCRIBE_OK received — relay routed subscription test-client-1 | ... test-client-1 | not ok 6 - subscribe-before-announce test-client-1 | --- test-client-1 | duration_ms: 507.0 test-client-1 | publisher_connection_id: unknown test-client-1 | subscriber_connection_id: unknown test-client-1 | message: Failed: MOQTException: control stream: parsing failed at position: 4 of 4 bytes (3) test-client-1 | received: MOQTException: control stream: parsing failed at position: 4 of 4 bytes (3) test-client-1 | ... test-client-1 exited with code 1 Aborting on container exit... Container main-test-client-1 Stopping Container main-test-client-1 Stopped Container main-relay-1 Stopping Container main-relay-1 Stopped make[1]: *** [Makefile:85: test] Error 1 make[1]: Leaving directory '/home/runner/work/moq-interop-runner/moq-interop-runner/main'