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-07T01:33:45Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-07T01:33:45Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-07T01:33:45Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-07T01:33:45Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-10-07T01:33:45Z" 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:33:45 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:33:45 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:33:45 INF WebTransport server cert SHA-256: 05571d48b53cb1d1225c7e3a960a274b163e4788fd716b04d6bb079f95181012 relay-1 | 01:33:45 INF → new WebTransport("https://0.0.0.0:4443/", {serverCertificateHashes: [{algorithm: "sha-256", value: new Uint8Array([5,87,29,72,181,60,177,209,34,92,126,58,150,10,39,75,22,62,71,136,253,113,107,4,214,187,7,159,149,24,16,18])}]}) relay-1 | 01:33:45 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:51 INF tls: ClientHello from 172.18.0.3:38403 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:51 DBG wtconn: upgrade request remote=172.18.0.3:38403 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:51 DBG wtconn: upgrade ok remote=172.18.0.3:38403 wt_protocol=moqt-20 test-client-1 | ok 1 - setup-only test-client-1 | --- test-client-1 | duration_ms: 32 test-client-1 | negotiated: moq-transport-20 test-client-1 | ... relay-1 | 01:33:51 WRN relay SETUP failed component=relay err="accept control: cancelled" relay-1 | 01:33:51 INF tls: ClientHello from 172.18.0.3:38403 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:51 DBG wtconn: upgrade request remote=172.18.0.3:38403 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:51 DBG wtconn: upgrade ok remote=172.18.0.3:38403 wt_protocol=moqt-20 relay-1 | 01:33:51 DBG relay dispatching request component=relay moqt.session=0x313613876c60 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:51 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x313613876c60 err=EOF relay-1 | 01:33:51 DBG relay request loop ended component=relay moqt.session=0x313613876c60 err=cancelled relay-1 | 01:33:51 DBG relay session handler returned component=relay err=cancelled relay-1 | 01:33:51 INF tls: ClientHello from 172.18.0.3:38403 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:51 DBG wtconn: upgrade request remote=172.18.0.3:38403 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:51 DBG wtconn: upgrade ok remote=172.18.0.3:38403 wt_protocol=moqt-20 relay-1 | 01:33:51 DBG relay dispatching request component=relay moqt.session=0x313613877760 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:52 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x313613877760 err="H3 error (0x170d7b68) (local)" relay-1 | 01:33:52 DBG relay request loop ended component=relay moqt.session=0x313613877760 err="stream canceled with error code 1" relay-1 | 01:33:52 DBG relay session handler returned component=relay err="stream canceled with error code 1" relay-1 | 01:33:52 INF tls: ClientHello from 172.18.0.3:38403 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:52 DBG wtconn: upgrade request remote=172.18.0.3:38403 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:52 DBG wtconn: upgrade ok remote=172.18.0.3:38403 wt_protocol=moqt-20 relay-1 | 01:33:52 DBG relay dispatching request component=relay moqt.session=0x3136139de2c0 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 relay-1 | 01:33:52 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x3136139de2c0 err=EOF relay-1 | 01:33:52 DBG relay request loop ended component=relay moqt.session=0x3136139de2c0 err=cancelled relay-1 | 01:33:52 DBG relay session handler returned component=relay err=cancelled 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:52 INF tls: ClientHello from 172.18.0.3:38403 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:52 DBG wtconn: upgrade request remote=172.18.0.3:38403 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:52 DBG wtconn: upgrade ok remote=172.18.0.3:38403 wt_protocol=moqt-20 relay-1 | 01:33:52 DBG relay dispatching request component=relay moqt.session=0x313613964000 type=*message.PublishNamespace relay-1 | 01:33:53 INF tls: ClientHello from 172.18.0.3:38403 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:53 DBG wtconn: upgrade request remote=172.18.0.3:38403 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:53 DBG wtconn: upgrade ok remote=172.18.0.3:38403 wt_protocol=moqt-20 relay-1 | 01:33:53 DBG relay dispatching request component=relay moqt.session=0x313613964c60 type=*message.SubscribeNamespace relay-1 | 01:33:53 DBG relay dispatching request component=relay moqt.session=0x313613964c60 type=*message.Subscribe relay-1 | 01:33:53 DBG SUBSCRIBE received component=relay moqt.session=0x313613964c60 namespace=/moq-test/interop name=test-track relay-1 | 01:33:53 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x313613964c60 entry_exists=false relay-1 | 01:33:53 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x313613964c60 namespace=/moq-test/interop publishers_found=1 relay-1 | 01:33:53 DBG subscribeUpstream: issuing upstream SUBSCRIBE component=relay moqt.session=0x313613964c60 source=local-publisher relay-1 | 01:33:53 DBG SUBSCRIBE_OK sent, waiting for subscriber component=relay moqt.session=0x313613964c60 name=test-track alias=1 relay-1 | 01:33:53 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x313613964c60 err=EOF relay-1 | 01:33:53 DBG SUBSCRIBE stream ended component=relay moqt.session=0x313613964c60 name=test-track relay-1 | 01:33:53 DBG relay request loop ended component=relay moqt.session=0x313613964c60 err="stream canceled with error code 1" relay-1 | 01:33:53 DBG relay session handler returned component=relay err="stream canceled with error code 1" test-client-1 | ok 6 - announce-subscribe test-client-1 | --- test-client-1 | duration_ms: 613 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:53 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x313613964000 err=EOF relay-1 | 01:33:53 DBG relay request loop ended component=relay moqt.session=0x313613964000 err=cancelled relay-1 | 01:33:53 DBG relay session handler returned component=relay err=cancelled relay-1 | 01:33:53 INF tls: ClientHello from 172.18.0.3:38403 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:53 DBG wtconn: upgrade request remote=172.18.0.3:38403 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:53 DBG wtconn: upgrade ok remote=172.18.0.3:38403 wt_protocol=moqt-20 relay-1 | 01:33:53 DBG relay dispatching request component=relay moqt.session=0x3136139df8c0 type=*message.SubscribeNamespace relay-1 | 01:33:54 INF tls: ClientHello from 172.18.0.3:38403 sni="relay" alpn=[h3] versions=[772] relay-1 | 01:33:54 DBG wtconn: upgrade request remote=172.18.0.3:38403 method=CONNECT path=/ proto=webtransport origin="" relay-1 | 01:33:54 DBG wtconn: upgrade ok remote=172.18.0.3:38403 wt_protocol=moqt-20 relay-1 | 01:33:54 DBG relay dispatching request component=relay moqt.session=0x313613ad0840 type=*message.PublishNamespace relay-1 | 01:33:54 DBG relay dispatching request component=relay moqt.session=0x3136139df8c0 type=*message.Subscribe relay-1 | 01:33:54 DBG SUBSCRIBE received component=relay moqt.session=0x3136139df8c0 namespace=/moq-test/interop name=test-track relay-1 | 01:33:54 DBG SUBSCRIBE no established upstream, trying on-demand component=relay moqt.session=0x3136139df8c0 entry_exists=false relay-1 | 01:33:54 DBG subscribeUpstream: namespace registry lookup component=relay moqt.session=0x3136139df8c0 namespace=/moq-test/interop publishers_found=1 relay-1 | 01:33:54 DBG subscribeUpstream: issuing upstream SUBSCRIBE component=relay moqt.session=0x3136139df8c0 source=local-publisher relay-1 | 01:33:54 DBG SUBSCRIBE_OK sent, waiting for subscriber component=relay moqt.session=0x3136139df8c0 name=test-track alias=1 relay-1 | 01:33:54 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x3136139df8c0 err="H3 error (0x170d7b68) (local)" relay-1 | 01:33:54 DBG SUBSCRIBE stream ended component=relay moqt.session=0x3136139df8c0 name=test-track relay-1 | 01:33:54 DBG relay request loop ended component=relay moqt.session=0x3136139df8c0 err="stream canceled with error code 1" relay-1 | 01:33:54 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: 1415 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:55 DBG relay datagram loop ended; datagrams unavailable on this session component=relay moqt.session=0x313613ad0840 err=EOF relay-1 | 01:33:55 DBG relay request loop ended component=relay moqt.session=0x313613ad0840 err=cancelled relay-1 | 01:33:55 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'