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: moq-dev-rs-interop:latest Client: ghcr.io/englishm/moq-interop-runner-moq-dev-js-client:latest URL: https://relay:4443 time="2026-10-05T00:39:41Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-05T00:39:41Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-05T00:39:41Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-05T00:39:41Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-10-05T00:39:41Z" 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 | 2026-10-05T00:39:41.656755Z  WARN moq_sock::bind: UDP receive buffer is smaller than requested; raise `net.core.rmem_max` or expect packet loss under load wanted=8388608 granted=1048576 relay-1 | 2026-10-05T00:39:41.656775Z  WARN moq_sock::bind: UDP send buffer is smaller than requested; raise `net.core.wmem_max` or expect packet loss under load wanted=8388608 granted=212992 relay-1 | 2026-10-05T00:39:41.658736Z  INFO moq_relay::cluster: cluster initialized hop_id=6536590702763127 configured=false relay-1 | 2026-10-05T00:39:41.659889Z  INFO moq_relay::relay: listening addr=[::]:4443 kind="quic" relay-1 | 2026-10-05T00:39:41.659999Z  INFO moq_relay::cluster: no cluster peers configured; running standalone 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 | 2026-10-05T00:39:47.531415Z  INFO conn{id=0 remote=[::ffff:172.18.0.3]:39340 session="10552c2b88faccceb3b0572dee997025"}: moq_relay::connection: session accepted transport=quic role=None tier= root= publish=** subscribe=** relay-1 | 2026-10-05T00:39:47.531526Z  INFO conn{id=0 remote=[::ffff:172.18.0.3]:39340 session="10552c2b88faccceb3b0572dee997025"}: moq_relay::connection: negotiated version=moq-lite-04 transport=quic test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moq-lite-04 relay-1 | 2026-10-05T00:39:47.550547Z  WARN conn{id=0 remote=[::ffff:172.18.0.3]:39340 session="10552c2b88faccceb3b0572dee997025"}: moq_net::lite::publisher: control stream error err=no error relay-1 | 2026-10-05T00:39:47.550588Z  WARN conn{id=0 remote=[::ffff:172.18.0.3]:39340 session="10552c2b88faccceb3b0572dee997025"}: moq_net::lite::session: session error err=no error relay-1 | 2026-10-05T00:39:47.550812Z  WARN moq_relay::relay: connection closed err=no error test-client-1 | announce: prefix= test-client-1 | probe stream error 55 | // Adds more data to the buffer, returning true if more data was added. test-client-1 | 56 | async #fill() { test-client-1 | 57 | if (!this.#reader) { test-client-1 | 58 | return false; test-client-1 | 59 | } test-client-1 | 60 | const result = await this.#reader.read(); test-client-1 | ^ test-client-1 | error: session error: connection error: closed test-client-1 | code: "GenericFailure" test-client-1 | test-client-1 | at async #fill (/app/node_modules/@moq/net/stream.js:60:43) test-client-1 | at async done (/app/node_modules/@moq/net/stream.js:207:29) test-client-1 | at async decodeMaybe (/app/node_modules/@moq/net/lite/message.js:46:22) test-client-1 | at async runProbe (/app/node_modules/@moq/net/lite/subscriber.js:270:43) test-client-1 | test-client-1 | ok 1 - setup-only test-client-1 | --- test-client-1 | duration_ms: 177 test-client-1 | ... test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moq-lite-04 relay-1 | 2026-10-05T00:39:47.556722Z  INFO conn{id=1 remote=[::ffff:172.18.0.3]:33845 session="5d1d4a1a26e6dac72873b30dc311d4e6"}: moq_relay::connection: session accepted transport=quic role=None tier= root= publish=** subscribe=** relay-1 | 2026-10-05T00:39:47.556836Z  INFO conn{id=1 remote=[::ffff:172.18.0.3]:33845 session="5d1d4a1a26e6dac72873b30dc311d4e6"}: moq_relay::connection: negotiated version=moq-lite-04 transport=quic test-client-1 | announce: prefix= test-client-1 | announce: broadcast=moq-test/interop active=true relay-1 | 2026-10-05T00:39:48.058084Z  WARN conn{id=1 remote=[::ffff:172.18.0.3]:33845 session="5d1d4a1a26e6dac72873b30dc311d4e6"}: moq_net::lite::publisher: probe stream error err=no error relay-1 | 2026-10-05T00:39:48.058142Z  WARN conn{id=1 remote=[::ffff:172.18.0.3]:33845 session="5d1d4a1a26e6dac72873b30dc311d4e6"}: moq_net::lite::session: session error err=no error relay-1 | 2026-10-05T00:39:48.058291Z  WARN moq_relay::relay: connection closed err=no error test-client-1 | probe stream error 55 | // Adds more data to the buffer, returning true if more data was added. test-client-1 | 56 | async #fill() { test-client-1 | 57 | if (!this.#reader) { test-client-1 | 58 | return false; test-client-1 | 59 | } test-client-1 | 60 | const result = await this.#reader.read(); test-client-1 | ^ test-client-1 | error: session error: connection error: closed test-client-1 | code: "GenericFailure" test-client-1 | test-client-1 | at async #fill (/app/node_modules/@moq/net/stream.js:60:43) test-client-1 | at async done (/app/node_modules/@moq/net/stream.js:207:29) test-client-1 | at async decodeMaybe (/app/node_modules/@moq/net/lite/message.js:46:22) test-client-1 | at async runProbe (/app/node_modules/@moq/net/lite/subscriber.js:270:43) test-client-1 | test-client-1 | ok 2 - announce-only test-client-1 | --- test-client-1 | duration_ms: 505 test-client-1 | ... relay-1 | 2026-10-05T00:39:48.061601Z  INFO conn{id=2 remote=[::ffff:172.18.0.3]:54496 session="6dae943bd8b2dc2fcd157f27356e1999"}: moq_relay::connection: session accepted transport=quic role=None tier= root= publish=** subscribe=** relay-1 | 2026-10-05T00:39:48.061698Z  INFO conn{id=2 remote=[::ffff:172.18.0.3]:54496 session="6dae943bd8b2dc2fcd157f27356e1999"}: moq_relay::connection: negotiated version=moq-lite-04 transport=quic test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moq-lite-04 test-client-1 | announce: prefix= test-client-1 | announce: broadcast=moq-test/interop active=true test-client-1 | announce: broadcast=moq-test/interop active=false relay-1 | 2026-10-05T00:39:48.762995Z  WARN conn{id=2 remote=[::ffff:172.18.0.3]:54496 session="6dae943bd8b2dc2fcd157f27356e1999"}: moq_net::lite::publisher: probe stream error err=no error relay-1 | 2026-10-05T00:39:48.763035Z  WARN conn{id=2 remote=[::ffff:172.18.0.3]:54496 session="6dae943bd8b2dc2fcd157f27356e1999"}: moq_net::lite::session: session error err=no error relay-1 | 2026-10-05T00:39:48.763114Z  WARN moq_relay::relay: connection closed err=no error test-client-1 | probe stream error 55 | // Adds more data to the buffer, returning true if more data was added. test-client-1 | 56 | async #fill() { test-client-1 | 57 | if (!this.#reader) { test-client-1 | 58 | return false; test-client-1 | 59 | } test-client-1 | 60 | const result = await this.#reader.read(); test-client-1 | ^ test-client-1 | error: session error: connection error: closed test-client-1 | code: "GenericFailure" test-client-1 | test-client-1 | at async #fill (/app/node_modules/@moq/net/stream.js:60:43) test-client-1 | at async done (/app/node_modules/@moq/net/stream.js:207:29) test-client-1 | at async decodeMaybe (/app/node_modules/@moq/net/lite/message.js:46:22) test-client-1 | at async runProbe (/app/node_modules/@moq/net/lite/subscriber.js:270:43) test-client-1 | test-client-1 | ok 3 - publish-namespace-done test-client-1 | --- test-client-1 | duration_ms: 705 test-client-1 | ... test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moq-lite-04 relay-1 | 2026-10-05T00:39:48.766231Z  INFO conn{id=3 remote=[::ffff:172.18.0.3]:42799 session="7a7762f88da80874f9375f7f1e5159e6"}: moq_relay::connection: session accepted transport=quic role=None tier= root= publish=** subscribe=** relay-1 | 2026-10-05T00:39:48.766291Z  INFO conn{id=3 remote=[::ffff:172.18.0.3]:42799 session="7a7762f88da80874f9375f7f1e5159e6"}: moq_relay::connection: negotiated version=moq-lite-04 transport=quic test-client-1 | subscribe start: id=0 broadcast=nonexistent/namespace track=test-track test-client-1 | announce: prefix= relay-1 | 2026-10-05T00:39:48.770518Z  INFO conn{id=3 remote=[::ffff:172.18.0.3]:42799 session="7a7762f88da80874f9375f7f1e5159e6"}: moq_net::lite::publisher: subscribed started broadcast=nonexistent/namespace track=test-track request=Subscribe { id: 0, broadcast: Path("nonexistent/namespace"), track: "test-track", priority: 0, max_age: 0ns, start_group: None, end_group: None, start_frame: 0, end_frame: None } relay-1 | 2026-10-05T00:39:48.770554Z  WARN conn{id=3 remote=[::ffff:172.18.0.3]:42799 session="7a7762f88da80874f9375f7f1e5159e6"}: moq_net::lite::publisher: subscribed error broadcast=nonexistent/namespace track=test-track err=unroutable test-client-1 | subscribe error: id=0 broadcast=nonexistent/namespace track=test-track error=RESET_STREAM: 54 relay-1 | 2026-10-05T00:39:48.771377Z  WARN conn{id=3 remote=[::ffff:172.18.0.3]:42799 session="7a7762f88da80874f9375f7f1e5159e6"}: moq_net::lite::publisher: probe stream error err=no error relay-1 | 2026-10-05T00:39:48.771395Z  WARN conn{id=3 remote=[::ffff:172.18.0.3]:42799 session="7a7762f88da80874f9375f7f1e5159e6"}: moq_net::lite::session: session error err=no error relay-1 | 2026-10-05T00:39:48.771594Z  WARN moq_relay::relay: connection closed err=no error test-client-1 | probe stream error 55 | // Adds more data to the buffer, returning true if more data was added. test-client-1 | 56 | async #fill() { test-client-1 | 57 | if (!this.#reader) { test-client-1 | 58 | return false; test-client-1 | 59 | } test-client-1 | 60 | const result = await this.#reader.read(); test-client-1 | ^ test-client-1 | error: session error: connection error: closed test-client-1 | code: "GenericFailure" test-client-1 | test-client-1 | at async #fill (/app/node_modules/@moq/net/stream.js:60:43) test-client-1 | at async done (/app/node_modules/@moq/net/stream.js:207:29) test-client-1 | at async decodeMaybe (/app/node_modules/@moq/net/lite/message.js:46:22) test-client-1 | at async runProbe (/app/node_modules/@moq/net/lite/subscriber.js:270:43) test-client-1 | test-client-1 | ok 4 - subscribe-error test-client-1 | --- test-client-1 | duration_ms: 8 test-client-1 | ... relay-1 | 2026-10-05T00:39:48.774229Z  INFO conn{id=4 remote=[::ffff:172.18.0.3]:51550 session="99ddefdbef113f2d380ac3525b825bf6"}: moq_relay::connection: session accepted transport=quic role=None tier= root= publish=** subscribe=** relay-1 | 2026-10-05T00:39:48.774277Z  INFO conn{id=4 remote=[::ffff:172.18.0.3]:51550 session="99ddefdbef113f2d380ac3525b825bf6"}: moq_relay::connection: negotiated version=moq-lite-04 transport=quic test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moq-lite-04 test-client-1 | announce: prefix= test-client-1 | announce: broadcast=moq-test/interop active=true test-client-1 | https://relay:4443/ connected via WebTransport relay-1 | 2026-10-05T00:39:49.078071Z  INFO conn{id=5 remote=[::ffff:172.18.0.3]:49627 session="7da0de196b6e0a4f04259fa3bca083d3"}: moq_relay::connection: session accepted transport=quic role=None tier= root= publish=** subscribe=** test-client-1 | https://relay:4443/ negotiated ALPN: moq-lite-04 relay-1 | 2026-10-05T00:39:49.078135Z  INFO conn{id=5 remote=[::ffff:172.18.0.3]:49627 session="7da0de196b6e0a4f04259fa3bca083d3"}: moq_relay::connection: negotiated version=moq-lite-04 transport=quic test-client-1 | subscribe start: id=0 broadcast=moq-test/interop track=test-track test-client-1 | announce: prefix= relay-1 | 2026-10-05T00:39:49.079836Z  INFO conn{id=5 remote=[::ffff:172.18.0.3]:49627 session="7da0de196b6e0a4f04259fa3bca083d3"}: moq_net::lite::publisher: subscribed started broadcast=moq-test/interop track=test-track request=Subscribe { id: 0, broadcast: Path("moq-test/interop"), track: "test-track", priority: 0, max_age: 0ns, start_group: None, end_group: None, start_frame: 0, end_frame: None } relay-1 | 2026-10-05T00:39:49.080173Z  INFO conn{id=4 remote=[::ffff:172.18.0.3]:51550 session="99ddefdbef113f2d380ac3525b825bf6"}: moq_net::lite::subscriber: subscribe started id=0 broadcast=moq-test/interop track=test-track test-client-1 | subscribe ok: id=0 broadcast=moq-test/interop track=test-track test-client-1 | publish ok: broadcast=moq-test/interop track=test-track relay-1 | 2026-10-05T00:39:50.579976Z  WARN conn{id=4 remote=[::ffff:172.18.0.3]:51550 session="99ddefdbef113f2d380ac3525b825bf6"}: moq_net::lite::publisher: probe stream error err=no error relay-1 | 2026-10-05T00:39:50.580008Z  WARN conn{id=4 remote=[::ffff:172.18.0.3]:51550 session="99ddefdbef113f2d380ac3525b825bf6"}: moq_net::lite::session: session error err=no error relay-1 | 2026-10-05T00:39:50.580090Z  WARN moq_relay::relay: connection closed err=no error relay-1 | 2026-10-05T00:39:50.580173Z  INFO conn{id=5 remote=[::ffff:172.18.0.3]:49627 session="7da0de196b6e0a4f04259fa3bca083d3"}: moq_net::lite::publisher: subscribed cancelled broadcast=moq-test/interop track=test-track test-client-1 | probe stream error 55 | // Adds more data to the buffer, returning true if more data was added. test-client-1 | 56 | async #fill() { test-client-1 | 57 | if (!this.#reader) { test-client-1 | 58 | return false; test-client-1 | 59 | } test-client-1 | 60 | const result = await this.#reader.read(); test-client-1 | ^ test-client-1 | error: session error: connection error: closed test-client-1 | code: "GenericFailure" test-client-1 | test-client-1 | at async #fill (/app/node_modules/@moq/net/stream.js:60:43) test-client-1 | at async done (/app/node_modules/@moq/net/stream.js:207:29) test-client-1 | at async decodeMaybe (/app/node_modules/@moq/net/lite/message.js:46:22) test-client-1 | at async runProbe (/app/node_modules/@moq/net/lite/subscriber.js:270:43) test-client-1 | test-client-1 | subscribe close: id=0 broadcast=moq-test/interop track=test-track relay-1 | 2026-10-05T00:39:50.580887Z  WARN conn{id=5 remote=[::ffff:172.18.0.3]:49627 session="7da0de196b6e0a4f04259fa3bca083d3"}: moq_net::lite::publisher: probe stream error err=no error relay-1 | 2026-10-05T00:39:50.580906Z  WARN conn{id=5 remote=[::ffff:172.18.0.3]:49627 session="7da0de196b6e0a4f04259fa3bca083d3"}: moq_net::lite::session: session error err=no error relay-1 | 2026-10-05T00:39:50.580999Z  WARN moq_relay::relay: connection closed err=no error test-client-1 | probe stream error 55 | // Adds more data to the buffer, returning true if more data was added. test-client-1 | 56 | async #fill() { test-client-1 | 57 | if (!this.#reader) { test-client-1 | 58 | return false; test-client-1 | 59 | } test-client-1 | 60 | const result = await this.#reader.read(); test-client-1 | ^ test-client-1 | error: session error: connection error: closed test-client-1 | code: "GenericFailure" test-client-1 | test-client-1 | at async #fill (/app/node_modules/@moq/net/stream.js:60:43) test-client-1 | at async done (/app/node_modules/@moq/net/stream.js:207:29) test-client-1 | at async decodeMaybe (/app/node_modules/@moq/net/lite/message.js:46:22) test-client-1 | at async runProbe (/app/node_modules/@moq/net/lite/subscriber.js:270:43) test-client-1 | test-client-1 | ok 5 - announce-subscribe test-client-1 | --- test-client-1 | duration_ms: 1909 test-client-1 | ... relay-1 | 2026-10-05T00:39:50.685869Z  INFO conn{id=6 remote=[::ffff:172.18.0.3]:41562 session="a4e2b6723856f4b6c123e386012b1dcd"}: moq_relay::connection: session accepted transport=quic role=None tier= root= publish=** subscribe=** relay-1 | 2026-10-05T00:39:50.685939Z  INFO conn{id=6 remote=[::ffff:172.18.0.3]:41562 session="a4e2b6723856f4b6c123e386012b1dcd"}: moq_relay::connection: negotiated version=moq-lite-04 transport=quic test-client-1 | https://relay:4443/ connected via WebTransport test-client-1 | https://relay:4443/ negotiated ALPN: moq-lite-04 test-client-1 | subscribe start: id=0 broadcast=moq-test/interop track=test-track test-client-1 | announce: prefix= relay-1 | 2026-10-05T00:39:50.687359Z  INFO conn{id=6 remote=[::ffff:172.18.0.3]:41562 session="a4e2b6723856f4b6c123e386012b1dcd"}: moq_net::lite::publisher: subscribed started broadcast=moq-test/interop track=test-track request=Subscribe { id: 0, broadcast: Path("moq-test/interop"), track: "test-track", priority: 0, max_age: 0ns, start_group: None, end_group: None, start_frame: 0, end_frame: None } relay-1 | 2026-10-05T00:39:50.687384Z  WARN conn{id=6 remote=[::ffff:172.18.0.3]:41562 session="a4e2b6723856f4b6c123e386012b1dcd"}: moq_net::lite::publisher: subscribed error broadcast=moq-test/interop track=test-track err=unroutable test-client-1 | subscribe error: id=0 broadcast=moq-test/interop track=test-track error=RESET_STREAM: 54 test-client-1 | publish close: broadcast=moq-test/interop track=test-track test-client-1 | publish done: broadcast=moq-test/interop track=test-track test-client-1 | https://relay:4443/ connected via WebTransport relay-1 | 2026-10-05T00:39:51.189223Z  INFO conn{id=7 remote=[::ffff:172.18.0.3]:33480 session="6bbec0bc655f66b9be1e0719a498db09"}: moq_relay::connection: session accepted transport=quic role=None tier= root= publish=** subscribe=** relay-1 | 2026-10-05T00:39:51.189280Z  INFO conn{id=7 remote=[::ffff:172.18.0.3]:33480 session="6bbec0bc655f66b9be1e0719a498db09"}: moq_relay::connection: negotiated version=moq-lite-04 transport=quic relay-1 | 2026-10-05T00:39:51.190048Z  WARN conn{id=7 remote=[::ffff:172.18.0.3]:33480 session="6bbec0bc655f66b9be1e0719a498db09"}: moq_net::lite::publisher: control stream error err=no error relay-1 | 2026-10-05T00:39:51.190076Z  WARN conn{id=7 remote=[::ffff:172.18.0.3]:33480 session="6bbec0bc655f66b9be1e0719a498db09"}: moq_net::lite::session: session error err=no error relay-1 | 2026-10-05T00:39:51.190172Z  WARN moq_relay::relay: connection closed err=no error test-client-1 | https://relay:4443/ negotiated ALPN: moq-lite-04 test-client-1 | announce: prefix= relay-1 | 2026-10-05T00:39:51.190924Z  WARN conn{id=6 remote=[::ffff:172.18.0.3]:41562 session="a4e2b6723856f4b6c123e386012b1dcd"}: moq_net::lite::publisher: probe stream error err=no error relay-1 | 2026-10-05T00:39:51.190945Z  WARN conn{id=6 remote=[::ffff:172.18.0.3]:41562 session="a4e2b6723856f4b6c123e386012b1dcd"}: moq_net::lite::session: session error err=no error test-client-1 | probe stream error 55 | // Adds more data to the buffer, returning true if more data was added. test-client-1 | 56 | async #fill() { test-client-1 | 57 | if (!this.#reader) { test-client-1 | 58 | return false; test-client-1 | 59 | } test-client-1 | 60 | const result = await this.#reader.read(); test-client-1 | ^ test-client-1 | error: session error: connection error: closed test-client-1 | code: "GenericFailure" test-client-1 | test-client-1 | at async #fill (/app/node_modules/@moq/net/stream.js:60:43) test-client-1 | at async done (/app/node_modules/@moq/net/stream.js:207:29) test-client-1 | at async decodeMaybe (/app/node_modules/@moq/net/lite/message.js:46:22) test-client-1 | at async runProbe (/app/node_modules/@moq/net/lite/subscriber.js:270:43) test-client-1 | relay-1 | 2026-10-05T00:39:51.191019Z  WARN moq_relay::relay: connection closed err=no error test-client-1 | probe stream error 55 | // Adds more data to the buffer, returning true if more data was added. test-client-1 | 56 | async #fill() { test-client-1 | 57 | if (!this.#reader) { test-client-1 | 58 | return false; test-client-1 | 59 | } test-client-1 | 60 | const result = await this.#reader.read(); test-client-1 | ^ test-client-1 | error: session error: connection error: closed test-client-1 | code: "GenericFailure" test-client-1 | test-client-1 | at async #fill (/app/node_modules/@moq/net/stream.js:60:43) test-client-1 | at async done (/app/node_modules/@moq/net/stream.js:207:29) test-client-1 | at async decodeMaybe (/app/node_modules/@moq/net/lite/message.js:46:22) test-client-1 | at async runProbe (/app/node_modules/@moq/net/lite/subscriber.js:270:43) test-client-1 | test-client-1 | ok 6 - subscribe-before-announce test-client-1 | --- test-client-1 | duration_ms: 510 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'