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-05T01:32:56Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-05T01:32:56Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-05T01:32:56Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-05T01:32:56Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-10-05T01:32:56Z" 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:32:56 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:32:56 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:32:56 INF WebTransport server cert SHA-256: aebc90ed7043d24cb247148c12e9354e1a95d45dc6260d17743cfbc3278af2a2 relay-1 | 01:32:56 INF → new WebTransport("https://0.0.0.0:4443/", {serverCertificateHashes: [{algorithm: "sha-256", value: new Uint8Array([174,188,144,237,112,67,210,76,178,71,20,140,18,233,53,78,26,149,212,93,198,38,13,23,116,60,251,195,39,138,242,162])}]}) relay-1 | 01:32:56 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:33:02 INF tls: ClientHello from 172.18.0.3:54240 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:02 DBG wtconn: upgrade request remote=172.18.0.3:54240 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:02 DBG wtconn: upgrade ok remote=172.18.0.3:54240 wt_protocol=moqt-20 test-client-1 | ok 1 - setup-only test-client-1 | --- test-client-1 | duration_ms: 42 test-client-1 | negotiated: moq-transport-20 test-client-1 | ... relay-1 | 01:33:02 WRN relay SETUP failed component=relay err="accept control: cancelled" relay-1 | 01:33:02 INF tls: ClientHello from 172.18.0.3:54240 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:02 DBG wtconn: upgrade request remote=172.18.0.3:54240 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:02 DBG wtconn: upgrade ok remote=172.18.0.3:54240 wt_protocol=moqt-20 relay-1 | 01:33:02 DBG relay dispatching request component=relay moqt.session=0x32206d5d89a0 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:33:03 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x32206d5d89a0 err=EOF relay-1 | 01:33:03 DBG relay request loop ended component=relay moqt.session=0x32206d5d89a0 err=cancelled relay-1 | 01:33:03 DBG relay session handler returned component=relay err=cancelled relay-1 | 01:33:03 INF tls: ClientHello from 172.18.0.3:54240 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:03 DBG wtconn: upgrade request remote=172.18.0.3:54240 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:03 DBG wtconn: upgrade ok remote=172.18.0.3:54240 wt_protocol=moqt-20 relay-1 | 01:33:03 DBG relay dispatching request component=relay moqt.session=0x32206d5d9340 type=*message.PublishNamespace test-client-1 | ok 3 - publish-namespace-done test-client-1 | --- test-client-1 | duration_ms: 805 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:33:04 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x32206d5d9340 err="H3 error (0x170d7b68) (local)" relay-1 | 01:33:04 DBG relay request loop ended component=relay moqt.session=0x32206d5d9340 err="stream canceled with error code 1" relay-1 | 01:33:04 DBG relay session handler returned component=relay err="stream canceled with error code 1" relay-1 | 01:33:04 INF tls: ClientHello from 172.18.0.3:54240 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:04 DBG wtconn: upgrade request remote=172.18.0.3:54240 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:04 DBG wtconn: upgrade ok remote=172.18.0.3:54240 wt_protocol=moqt-20 relay-1 | 01:33:04 DBG relay dispatching request component=relay moqt.session=0x32206d7562c0 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: 305 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:33:04 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x32206d7562c0 err="H3 error (0x170d7b68) (local)" relay-1 | 01:33:04 DBG relay request loop ended component=relay moqt.session=0x32206d7562c0 err="stream canceled with error code 1" relay-1 | 01:33:04 DBG relay session handler returned component=relay err="stream canceled with error code 1" relay-1 | 01:33:04 INF tls: ClientHello from 172.18.0.3:54240 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:04 DBG wtconn: upgrade request remote=172.18.0.3:54240 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:04 DBG wtconn: upgrade ok remote=172.18.0.3:54240 wt_protocol=moqt-20 relay-1 | 01:33:04 DBG relay dispatching request component=relay moqt.session=0x32206d8046e0 type=*message.PublishNamespace relay-1 | 01:33:04 INF tls: ClientHello from 172.18.0.3:54240 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:04 DBG wtconn: upgrade request remote=172.18.0.3:54240 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:04 DBG wtconn: upgrade ok remote=172.18.0.3:54240 wt_protocol=moqt-20 relay-1 | 01:33:04 DBG relay dispatching request component=relay moqt.session=0x32206d756dc0 type=*message.SubscribeNamespace relay-1 | 01:33:04 DBG relay dispatching request component=relay moqt.session=0x32206d756dc0 type=*message.Subscribe relay-1 | 01:33:04 DBG SUBSCRIBE received component=relay moqt.session=0x32206d756dc0 namespace=/moq-test/interop name=test-track relay-1 | 01:33:04 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x32206d756dc0 entry_exists=false relay-1 | 01:33:04 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x32206d756dc0 namespace=/moq-test/interop publishers_found=1 relay-1 | 01:33:04 DBG subscribeUpstream: issuing upstream SUBSCRIBE component=relay moqt.session=0x32206d756dc0 source=local-publisher relay-1 | 01:33:04 DBG SUBSCRIBE_OK sent, waiting for subscriber component=relay moqt.session=0x32206d756dc0 name=test-track alias=1 relay-1 | 01:33:04 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x32206d756dc0 err=EOF relay-1 | 01:33:04 DBG SUBSCRIBE stream ended component=relay moqt.session=0x32206d756dc0 name=test-track relay-1 | 01:33:04 DBG relay request loop ended component=relay moqt.session=0x32206d756dc0 err=cancelled relay-1 | 01:33:04 DBG relay session handler returned component=relay err=cancelled test-client-1 | ok 6 - announce-subscribe test-client-1 | --- test-client-1 | duration_ms: 610 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:33:05 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x32206d8046e0 err=EOF relay-1 | 01:33:05 DBG relay request loop ended component=relay moqt.session=0x32206d8046e0 err=cancelled relay-1 | 01:33:05 DBG relay session handler returned component=relay err=cancelled relay-1 | 01:33:05 INF tls: ClientHello from 172.18.0.3:54240 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:05 DBG wtconn: upgrade request remote=172.18.0.3:54240 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:05 DBG wtconn: upgrade ok remote=172.18.0.3:54240 wt_protocol=moqt-20 relay-1 | 01:33:05 DBG relay dispatching request component=relay moqt.session=0x32206d805600 type=*message.SubscribeNamespace relay-1 | 01:33:06 INF tls: ClientHello from 172.18.0.3:54240 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:06 DBG wtconn: upgrade request remote=172.18.0.3:54240 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:06 DBG wtconn: upgrade ok remote=172.18.0.3:54240 wt_protocol=moqt-20 relay-1 | 01:33:06 DBG relay dispatching request component=relay moqt.session=0x32206d850000 type=*message.PublishNamespace relay-1 | 01:33:06 DBG relay dispatching request component=relay moqt.session=0x32206d805600 type=*message.Subscribe relay-1 | 01:33:06 DBG SUBSCRIBE received component=relay moqt.session=0x32206d805600 namespace=/moq-test/interop name=test-track relay-1 | 01:33:06 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x32206d805600 entry_exists=false relay-1 | 01:33:06 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x32206d805600 namespace=/moq-test/interop publishers_found=1 relay-1 | 01:33:06 DBG subscribeUpstream: issuing upstream SUBSCRIBE component=relay moqt.session=0x32206d805600 source=local-publisher relay-1 | 01:33:06 DBG SUBSCRIBE_OK sent, waiting for subscriber component=relay moqt.session=0x32206d805600 name=test-track alias=1 relay-1 | 01:33:06 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x32206d805600 err="H3 error (0x170d7b68) (local)" relay-1 | 01:33:06 DBG SUBSCRIBE stream ended component=relay moqt.session=0x32206d805600 name=test-track relay-1 | 01:33:06 DBG relay request loop ended component=relay moqt.session=0x32206d805600 err="stream canceled with error code 1" relay-1 | 01:33:06 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: 1412 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:33:06 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x32206d850000 err=EOF relay-1 | 01:33:06 DBG relay request loop ended component=relay moqt.session=0x32206d850000 err=cancelled relay-1 | 01:33:06 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'