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/englishm/moq-interop-runner-stitcher-moq-client:latest URL: https://relay:4443 time="2026-10-06T01:34:15Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-06T01:34:15Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-06T01:34:15Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-06T01:34:15Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-10-06T01:34:15Z" 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: port=4443 cert=/certs/cert.pem wt-path=/ (serving raw QUIC and WebTransport; MOQT_TRANSPORT=webtransport is informational) relay-1 | 01:34:16 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 | 01:34:16 INF relay listening on [::]:4443 (raw QUIC as moqt://0.0.0.0:4443, WebTransport as https://0.0.0.0:4443/) relay-1 | 01:34:16 INF WebTransport server cert SHA-256: 4f0ca0b119c3f60e0feb4c020903ffc446378c53cd23cc0aa8b7b9084b77ebe7 relay-1 | 01:34:16 INF → new WebTransport("https://0.0.0.0:4443/", {serverCertificateHashes: [{algorithm: "sha-256", value: new Uint8Array([79,12,160,177,25,195,246,14,15,235,76,2,9,3,255,196,70,55,140,83,205,35,204,10,168,183,185,8,75,119,235,231])}]}) relay-1 | 01:34:16 INF relay accept loop starting component=relay addr=[::]:4443 test-client-1 | TAP version 14 test-client-1 | # stitcher-moq-client v0.2.0 (moq-net 0.3.8 via moq-tokio 0.19.20) test-client-1 | # Relay: https://relay:4443 test-client-1 | # Offered: moq-transport-22, moq-transport-21, moq-transport-20, moq-transport-19, moq-transport-18, moq-transport-17, moq-transport-16, moq-transport-15, moq-transport-14 test-client-1 | 1..7 relay-1 | 01:34:21 INF tls: ClientHello from 172.18.0.3:37300 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:34:21 DBG wtconn: upgrade request remote=172.18.0.3:37300 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:34:21 DBG wtconn: upgrade ok remote=172.18.0.3:37300 wt_protocol=moqt-20 test-client-1 | ok 1 - setup-only test-client-1 | --- test-client-1 | duration_ms: 41 test-client-1 | negotiated: moq-transport-20 test-client-1 | ... relay-1 | 01:34:21 WRN relay SETUP failed component=relay err="accept control: cancelled" relay-1 | 01:34:21 INF tls: ClientHello from 172.18.0.3:37300 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:34:21 DBG wtconn: upgrade request remote=172.18.0.3:37300 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:34:21 DBG wtconn: upgrade ok remote=172.18.0.3:37300 wt_protocol=moqt-20 relay-1 | 01:34:21 DBG relay dispatching request component=relay moqt.session=0x1ea9b69594a0 type=*message.PublishNamespace test-client-1 | ok 2 - announce-only test-client-1 | --- test-client-1 | duration_ms: 704 test-client-1 | negotiated: moq-transport-20 test-client-1 | outcome: "PUBLISH_NAMESPACE not rejected: session healthy 700 ms later (moq-net does not surface PUBLISH_NAMESPACE_OK)" test-client-1 | ... relay-1 | 01:34:22 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x1ea9b69594a0 err=EOF relay-1 | 01:34:22 DBG relay request loop ended component=relay moqt.session=0x1ea9b69594a0 err=cancelled relay-1 | 01:34:22 DBG relay session handler returned component=relay err=cancelled relay-1 | 01:34:22 INF tls: ClientHello from 172.18.0.3:37300 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:34:22 DBG wtconn: upgrade request remote=172.18.0.3:37300 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:34:22 DBG wtconn: upgrade ok remote=172.18.0.3:37300 wt_protocol=moqt-20 relay-1 | 01:34:22 DBG relay dispatching request component=relay moqt.session=0x1ea9b68249a0 type=*message.PublishNamespace test-client-1 | ok 3 - publish-namespace-done test-client-1 | --- test-client-1 | duration_ms: 806 test-client-1 | negotiated: moq-transport-20 test-client-1 | outcome: "PUBLISH_NAMESPACE_DONE sent; session healthy 300 ms later" test-client-1 | ... relay-1 | 01:34:23 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x1ea9b68249a0 err="H3 error (0x170d7b68) (local)" relay-1 | 01:34:23 DBG relay request loop ended component=relay moqt.session=0x1ea9b68249a0 err="stream canceled with error code 1" relay-1 | 01:34:23 DBG relay session handler returned component=relay err="stream canceled with error code 1" relay-1 | 01:34:23 INF tls: ClientHello from 172.18.0.3:37300 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:34:23 DBG wtconn: upgrade request remote=172.18.0.3:37300 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:34:23 DBG wtconn: upgrade ok remote=172.18.0.3:37300 wt_protocol=moqt-20 relay-1 | 01:34:23 DBG relay dispatching request component=relay moqt.session=0x1ea9b69eadc0 type=*message.SubscribeNamespace test-client-1 | ok 4 - subscribe-error # SKIP moq-net answers a request for an unannounced path locally (unroutable); no SUBSCRIBE reached the relay test-client-1 | --- test-client-1 | duration_ms: 303 test-client-1 | negotiated: moq-transport-20 test-client-1 | outcome: "request answered locally: unroutable" test-client-1 | ... test-client-1 | ok 5 - rendezvous-timeout # SKIP not implemented: moq-net 0.3 cannot put RENDEZVOUS_TIMEOUT on a SUBSCRIBE test-client-1 | --- test-client-1 | duration_ms: 0 test-client-1 | ... relay-1 | 01:34:23 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x1ea9b69eadc0 err="H3 error (0x170d7b68) (local)" relay-1 | 01:34:23 DBG relay request loop ended component=relay moqt.session=0x1ea9b69eadc0 err="stream canceled with error code 1" relay-1 | 01:34:23 DBG relay session handler returned component=relay err="stream canceled with error code 1" relay-1 | 01:34:23 INF tls: ClientHello from 172.18.0.3:37300 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:34:23 DBG wtconn: upgrade request remote=172.18.0.3:37300 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:34:23 DBG wtconn: upgrade ok remote=172.18.0.3:37300 wt_protocol=moqt-20 relay-1 | 01:34:23 DBG relay dispatching request component=relay moqt.session=0x1ea9b6825760 type=*message.PublishNamespace relay-1 | 01:34:23 INF tls: ClientHello from 172.18.0.3:37300 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:34:23 DBG wtconn: upgrade request remote=172.18.0.3:37300 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:34:23 DBG wtconn: upgrade ok remote=172.18.0.3:37300 wt_protocol=moqt-20 relay-1 | 01:34:23 DBG relay dispatching request component=relay moqt.session=0x1ea9b69ebb80 type=*message.SubscribeNamespace relay-1 | 01:34:23 DBG relay dispatching request component=relay moqt.session=0x1ea9b69ebb80 type=*message.Subscribe relay-1 | 01:34:23 DBG SUBSCRIBE received component=relay moqt.session=0x1ea9b69ebb80 namespace=/moq-test/interop name=test-track relay-1 | 01:34:23 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x1ea9b69ebb80 entry_exists=false relay-1 | 01:34:23 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x1ea9b69ebb80 namespace=/moq-test/interop publishers_found=1 relay-1 | 01:34:23 DBG subscribeUpstream: issuing upstream SUBSCRIBE component=relay moqt.session=0x1ea9b69ebb80 source=local-publisher relay-1 | 01:34:23 DBG SUBSCRIBE_OK sent, waiting for subscriber component=relay moqt.session=0x1ea9b69ebb80 name=test-track alias=1 relay-1 | 01:34:24 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x1ea9b69ebb80 err=EOF relay-1 | 01:34:24 DBG SUBSCRIBE stream ended component=relay moqt.session=0x1ea9b69ebb80 name=test-track relay-1 | 01:34:24 DBG relay request loop ended component=relay moqt.session=0x1ea9b69ebb80 err=cancelled relay-1 | 01:34:24 DBG relay session handler returned component=relay err=cancelled test-client-1 | ok 6 - announce-subscribe test-client-1 | --- test-client-1 | duration_ms: 611 test-client-1 | negotiated: moq-transport-20 test-client-1 | outcome: "relay routed the SUBSCRIBE to the publisher (0 ms), no REQUEST_ERROR followed" test-client-1 | ... relay-1 | 01:34:24 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x1ea9b6825760 err=EOF relay-1 | 01:34:24 DBG relay request loop ended component=relay moqt.session=0x1ea9b6825760 err=cancelled relay-1 | 01:34:24 DBG relay session handler returned component=relay err=cancelled relay-1 | 01:34:24 INF tls: ClientHello from 172.18.0.3:37300 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:34:24 DBG wtconn: upgrade request remote=172.18.0.3:37300 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:34:24 DBG wtconn: upgrade ok remote=172.18.0.3:37300 wt_protocol=moqt-20 relay-1 | 01:34:24 DBG relay dispatching request component=relay moqt.session=0x1ea9b6ab2840 type=*message.SubscribeNamespace relay-1 | 01:34:25 INF tls: ClientHello from 172.18.0.3:37300 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:34:25 DBG wtconn: upgrade request remote=172.18.0.3:37300 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:34:25 DBG wtconn: upgrade ok remote=172.18.0.3:37300 wt_protocol=moqt-20 relay-1 | 01:34:25 DBG relay dispatching request component=relay moqt.session=0x1ea9b6a331e0 type=*message.PublishNamespace relay-1 | 01:34:25 DBG relay dispatching request component=relay moqt.session=0x1ea9b6ab2840 type=*message.Subscribe relay-1 | 01:34:25 DBG SUBSCRIBE received component=relay moqt.session=0x1ea9b6ab2840 namespace=/moq-test/interop name=test-track relay-1 | 01:34:25 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x1ea9b6ab2840 entry_exists=false relay-1 | 01:34:25 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x1ea9b6ab2840 namespace=/moq-test/interop publishers_found=1 relay-1 | 01:34:25 DBG subscribeUpstream: issuing upstream SUBSCRIBE component=relay moqt.session=0x1ea9b6ab2840 source=local-publisher relay-1 | 01:34:25 DBG SUBSCRIBE_OK sent, waiting for subscriber component=relay moqt.session=0x1ea9b6ab2840 name=test-track alias=1 relay-1 | 01:34:25 DBG SUBSCRIBE stream ended component=relay moqt.session=0x1ea9b6ab2840 name=test-track relay-1 | 01:34:25 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x1ea9b6ab2840 err="H3 error (0x170d7b68) (local)" relay-1 | 01:34:25 DBG relay request loop ended component=relay moqt.session=0x1ea9b6ab2840 err="stream canceled with error code 1" relay-1 | 01:34:25 DBG relay session handler returned component=relay err="stream canceled with error code 1" test-client-1 | ok 7 - subscribe-before-announce test-client-1 | --- test-client-1 | duration_ms: 1413 test-client-1 | negotiated: moq-transport-20 test-client-1 | outcome: "subscriber connected first; nothing resolved until the late announce, which the relay routed to it; the SUBSCRIBE then reached the publisher (0 ms), no REQUEST_ERROR followed (moq-net sends SUBSCRIBE only after an announce)" test-client-1 | ... relay-1 | 01:34:25 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x1ea9b6a331e0 err=EOF relay-1 | 01:34:25 DBG relay request loop ended component=relay moqt.session=0x1ea9b6a331e0 err=cancelled relay-1 | 01:34:25 DBG relay session handler returned component=relay err=cancelled test-client-1 exited with code 0 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 Test results in mlog/ make[1]: Leaving directory '/home/runner/work/moq-interop-runner/moq-interop-runner/main'