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-moq-dev-js-client:latest URL: https://relay:4443 time="2026-07-01T00:54:05Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-07-01T00:54:05Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-07-01T00:54:05Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-07-01T00:54:05Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-07-01T00:54:05Z" 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:54:05 INF WebTransport server cert SHA-256: b883553f7826f431d720c28d4acb37d9f05fb58953a72c7cbe98e3e8eabd7b13 relay-1 | 00:54:05 INF → new WebTransport("https://0.0.0.0:4443/", {serverCertificateHashes: [{algorithm: "sha-256", value: new Uint8Array([184,131,85,63,120,38,244,49,215,32,194,141,74,203,55,217,240,95,181,137,83,167,44,124,190,152,227,232,234,189,123,19])}]}) relay-1 | 00:54:05 INF relay listening on [::]:4443 (WebTransport, path /) relay-1 | 00:54:05 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:54:05 INF relay accept loop starting component=relay addr=[::]:4443 test-client-1 | TAP version 14 test-client-1 | # moq-dev-js-client v0.1.0 test-client-1 | # Relay: https://relay:4443 test-client-1 | 1..6 relay-1 | 00:54:11 INF tls: ClientHello from 172.18.0.3:40658 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:54:11 DBG wtconn: upgrade request remote=172.18.0.3:40658 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:54:11 INF wtconn: CheckOrigin origin="" host="relay:4443" wt-protocols="\"moq-lite-04\", \"moq-lite-03\", \"moql\", \"moqt-18\", \"moqt-17\", \"moqt-16\", \"moqt-15\"" relay-1 | 00:54:11 DBG wtconn: upgrade ok remote=172.18.0.3:40658 wt_protocol=moqt-18 test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moqt-18 relay-1 | 00:54:11 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x2c67ed8945a0 err=EOF relay-1 | 00:54:11 DBG relay request loop ended component=relay moqt.session=0x2c67ed8945a0 err="" relay-1 | 00:54:11 DBG relay session handler returned component=relay err="" test-client-1 | ok 1 - setup-only test-client-1 | --- test-client-1 | duration_ms: 206 test-client-1 | ... relay-1 | 00:54:12 INF tls: ClientHello from 172.18.0.3:35266 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:54:12 DBG wtconn: upgrade request remote=172.18.0.3:35266 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:54:12 INF wtconn: CheckOrigin origin="" host="relay:4443" wt-protocols="\"moq-lite-04\", \"moq-lite-03\", \"moql\", \"moqt-18\", \"moqt-17\", \"moqt-16\", \"moqt-15\"" relay-1 | 00:54:12 DBG wtconn: upgrade ok remote=172.18.0.3:35266 wt_protocol=moqt-18 test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moqt-18 relay-1 | 00:54:12 DBG relay dispatching request component=relay moqt.session=0x2c67ed894960 type=*message.PublishNamespace relay-1 | 00:54:12 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x2c67ed894960 err=EOF relay-1 | 00:54:12 DBG relay request loop ended component=relay moqt.session=0x2c67ed894960 err="" relay-1 | 00:54:12 DBG relay session handler returned component=relay err="" test-client-1 | announce failed: broadcast=moq-test/interop error=session error: connection error: closed test-client-1 | ok 2 - announce-only test-client-1 | --- test-client-1 | duration_ms: 606 test-client-1 | ... relay-1 | 00:54:12 INF tls: ClientHello from 172.18.0.3:58299 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:54:12 DBG wtconn: upgrade request remote=172.18.0.3:58299 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:54:12 INF wtconn: CheckOrigin origin="" host="relay:4443" wt-protocols="\"moq-lite-04\", \"moq-lite-03\", \"moql\", \"moqt-18\", \"moqt-17\", \"moqt-16\", \"moqt-15\"" relay-1 | 00:54:12 DBG wtconn: upgrade ok remote=172.18.0.3:58299 wt_protocol=moqt-18 test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moqt-18 relay-1 | 00:54:12 DBG relay dispatching request component=relay moqt.session=0x2c67ed894d20 type=*message.PublishNamespace relay-1 | 00:54:13 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x2c67ed894d20 err=EOF relay-1 | 00:54:13 DBG relay request loop ended component=relay moqt.session=0x2c67ed894d20 err="" relay-1 | 00:54:13 DBG relay session handler returned component=relay err="" test-client-1 | ok 3 - publish-namespace-done test-client-1 | --- test-client-1 | duration_ms: 806 test-client-1 | ... relay-1 | 00:54:13 INF tls: ClientHello from 172.18.0.3:49030 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:54:13 DBG wtconn: upgrade request remote=172.18.0.3:49030 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:54:13 INF wtconn: CheckOrigin origin="" host="relay:4443" wt-protocols="\"moq-lite-04\", \"moq-lite-03\", \"moql\", \"moqt-18\", \"moqt-17\", \"moqt-16\", \"moqt-15\"" relay-1 | 00:54:13 DBG wtconn: upgrade ok remote=172.18.0.3:49030 wt_protocol=moqt-18 test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moqt-18 test-client-1 | subscribe start: id=0 broadcast=nonexistent/namespace track=test-track test-client-1 | subscribe written: id=0 broadcast=nonexistent/namespace track=test-track relay-1 | 00:54:13 DBG relay dispatching request component=relay moqt.session=0x2c67ed894ff0 type=*message.Subscribe relay-1 | 00:54:13 DBG SUBSCRIBE received component=relay moqt.session=0x2c67ed894ff0 namespace=/nonexistent/namespace name=test-track relay-1 | 00:54:13 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x2c67ed894ff0 entry_exists=false relay-1 | 00:54:13 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x2c67ed894ff0 namespace=/nonexistent/namespace publishers_found=0 relay-1 | 00:54:13 DBG SUBSCRIBE rejected: no publisher for namespace component=relay moqt.session=0x2c67ed894ff0 test-client-1 | subscribe error: id=0 broadcast=nonexistent/namespace track=test-track error=SUBSCRIBE error: code=16 reason=relay: no publisher for namespace relay-1 | 00:54:13 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x2c67ed894ff0 err=EOF relay-1 | 00:54:13 DBG relay request loop ended component=relay moqt.session=0x2c67ed894ff0 err="" relay-1 | 00:54:13 DBG relay session handler returned component=relay err="" test-client-1 | ok 4 - subscribe-error test-client-1 | --- test-client-1 | duration_ms: 111 test-client-1 | ... relay-1 | 00:54:13 INF tls: ClientHello from 172.18.0.3:50551 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:54:13 DBG wtconn: upgrade request remote=172.18.0.3:50551 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:54:13 INF wtconn: CheckOrigin origin="" host="relay:4443" wt-protocols="\"moq-lite-04\", \"moq-lite-03\", \"moql\", \"moqt-18\", \"moqt-17\", \"moqt-16\", \"moqt-15\"" relay-1 | 00:54:13 DBG wtconn: upgrade ok remote=172.18.0.3:50551 wt_protocol=moqt-18 test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moqt-18 relay-1 | 00:54:13 DBG relay dispatching request component=relay moqt.session=0x2c67ed95e690 type=*message.PublishNamespace relay-1 | 00:54:13 INF tls: ClientHello from 172.18.0.3:46468 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:54:13 DBG wtconn: upgrade request remote=172.18.0.3:46468 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:54:13 INF wtconn: CheckOrigin origin="" host="relay:4443" wt-protocols="\"moq-lite-04\", \"moq-lite-03\", \"moql\", \"moqt-18\", \"moqt-17\", \"moqt-16\", \"moqt-15\"" relay-1 | 00:54:13 DBG wtconn: upgrade ok remote=172.18.0.3:46468 wt_protocol=moqt-18 test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moqt-18 test-client-1 | subscribe start: id=0 broadcast=moq-test/interop track=test-track test-client-1 | subscribe written: id=0 broadcast=moq-test/interop track=test-track relay-1 | 00:54:13 DBG relay dispatching request component=relay moqt.session=0x2c67ed95ea50 type=*message.Subscribe relay-1 | 00:54:13 DBG SUBSCRIBE received component=relay moqt.session=0x2c67ed95ea50 namespace=/moq-test/interop name=test-track relay-1 | 00:54:13 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x2c67ed95ea50 entry_exists=false relay-1 | 00:54:13 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x2c67ed95ea50 namespace=/moq-test/interop publishers_found=1 relay-1 | 00:54:13 DBG subscribeUpstream: issuing upstream SUBSCRIBE component=relay moqt.session=0x2c67ed95ea50 source=local-publisher relay-1 | 00:54:13 DBG SUBSCRIBE_OK sent, waiting for subscriber component=relay moqt.session=0x2c67ed95ea50 name=test-track alias=1 test-client-1 | publish ok: broadcast=moq-test/interop track=test-track test-client-1 | subscribe ok: id=0 broadcast=moq-test/interop track=test-track relay-1 | 00:54:15 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x2c67ed95e690 err=EOF relay-1 | 00:54:15 DBG relay request loop ended component=relay moqt.session=0x2c67ed95e690 err="" relay-1 | 00:54:15 DBG relay session handler returned component=relay err="" test-client-1 | publish error: broadcast=moq-test/interop track=test-track error=session error: connection error: closed relay-1 | 00:54:15 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x2c67ed95ea50 err=EOF relay-1 | 00:54:15 DBG SUBSCRIBE stream ended component=relay moqt.session=0x2c67ed95ea50 name=test-track relay-1 | 00:54:15 DBG relay request loop ended component=relay moqt.session=0x2c67ed95ea50 err="" relay-1 | 00:54:15 DBG relay session handler returned component=relay err="" test-client-1 | ok 5 - announce-subscribe test-client-1 | --- test-client-1 | duration_ms: 2113 test-client-1 | ... relay-1 | 00:54:15 INF tls: ClientHello from 172.18.0.3:47795 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:54:15 DBG wtconn: upgrade request remote=172.18.0.3:47795 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:54:15 INF wtconn: CheckOrigin origin="" host="relay:4443" wt-protocols="\"moq-lite-04\", \"moq-lite-03\", \"moql\", \"moqt-18\", \"moqt-17\", \"moqt-16\", \"moqt-15\"" relay-1 | 00:54:15 DBG wtconn: upgrade ok remote=172.18.0.3:47795 wt_protocol=moqt-18 test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moqt-18 test-client-1 | subscribe start: id=0 broadcast=moq-test/interop track=test-track test-client-1 | subscribe written: id=0 broadcast=moq-test/interop track=test-track relay-1 | 00:54:15 DBG relay dispatching request component=relay moqt.session=0x2c67ed895590 type=*message.Subscribe relay-1 | 00:54:15 DBG SUBSCRIBE received component=relay moqt.session=0x2c67ed895590 namespace=/moq-test/interop name=test-track relay-1 | 00:54:15 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x2c67ed895590 entry_exists=false relay-1 | 00:54:15 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x2c67ed895590 namespace=/moq-test/interop publishers_found=0 relay-1 | 00:54:15 DBG SUBSCRIBE rejected: no publisher for namespace component=relay moqt.session=0x2c67ed895590 test-client-1 | subscribe error: id=0 broadcast=moq-test/interop track=test-track error=SUBSCRIBE error: code=16 reason=relay: no publisher for namespace relay-1 | 00:54:16 INF tls: ClientHello from 172.18.0.3:40162 sni="relay" alpn=[h3] versions=[772] relay-1 | 00:54:16 DBG wtconn: upgrade request remote=172.18.0.3:40162 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 00:54:16 INF wtconn: CheckOrigin origin="" host="relay:4443" wt-protocols="\"moq-lite-04\", \"moq-lite-03\", \"moql\", \"moqt-18\", \"moqt-17\", \"moqt-16\", \"moqt-15\"" relay-1 | 00:54:16 DBG wtconn: upgrade ok remote=172.18.0.3:40162 wt_protocol=moqt-18 test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moqt-18 relay-1 | 00:54:16 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x2c67ed895860 err=EOF relay-1 | 00:54:16 DBG relay request loop ended component=relay moqt.session=0x2c67ed895860 err="moqt/session: parse request first message: " relay-1 | 00:54:16 DBG relay session handler returned component=relay err="moqt/session: parse request first message: " test-client-1 | announce failed: broadcast=moq-test/interop error=session error: connection error: closed relay-1 | 00:54:16 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x2c67ed895590 err=EOF relay-1 | 00:54:16 DBG relay request loop ended component=relay moqt.session=0x2c67ed895590 err="" relay-1 | 00:54:16 DBG relay session handler returned component=relay err="" test-client-1 | ok 6 - subscribe-before-announce test-client-1 | --- test-client-1 | duration_ms: 713 test-client-1 | ... 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'