rm -rf mlog/ mkdir -p mlog/relay mlog/client Running interop tests... Relay: moq-interop-relay:local Client: ghcr.io/englishm/moq-interop-runner-moq-test-client:latest URL: https://relay:4443 time="2026-10-26T15:13:38Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:13:38Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:13:38Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:13:38Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:13:38Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." Container runner-upstream-test-client-1 Recreate Container runner-upstream-test-client-1 Recreated Attaching to relay-1, test-client-1 relay-1 | 2026-10-26T15:13:38.474921Z  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-26T15:13:38.474939Z  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-26T15:13:38.475139Z  INFO moq_relay::cluster: cluster initialized hop_id=4018617309360260 configured=false relay-1 | 2026-10-26T15:13:38.475217Z  INFO moq_relay::relay: listening addr=[::]:4443 kind="quic" relay-1 | 2026-10-26T15:13:38.475360Z  INFO moq_relay::cluster: no cluster peers configured; running standalone test-client-1 | TAP version 14 test-client-1 | # moq-test-client v0.1.15 test-client-1 | # Relay: https://relay:4443/ test-client-1 | 1..8 test-client-1 | 2026-10-26T15:13:44.094327Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:52854 dual_stack=true relay-1 | 2026-10-26T15:13:44.135587Z  INFO conn{id=0 remote=[::ffff:172.18.0.3]:52854 session="59ee7858f96e01c631e80d013a1410df"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:44.135749Z  INFO conn{id=0 remote=[::ffff:172.18.0.3]:52854 session="59ee7858f96e01c631e80d013a1410df"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:44.136135Z  INFO moq_test_client::scenarios: SETUP exchange completed successfully test-client-1 | ok 1 - setup-only test-client-1 | --- test-client-1 | duration_ms: 42 test-client-1 | connection_id: 7575b3d5c5aabd4ea00cab38d602b7d3 test-client-1 | ... test-client-1 | 2026-10-26T15:13:44.136430Z  WARN web_transport_quinn::session: failed to read capsule e=UnexpectedEnd relay-1 | 2026-10-26T15:13:44.136374Z  WARN conn{id=0 remote=[::ffff:172.18.0.3]:52854 session="59ee7858f96e01c631e80d013a1410df"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:13:44.136600Z  WARN conn{id=0 remote=[::ffff:172.18.0.3]:52854 session="59ee7858f96e01c631e80d013a1410df"}: moq_relay::connection: connection closed id=0 err=cancelled test-client-1 | 2026-10-26T15:13:44.137187Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:53915 dual_stack=true relay-1 | 2026-10-26T15:13:44.139290Z  INFO conn{id=1 remote=[::ffff:172.18.0.3]:53915 session="d83b793e724fc2310ae3ff4c0b9c3fe9"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:44.139362Z  INFO conn{id=1 remote=[::ffff:172.18.0.3]:53915 session="d83b793e724fc2310ae3ff4c0b9c3fe9"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:44.139681Z  INFO moq_test_client::scenarios: Sending PUBLISH_NAMESPACE for: moq-test/interop test-client-1 | 2026-10-26T15:13:46.141192Z  INFO moq_test_client::scenarios: PUBLISH_NAMESPACE succeeded (REQUEST_OK received, waiting for subscribers) test-client-1 | ok 2 - publish-namespace-only test-client-1 | --- test-client-1 | duration_ms: 2005 test-client-1 | connection_id: cd360637546d0b84e5866519bebb1623 test-client-1 | ... relay-1 | 2026-10-26T15:13:46.141414Z  WARN conn{id=1 remote=[::ffff:172.18.0.3]:53915 session="d83b793e724fc2310ae3ff4c0b9c3fe9"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:13:46.141938Z  WARN conn{id=1 remote=[::ffff:172.18.0.3]:53915 session="d83b793e724fc2310ae3ff4c0b9c3fe9"}: moq_relay::connection: connection closed id=1 err=protocol violation test-client-1 | 2026-10-26T15:13:46.142705Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:52247 dual_stack=true relay-1 | 2026-10-26T15:13:46.144895Z  INFO conn{id=2 remote=[::ffff:172.18.0.3]:52247 session="6d20d360b8fee8c59daeb3745d52bb7f"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:46.144989Z  INFO conn{id=2 remote=[::ffff:172.18.0.3]:52247 session="6d20d360b8fee8c59daeb3745d52bb7f"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:46.145269Z  INFO moq_test_client::scenarios: Subscribing to non-existent track: nonexistent/namespace/test-track test-client-1 | 2026-10-26T15:13:46.145761Z  WARN moq_test_client::scenarios: Got error but not clearly 'not found': closed, code=16. Relay may use different error text. test-client-1 | ok 3 - subscribe-error test-client-1 | --- test-client-1 | duration_ms: 4 test-client-1 | connection_id: 72fbb8bb1667af201a1c182ac749a37c test-client-1 | ... relay-1 | 2026-10-26T15:13:46.145839Z  WARN conn{id=2 remote=[::ffff:172.18.0.3]:52247 session="6d20d360b8fee8c59daeb3745d52bb7f"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:13:46.146292Z  WARN conn{id=2 remote=[::ffff:172.18.0.3]:52247 session="6d20d360b8fee8c59daeb3745d52bb7f"}: moq_relay::connection: connection closed id=2 err=protocol violation test-client-1 | 2026-10-26T15:13:46.146845Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:45216 dual_stack=true relay-1 | 2026-10-26T15:13:46.148689Z  INFO conn{id=3 remote=[::ffff:172.18.0.3]:45216 session="1bd7d2809f50842f76b41209d7e23275"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:46.148745Z  INFO conn{id=3 remote=[::ffff:172.18.0.3]:45216 session="1bd7d2809f50842f76b41209d7e23275"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:46.149657Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:55311 dual_stack=true relay-1 | 2026-10-26T15:13:46.151408Z  INFO conn{id=4 remote=[::ffff:172.18.0.3]:55311 session="72c23f797e6e6eeba782209db8dc82c0"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:46.151479Z  INFO conn{id=4 remote=[::ffff:172.18.0.3]:55311 session="72c23f797e6e6eeba782209db8dc82c0"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:46.151716Z  INFO moq_test_client::scenarios: Publisher sending PUBLISH_NAMESPACE: moq-test/interop test-client-1 | 2026-10-26T15:13:46.151728Z  INFO moq_test_client::scenarios: Subscriber subscribing to track: moq-test/interop/test-track test-client-1 | ok 4 - publish-namespace-subscribe test-client-1 | --- test-client-1 | duration_ms: 6 test-client-1 | publisher_connection_id: 149161ec5e60e81c5a14ad7eee3f20df test-client-1 | subscriber_connection_id: 2507b5fa2826c96cce957e8108a04ebb test-client-1 | ... relay-1 | 2026-10-26T15:13:46.152383Z  WARN conn{id=3 remote=[::ffff:172.18.0.3]:45216 session="1bd7d2809f50842f76b41209d7e23275"}: moq_net::ietf::session: session error err=protocol violation test-client-1 | 2026-10-26T15:13:46.152315Z  INFO moq_test_client::scenarios: Subscriber got error: closed, code=16 - subscription was processed test-client-1 | 2026-10-26T15:13:46.152571Z  WARN web_transport_quinn::session: failed to read capsule e=UnexpectedEnd relay-1 | 2026-10-26T15:13:46.152552Z  WARN conn{id=4 remote=[::ffff:172.18.0.3]:55311 session="72c23f797e6e6eeba782209db8dc82c0"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:13:46.152652Z  WARN conn{id=4 remote=[::ffff:172.18.0.3]:55311 session="72c23f797e6e6eeba782209db8dc82c0"}: moq_relay::connection: connection closed id=4 err=cancelled relay-1 | 2026-10-26T15:13:46.152939Z  WARN conn{id=3 remote=[::ffff:172.18.0.3]:45216 session="1bd7d2809f50842f76b41209d7e23275"}: moq_relay::connection: connection closed id=3 err=protocol violation test-client-1 | 2026-10-26T15:13:46.153446Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:55336 dual_stack=true relay-1 | 2026-10-26T15:13:46.155188Z  INFO conn{id=5 remote=[::ffff:172.18.0.3]:55336 session="d4aa163e8a4abbc39e4c67d99444bce4"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:46.155239Z  INFO conn{id=5 remote=[::ffff:172.18.0.3]:55336 session="d4aa163e8a4abbc39e4c67d99444bce4"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:46.155442Z  INFO moq_test_client::scenarios: Subscriber subscribing BEFORE PUBLISH_NAMESPACE: moq-test/interop/test-track relay-1 | 2026-10-26T15:13:46.155861Z  WARN conn{id=5 remote=[::ffff:172.18.0.3]:55336 session="d4aa163e8a4abbc39e4c67d99444bce4"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:13:46.155916Z  WARN conn{id=5 remote=[::ffff:172.18.0.3]:55336 session="d4aa163e8a4abbc39e4c67d99444bce4"}: moq_relay::connection: connection closed id=5 err=cancelled test-client-1 | 2026-10-26T15:13:46.155880Z  WARN web_transport_quinn::session: failed to read capsule e=UnexpectedEnd test-client-1 | 2026-10-26T15:13:46.657361Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:36296 dual_stack=true relay-1 | 2026-10-26T15:13:46.660260Z  INFO conn{id=6 remote=[::ffff:172.18.0.3]:36296 session="f33b8d00dbbe5fc42e19aa823d943f9a"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:46.660340Z  INFO conn{id=6 remote=[::ffff:172.18.0.3]:36296 session="f33b8d00dbbe5fc42e19aa823d943f9a"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:46.660597Z  INFO moq_test_client::scenarios: Publisher sending PUBLISH_NAMESPACE (after subscriber): moq-test/interop relay-1 | 2026-10-26T15:13:49.661411Z  WARN conn{id=6 remote=[::ffff:172.18.0.3]:36296 session="f33b8d00dbbe5fc42e19aa823d943f9a"}: moq_net::ietf::session: session error err=protocol violation test-client-1 | ok 5 - subscribe-before-publish-namespace relay-1 | 2026-10-26T15:13:49.661991Z  WARN conn{id=6 remote=[::ffff:172.18.0.3]:36296 session="f33b8d00dbbe5fc42e19aa823d943f9a"}: moq_relay::connection: connection closed id=6 err=protocol violation test-client-1 | --- test-client-1 | duration_ms: 3509 test-client-1 | subscriber_connection_id: b4a681e3131999a790130d81d63fa444 test-client-1 | publisher_connection_id: d5cf4664cbbc850ea259fdab4a3d0388 test-client-1 | ... test-client-1 | 2026-10-26T15:13:49.661347Z  INFO moq_test_client::scenarios: Publisher PUBLISH_NAMESPACE timeout (expected) test-client-1 | 2026-10-26T15:13:49.661367Z  INFO moq_test_client::scenarios: Subscriber got error: closed, code=16 (may be expected) test-client-1 | 2026-10-26T15:13:49.662653Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:36981 dual_stack=true relay-1 | 2026-10-26T15:13:49.666198Z  INFO conn{id=7 remote=[::ffff:172.18.0.3]:36981 session="2d309774721fa166ffd828e66c4a384c"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:49.666285Z  INFO conn{id=7 remote=[::ffff:172.18.0.3]:36981 session="2d309774721fa166ffd828e66c4a384c"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:49.666542Z  INFO moq_test_client::scenarios: Sending PUBLISH_NAMESPACE: moq-test/interop test-client-1 | 2026-10-26T15:13:51.668202Z  INFO moq_test_client::scenarios: PUBLISH_NAMESPACE active; sending PUBLISH_NAMESPACE_DONE relay-1 | 2026-10-26T15:13:51.668492Z  WARN conn{id=7 remote=[::ffff:172.18.0.3]:36981 session="2d309774721fa166ffd828e66c4a384c"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:13:51.669002Z  WARN conn{id=7 remote=[::ffff:172.18.0.3]:36981 session="2d309774721fa166ffd828e66c4a384c"}: moq_relay::connection: connection closed id=7 err=protocol violation test-client-1 | 2026-10-26T15:13:51.769392Z  INFO moq_test_client::scenarios: PUBLISH_NAMESPACE_DONE sent successfully test-client-1 | ok 6 - publish-namespace-done test-client-1 | --- test-client-1 | duration_ms: 2108 test-client-1 | connection_id: d7d5631244aaa3e2ae792b4a52c3a2af test-client-1 | ... test-client-1 | 2026-10-26T15:13:51.770595Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:59897 dual_stack=true relay-1 | 2026-10-26T15:13:51.772997Z  INFO conn{id=8 remote=[::ffff:172.18.0.3]:59897 session="a83f93a766be53ee82c6eb84e619346d"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:51.773108Z  INFO conn{id=8 remote=[::ffff:172.18.0.3]:59897 session="a83f93a766be53ee82c6eb84e619346d"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:51.773351Z  INFO moq_test_client::scenarios: Publisher sending direct PUBLISH namespace=/moq-test/publish track="published-track" relay-1 | 2026-10-26T15:13:51.773730Z  WARN conn{id=8 remote=[::ffff:172.18.0.3]:59897 session="a83f93a766be53ee82c6eb84e619346d"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:13:51.774059Z  WARN conn{id=8 remote=[::ffff:172.18.0.3]:59897 session="a83f93a766be53ee82c6eb84e619346d"}: moq_relay::connection: connection closed id=8 err=protocol violation test-client-1 | not ok 7 - publish-track-only test-client-1 | --- test-client-1 | duration_ms: 4 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... test-client-1 | 2026-10-26T15:13:51.774658Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:35120 dual_stack=true relay-1 | 2026-10-26T15:13:51.776691Z  INFO conn{id=9 remote=[::ffff:172.18.0.3]:35120 session="3306589439aadd678675c822196a321a"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:51.776756Z  INFO conn{id=9 remote=[::ffff:172.18.0.3]:35120 session="3306589439aadd678675c822196a321a"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:51.777729Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:42168 dual_stack=true relay-1 | 2026-10-26T15:13:51.780052Z  INFO conn{id=10 remote=[::ffff:172.18.0.3]:42168 session="5e8e6c6732a216fafb5f742f48299d9d"}: moq_relay::cluster: session accepted transport=webtransport request.role=None tier= root= publish=Some(Patterns([Pattern("**")])) subscribe=Some(Patterns([Pattern("**")])) relay-1 | 2026-10-26T15:13:51.780153Z  INFO conn{id=10 remote=[::ffff:172.18.0.3]:42168 session="5e8e6c6732a216fafb5f742f48299d9d"}: moq_relay::connection: negotiated version=moq-transport-16 transport=webtransport test-client-1 | 2026-10-26T15:13:51.780385Z  INFO moq_test_client::scenarios: Publisher sending direct PUBLISH before subscriber subscribes namespace=/moq-test/publish track="published-track" test-client-1 | not ok 8 - publish-track-subscribe test-client-1 | --- test-client-1 | duration_ms: 7 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | 2026-10-26T15:13:51.780827Z  WARN conn{id=9 remote=[::ffff:172.18.0.3]:35120 session="3306589439aadd678675c822196a321a"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:13:51.781103Z  WARN conn{id=10 remote=[::ffff:172.18.0.3]:42168 session="5e8e6c6732a216fafb5f742f48299d9d"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:13:51.781190Z  WARN conn{id=10 remote=[::ffff:172.18.0.3]:42168 session="5e8e6c6732a216fafb5f742f48299d9d"}: moq_relay::connection: connection closed id=10 err=cancelled test-client-1 exited with code 1 Aborting on container exit... Container runner-upstream-test-client-1 Stopping Container runner-upstream-test-client-1 Stopped Container runner-upstream-relay-1 Stopping Container runner-upstream-relay-1 Stopped make: *** [Makefile:86: test] Error 1