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-draft-18:latest URL: https://relay:4443 time="2026-10-26T15:10:41Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:10:41Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:10:41Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:10:41Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:10:41Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." Network runner-upstream_default Creating Network runner-upstream_default Created Container runner-upstream-relay-1 Creating Container runner-upstream-relay-1 Created Container runner-upstream-test-client-1 Creating Container runner-upstream-test-client-1 Created Attaching to relay-1, test-client-1 relay-1 | 2026-10-26T15:10:41.520214Z  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:10:41.520231Z  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:10:41.520389Z  INFO moq_relay::cluster: cluster initialized hop_id=5988055102598204 configured=false relay-1 | 2026-10-26T15:10:41.520422Z  INFO moq_relay::relay: listening addr=[::]:4443 kind="quic" relay-1 | 2026-10-26T15:10:41.520498Z  INFO moq_relay::cluster: no cluster peers configured; running standalone test-client-1 | TAP version 14 test-client-1 | # moq-test-client v0.1.12 test-client-1 | # Relay: https://relay:4443/ test-client-1 | 1..18 test-client-1 | 2026-10-26T15:10:47.140928Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:35452 dual_stack=true relay-1 | 2026-10-26T15:10:47.182457Z  INFO conn{id=0 remote=[::ffff:172.18.0.3]:35452 session="647f7790b88c15e60419a8cdb65799a2"}: 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:10:47.182583Z  INFO conn{id=0 remote=[::ffff:172.18.0.3]:35452 session="647f7790b88c15e60419a8cdb65799a2"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:47.182889Z  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: aacf7816be99592cf4dc7ab37d6f1768 test-client-1 | ... relay-1 | 2026-10-26T15:10:47.182994Z  WARN conn{id=0 remote=[::ffff:172.18.0.3]:35452 session="647f7790b88c15e60419a8cdb65799a2"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:47.183501Z  WARN conn{id=0 remote=[::ffff:172.18.0.3]:35452 session="647f7790b88c15e60419a8cdb65799a2"}: moq_relay::connection: connection closed id=0 err=protocol violation test-client-1 | 2026-10-26T15:10:47.184127Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:54352 dual_stack=true relay-1 | 2026-10-26T15:10:47.186083Z  INFO conn{id=1 remote=[::ffff:172.18.0.3]:54352 session="ad0d35b3e503a9698a772cdbb47ee09d"}: 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:10:47.186130Z  INFO conn{id=1 remote=[::ffff:172.18.0.3]:54352 session="ad0d35b3e503a9698a772cdbb47ee09d"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:47.186377Z  INFO moq_test_client::scenarios: Sending PUBLISH_NAMESPACE for: moq-test/interop test-client-1 | 2026-10-26T15:10:49.189413Z  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: 2006 test-client-1 | connection_id: c0c9c322937f0660a4fd30a829c7c109 test-client-1 | ... relay-1 | 2026-10-26T15:10:49.189517Z  WARN conn{id=1 remote=[::ffff:172.18.0.3]:54352 session="ad0d35b3e503a9698a772cdbb47ee09d"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:49.190205Z  WARN conn{id=1 remote=[::ffff:172.18.0.3]:54352 session="ad0d35b3e503a9698a772cdbb47ee09d"}: moq_relay::connection: connection closed id=1 err=protocol violation test-client-1 | 2026-10-26T15:10:49.190746Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:48174 dual_stack=true relay-1 | 2026-10-26T15:10:49.192940Z  INFO conn{id=2 remote=[::ffff:172.18.0.3]:48174 session="1a5ee2e443a2b724d808437b3a5f8ec2"}: 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:10:49.193031Z  INFO conn{id=2 remote=[::ffff:172.18.0.3]:48174 session="1a5ee2e443a2b724d808437b3a5f8ec2"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:49.193285Z  INFO moq_test_client::scenarios: Subscribing to non-existent track: nonexistent/namespace/test-track test-client-1 | 2026-10-26T15:10:49.193598Z  WARN moq_transport::serve::error: [53031a93-a248-4c2a-a256-f31661dc6d34] Not found: unroutable at moq-transport/src/session/subscriber.rs:2081 test-client-1 | ok 3 - subscribe-error test-client-1 | --- test-client-1 | duration_ms: 4 test-client-1 | connection_id: bb3f250965e6369d1fc08608e0258f19 test-client-1 | ... test-client-1 | 2026-10-26T15:10:49.193693Z  INFO moq_test_client::scenarios: Got expected 'not found' error: not found: Track not found [error:53031a93-a248-4c2a-a256-f31661dc6d34] relay-1 | 2026-10-26T15:10:49.193725Z  WARN conn{id=2 remote=[::ffff:172.18.0.3]:48174 session="1a5ee2e443a2b724d808437b3a5f8ec2"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:49.194168Z  WARN conn{id=2 remote=[::ffff:172.18.0.3]:48174 session="1a5ee2e443a2b724d808437b3a5f8ec2"}: moq_relay::connection: connection closed id=2 err=protocol violation test-client-1 | 2026-10-26T15:10:49.194698Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:60941 dual_stack=true relay-1 | 2026-10-26T15:10:49.196497Z  INFO conn{id=3 remote=[::ffff:172.18.0.3]:60941 session="e87adfe7f6163de0ab17231223844cc2"}: 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:10:49.196538Z  INFO conn{id=3 remote=[::ffff:172.18.0.3]:60941 session="e87adfe7f6163de0ab17231223844cc2"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:49.197414Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:56860 dual_stack=true relay-1 | 2026-10-26T15:10:49.199133Z  INFO conn{id=4 remote=[::ffff:172.18.0.3]:56860 session="48ea829dd9d22f4c59bc37100ac8c59e"}: 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:10:49.199182Z  INFO conn{id=4 remote=[::ffff:172.18.0.3]:56860 session="48ea829dd9d22f4c59bc37100ac8c59e"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:49.199403Z  INFO moq_test_client::scenarios: Publisher sending PUBLISH_NAMESPACE: moq-test/interop test-client-1 | 2026-10-26T15:10:49.199413Z  INFO moq_test_client::scenarios: Subscriber subscribing to track: moq-test/interop/test-track test-client-1 | 2026-10-26T15:10:52.200497Z  INFO moq_test_client::scenarios: Test timeout reached - subscription routing may still be in progress test-client-1 | ok 4 - publish-namespace-subscribe test-client-1 | --- test-client-1 | duration_ms: 3006 test-client-1 | publisher_connection_id: d5ce7b6bc7a66b6970b1b62c45c767fa test-client-1 | subscriber_connection_id: 541aae243c1b80322fd72ef06a6d3f22 test-client-1 | ... relay-1 | 2026-10-26T15:10:52.200877Z  WARN conn{id=3 remote=[::ffff:172.18.0.3]:60941 session="e87adfe7f6163de0ab17231223844cc2"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:52.200998Z  WARN conn{id=4 remote=[::ffff:172.18.0.3]:56860 session="48ea829dd9d22f4c59bc37100ac8c59e"}: moq_net::ietf::session: session error err=no error test-client-1 | 2026-10-26T15:10:52.201322Z  WARN web_transport_quinn::session: failed to read capsule e=UnexpectedEnd relay-1 | 2026-10-26T15:10:52.201356Z  WARN conn{id=4 remote=[::ffff:172.18.0.3]:56860 session="48ea829dd9d22f4c59bc37100ac8c59e"}: moq_relay::connection: connection closed id=4 err=cancelled relay-1 | 2026-10-26T15:10:52.201594Z  WARN conn{id=3 remote=[::ffff:172.18.0.3]:60941 session="e87adfe7f6163de0ab17231223844cc2"}: moq_relay::connection: connection closed id=3 err=protocol violation test-client-1 | 2026-10-26T15:10:52.201993Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:60018 dual_stack=true relay-1 | 2026-10-26T15:10:52.205527Z  INFO conn{id=5 remote=[::ffff:172.18.0.3]:60018 session="cd33a6a13f2055003beb830fe1d27a50"}: 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:10:52.205592Z  INFO conn{id=5 remote=[::ffff:172.18.0.3]:60018 session="cd33a6a13f2055003beb830fe1d27a50"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:52.205860Z  INFO moq_test_client::scenarios: Subscriber subscribing BEFORE PUBLISH_NAMESPACE: moq-test/interop/test-track test-client-1 | 2026-10-26T15:10:52.206240Z  WARN moq_transport::serve::error: [5bd3b1a8-8828-46be-b045-24b44eaafc3b] Not found: unroutable at moq-transport/src/session/subscriber.rs:2081 test-client-1 | 2026-10-26T15:10:52.206504Z  WARN web_transport_quinn::session: failed to read capsule e=UnexpectedEnd relay-1 | 2026-10-26T15:10:52.206444Z  WARN conn{id=5 remote=[::ffff:172.18.0.3]:60018 session="cd33a6a13f2055003beb830fe1d27a50"}: moq_net::ietf::session: session error err=no error relay-1 | 2026-10-26T15:10:52.206513Z  WARN conn{id=5 remote=[::ffff:172.18.0.3]:60018 session="cd33a6a13f2055003beb830fe1d27a50"}: moq_relay::connection: connection closed id=5 err=cancelled test-client-1 | 2026-10-26T15:10:52.707766Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:39399 dual_stack=true relay-1 | 2026-10-26T15:10:52.710313Z  INFO conn{id=6 remote=[::ffff:172.18.0.3]:39399 session="ade1cdf575398fa3948ad502adddd24e"}: 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:10:52.710395Z  INFO conn{id=6 remote=[::ffff:172.18.0.3]:39399 session="ade1cdf575398fa3948ad502adddd24e"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:52.710676Z  INFO moq_test_client::scenarios: Publisher sending PUBLISH_NAMESPACE (after subscriber): moq-test/interop test-client-1 | ok 5 - subscribe-before-publish-namespace test-client-1 | --- test-client-1 | duration_ms: 3510 test-client-1 | subscriber_connection_id: 8ef13cb18076e7f9152d3edee372ffc1 test-client-1 | publisher_connection_id: 89e6b3145af18b8b125ab8e62a224d13 test-client-1 | ... test-client-1 | 2026-10-26T15:10:55.711563Z  INFO moq_test_client::scenarios: Publisher PUBLISH_NAMESPACE timeout (expected) test-client-1 | 2026-10-26T15:10:55.711597Z  INFO moq_test_client::scenarios: Subscriber got error: not found: Track not found [error:5bd3b1a8-8828-46be-b045-24b44eaafc3b] (may be expected) relay-1 | 2026-10-26T15:10:55.711673Z  WARN conn{id=6 remote=[::ffff:172.18.0.3]:39399 session="ade1cdf575398fa3948ad502adddd24e"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:55.712287Z  WARN conn{id=6 remote=[::ffff:172.18.0.3]:39399 session="ade1cdf575398fa3948ad502adddd24e"}: moq_relay::connection: connection closed id=6 err=protocol violation test-client-1 | 2026-10-26T15:10:55.712762Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:40092 dual_stack=true relay-1 | 2026-10-26T15:10:55.715693Z  INFO conn{id=7 remote=[::ffff:172.18.0.3]:40092 session="4b3d215e641a5899b065e5a094368eba"}: 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:10:55.715760Z  INFO conn{id=7 remote=[::ffff:172.18.0.3]:40092 session="4b3d215e641a5899b065e5a094368eba"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:55.716053Z  INFO moq_test_client::scenarios: Sending PUBLISH_NAMESPACE: moq-test/interop test-client-1 | 2026-10-26T15:10:57.718205Z  INFO moq_test_client::scenarios: PUBLISH_NAMESPACE active; sending PUBLISH_NAMESPACE_DONE relay-1 | 2026-10-26T15:10:57.718297Z  WARN conn{id=7 remote=[::ffff:172.18.0.3]:40092 session="4b3d215e641a5899b065e5a094368eba"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:57.718876Z  WARN conn{id=7 remote=[::ffff:172.18.0.3]:40092 session="4b3d215e641a5899b065e5a094368eba"}: moq_relay::connection: connection closed id=7 err=protocol violation test-client-1 | ok 6 - publish-namespace-done test-client-1 | --- test-client-1 | duration_ms: 2107 test-client-1 | connection_id: 41e925dbafa2bef65adc5d0ad1f326a0 test-client-1 | ... test-client-1 | 2026-10-26T15:10:57.819246Z  INFO moq_test_client::scenarios: PUBLISH_NAMESPACE_DONE sent successfully test-client-1 | 2026-10-26T15:10:57.820363Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:40401 dual_stack=true relay-1 | 2026-10-26T15:10:57.822885Z  INFO conn{id=8 remote=[::ffff:172.18.0.3]:40401 session="027e3d9552fc987baab04e682918ebaf"}: 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:10:57.822988Z  INFO conn{id=8 remote=[::ffff:172.18.0.3]:40401 session="027e3d9552fc987baab04e682918ebaf"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:57.823300Z  INFO moq_test_client::scenarios: Publisher sending direct PUBLISH namespace=/moq-test/publish track="published-track" test-client-1 | 2026-10-26T15:10:57.823662Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) relay-1 | 2026-10-26T15:10:57.823777Z  WARN conn{id=8 remote=[::ffff:172.18.0.3]:40401 session="027e3d9552fc987baab04e682918ebaf"}: moq_net::ietf::session: session error 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 | ... relay-1 | 2026-10-26T15:10:57.824293Z  WARN conn{id=8 remote=[::ffff:172.18.0.3]:40401 session="027e3d9552fc987baab04e682918ebaf"}: moq_relay::connection: connection closed id=8 err=protocol violation test-client-1 | 2026-10-26T15:10:57.824709Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:40851 dual_stack=true relay-1 | 2026-10-26T15:10:57.826594Z  INFO conn{id=9 remote=[::ffff:172.18.0.3]:40851 session="109afc9951f77a9c5b17bc18a4bbfb84"}: 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:10:57.826639Z  INFO conn{id=9 remote=[::ffff:172.18.0.3]:40851 session="109afc9951f77a9c5b17bc18a4bbfb84"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:57.827481Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:33199 dual_stack=true relay-1 | 2026-10-26T15:10:57.830558Z  INFO conn{id=10 remote=[::ffff:172.18.0.3]:33199 session="79b51da906ce458926e93ffbf8fe013a"}: 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:10:57.830603Z  INFO conn{id=10 remote=[::ffff:172.18.0.3]:33199 session="79b51da906ce458926e93ffbf8fe013a"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:57.830834Z  INFO moq_test_client::scenarios: Publisher sending direct PUBLISH before subscriber subscribes namespace=/moq-test/publish track="published-track" test-client-1 | 2026-10-26T15:10:57.831133Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) relay-1 | 2026-10-26T15:10:57.831259Z  WARN conn{id=9 remote=[::ffff:172.18.0.3]:40851 session="109afc9951f77a9c5b17bc18a4bbfb84"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:57.831421Z  WARN conn{id=10 remote=[::ffff:172.18.0.3]:33199 session="79b51da906ce458926e93ffbf8fe013a"}: moq_net::ietf::session: session error err=no error relay-1 | 2026-10-26T15:10:57.831588Z  WARN conn{id=10 remote=[::ffff:172.18.0.3]:33199 session="79b51da906ce458926e93ffbf8fe013a"}: moq_relay::connection: connection closed id=10 err=cancelled relay-1 | 2026-10-26T15:10:57.831643Z  WARN conn{id=9 remote=[::ffff:172.18.0.3]:40851 session="109afc9951f77a9c5b17bc18a4bbfb84"}: moq_relay::connection: connection closed id=9 err=protocol violation test-client-1 | 2026-10-26T15:10:57.831472Z  WARN web_transport_quinn::session: failed to read capsule e=UnexpectedEnd 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 | ... test-client-1 | 2026-10-26T15:10:57.832240Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:51572 dual_stack=true relay-1 | 2026-10-26T15:10:57.833982Z  INFO conn{id=11 remote=[::ffff:172.18.0.3]:51572 session="6aec48dfa1629be59bc96e1b4a3b3260"}: 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:10:57.834033Z  INFO conn{id=11 remote=[::ffff:172.18.0.3]:51572 session="6aec48dfa1629be59bc96e1b4a3b3260"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:57.834252Z  INFO moq_test_client::scenarios: Subscribing with RENDEZVOUS_TIMEOUT to a track with no publisher timeout_ms=500 test-client-1 | ok 9 - rendezvous-timeout test-client-1 | --- relay-1 | 2026-10-26T15:10:57.834717Z  WARN conn{id=11 remote=[::ffff:172.18.0.3]:51572 session="6aec48dfa1629be59bc96e1b4a3b3260"}: moq_net::ietf::session: session error err=protocol violation test-client-1 | duration_ms: 3 test-client-1 | connection_id: 8fff48d893e6b44181cbcc955126e0e7 test-client-1 | ... test-client-1 | 2026-10-26T15:10:57.834702Z  INFO moq_test_client::scenarios: Received expected REQUEST_ERROR TIMEOUT test-client-1 | 2026-10-26T15:10:57.834748Z  INFO moq_test_client::moqtest: data-plane run prefix=/moq-test/data-subgroup-basic/3156f637f958746a652f8424a0a3104c namespace=/moq-test/data-subgroup-basic/3156f637f958746a652f8424a0a3104c/moq-test-00/0/0/0/2/4/5/64/32/2/1/1/0/-1/-1/0 relay-1 | 2026-10-26T15:10:57.835011Z  WARN conn{id=11 remote=[::ffff:172.18.0.3]:51572 session="6aec48dfa1629be59bc96e1b4a3b3260"}: moq_relay::connection: connection closed id=11 err=protocol violation test-client-1 | 2026-10-26T15:10:57.835543Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:42831 dual_stack=true relay-1 | 2026-10-26T15:10:57.837221Z  INFO conn{id=12 remote=[::ffff:172.18.0.3]:42831 session="ce26d7a0ae297e9d808b93e90007089f"}: 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:10:57.837267Z  INFO conn{id=12 remote=[::ffff:172.18.0.3]:42831 session="ce26d7a0ae297e9d808b93e90007089f"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:57.837694Z  INFO moq_test_client::moqtest: PUBLISH_NAMESPACE accepted test-client-1 | 2026-10-26T15:10:57.838438Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:33645 dual_stack=true relay-1 | 2026-10-26T15:10:57.840091Z  INFO conn{id=13 remote=[::ffff:172.18.0.3]:33645 session="c6141975882138daccf10873ada5fe7b"}: 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:10:57.840145Z  INFO conn{id=13 remote=[::ffff:172.18.0.3]:33645 session="c6141975882138daccf10873ada5fe7b"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:57.840827Z  INFO moq_test_client::moqtest: serving moq-test SUBSCRIBE namespace=/moq-test/data-subgroup-basic/3156f637f958746a652f8424a0a3104c/moq-test-00/0/0/0/2/4/5/64/32/2/1/1/0/-1/-1/0 test-client-1 | 2026-10-26T15:10:57.841302Z  INFO moq_test_client::moqtest: downstream SUBSCRIBE_OK received test-client-1 | not ok 10 - data-subgroup-basic test-client-1 | --- test-client-1 | duration_ms: 77 test-client-1 | test_spec_revision: 2 test-client-1 | message: "data-plane verification failed: unexpected status EndOfTrack at (3, 0), expected EndOfGroup; missing 1 objects (first 5): (0, 0)" test-client-1 | ... relay-1 | 2026-10-26T15:10:57.912557Z  WARN conn{id=13 remote=[::ffff:172.18.0.3]:33645 session="c6141975882138daccf10873ada5fe7b"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:57.912681Z  WARN conn{id=12 remote=[::ffff:172.18.0.3]:42831 session="ce26d7a0ae297e9d808b93e90007089f"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:57.913228Z  WARN conn{id=12 remote=[::ffff:172.18.0.3]:42831 session="ce26d7a0ae297e9d808b93e90007089f"}: moq_relay::connection: connection closed id=12 err=protocol violation relay-1 | 2026-10-26T15:10:57.913292Z  WARN conn{id=13 remote=[::ffff:172.18.0.3]:33645 session="c6141975882138daccf10873ada5fe7b"}: moq_relay::connection: connection closed id=13 err=protocol violation test-client-1 | 2026-10-26T15:10:57.913817Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:39955 dual_stack=true relay-1 | 2026-10-26T15:10:57.916122Z  INFO conn{id=14 remote=[::ffff:172.18.0.3]:39955 session="49e758d2d23b7fb064aa2caf9f79240e"}: 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:10:57.916249Z  INFO conn{id=14 remote=[::ffff:172.18.0.3]:39955 session="49e758d2d23b7fb064aa2caf9f79240e"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport relay-1 | 2026-10-26T15:10:57.916938Z  WARN conn{id=14 remote=[::ffff:172.18.0.3]:39955 session="49e758d2d23b7fb064aa2caf9f79240e"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:57.917209Z  WARN conn{id=14 remote=[::ffff:172.18.0.3]:39955 session="49e758d2d23b7fb064aa2caf9f79240e"}: moq_relay::connection: connection closed id=14 err=protocol violation test-client-1 | 2026-10-26T15:10:58.119001Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:58786 dual_stack=true relay-1 | 2026-10-26T15:10:58.121622Z  INFO conn{id=15 remote=[::ffff:172.18.0.3]:58786 session="113a7d6ffa48be5c10fb115b03595000"}: 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:10:58.121714Z  INFO conn{id=15 remote=[::ffff:172.18.0.3]:58786 session="113a7d6ffa48be5c10fb115b03595000"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:58.122276Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) test-client-1 | not ok 11 - moq-test-subgroup-per-group-eog test-client-1 | --- relay-1 | 2026-10-26T15:10:58.122402Z  WARN conn{id=15 remote=[::ffff:172.18.0.3]:58786 session="113a7d6ffa48be5c10fb115b03595000"}: moq_net::ietf::session: session error err=protocol violation test-client-1 | duration_ms: 209 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | 2026-10-26T15:10:58.122741Z  WARN conn{id=15 remote=[::ffff:172.18.0.3]:58786 session="113a7d6ffa48be5c10fb115b03595000"}: moq_relay::connection: connection closed id=15 err=protocol violation test-client-1 | 2026-10-26T15:10:58.123388Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:41652 dual_stack=true relay-1 | 2026-10-26T15:10:58.126604Z  INFO conn{id=16 remote=[::ffff:172.18.0.3]:41652 session="0a94b1748db40449e24e2563f1f0593f"}: 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:10:58.126654Z  INFO conn{id=16 remote=[::ffff:172.18.0.3]:41652 session="0a94b1748db40449e24e2563f1f0593f"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport relay-1 | 2026-10-26T15:10:58.127238Z  WARN conn{id=16 remote=[::ffff:172.18.0.3]:41652 session="0a94b1748db40449e24e2563f1f0593f"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:58.127477Z  WARN conn{id=16 remote=[::ffff:172.18.0.3]:41652 session="0a94b1748db40449e24e2563f1f0593f"}: moq_relay::connection: connection closed id=16 err=protocol violation test-client-1 | 2026-10-26T15:10:58.328231Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:59502 dual_stack=true relay-1 | 2026-10-26T15:10:58.330623Z  INFO conn{id=17 remote=[::ffff:172.18.0.3]:59502 session="929dcff2c0e0e98873e5d9496cae6815"}: 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:10:58.330708Z  INFO conn{id=17 remote=[::ffff:172.18.0.3]:59502 session="929dcff2c0e0e98873e5d9496cae6815"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:58.331281Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) test-client-1 | not ok 12 - moq-test-subgroup-per-object test-client-1 | --- test-client-1 | duration_ms: 208 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | 2026-10-26T15:10:58.331788Z  WARN conn{id=17 remote=[::ffff:172.18.0.3]:59502 session="929dcff2c0e0e98873e5d9496cae6815"}: moq_net::ietf::session: session error err=no error relay-1 | 2026-10-26T15:10:58.331887Z  WARN conn{id=17 remote=[::ffff:172.18.0.3]:59502 session="929dcff2c0e0e98873e5d9496cae6815"}: moq_relay::connection: connection closed id=17 err=cancelled test-client-1 | 2026-10-26T15:10:58.331813Z  WARN web_transport_quinn::session: failed to read capsule e=UnexpectedEnd test-client-1 | 2026-10-26T15:10:58.332391Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:60348 dual_stack=true relay-1 | 2026-10-26T15:10:58.334279Z  INFO conn{id=18 remote=[::ffff:172.18.0.3]:60348 session="4ac9f9a300da3ddf174e88a30d37d618"}: 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:10:58.334334Z  INFO conn{id=18 remote=[::ffff:172.18.0.3]:60348 session="4ac9f9a300da3ddf174e88a30d37d618"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport relay-1 | 2026-10-26T15:10:58.334918Z  WARN conn{id=18 remote=[::ffff:172.18.0.3]:60348 session="4ac9f9a300da3ddf174e88a30d37d618"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:58.335200Z  WARN conn{id=18 remote=[::ffff:172.18.0.3]:60348 session="4ac9f9a300da3ddf174e88a30d37d618"}: moq_relay::connection: connection closed id=18 err=protocol violation test-client-1 | 2026-10-26T15:10:58.537158Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:54071 dual_stack=true relay-1 | 2026-10-26T15:10:58.539856Z  INFO conn{id=19 remote=[::ffff:172.18.0.3]:54071 session="48f78b37b99dd934e7f600da1b29f806"}: 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:10:58.539978Z  INFO conn{id=19 remote=[::ffff:172.18.0.3]:54071 session="48f78b37b99dd934e7f600da1b29f806"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:58.540574Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) test-client-1 | not ok 13 - moq-test-two-subgroups-eog test-client-1 | --- test-client-1 | duration_ms: 209 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | 2026-10-26T15:10:58.540799Z  WARN conn{id=19 remote=[::ffff:172.18.0.3]:54071 session="48f78b37b99dd934e7f600da1b29f806"}: moq_net::ietf::session: session error err=no error test-client-1 | 2026-10-26T15:10:58.540938Z  WARN web_transport_quinn::session: failed to read capsule e=UnexpectedEnd relay-1 | 2026-10-26T15:10:58.541054Z  WARN conn{id=19 remote=[::ffff:172.18.0.3]:54071 session="48f78b37b99dd934e7f600da1b29f806"}: moq_relay::connection: connection closed id=19 err=cancelled test-client-1 | 2026-10-26T15:10:58.541602Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:38242 dual_stack=true relay-1 | 2026-10-26T15:10:58.543537Z  INFO conn{id=20 remote=[::ffff:172.18.0.3]:38242 session="a50ba05c8a892cdaf1c6f56a12820100"}: 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:10:58.543589Z  INFO conn{id=20 remote=[::ffff:172.18.0.3]:38242 session="a50ba05c8a892cdaf1c6f56a12820100"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport relay-1 | 2026-10-26T15:10:58.544198Z  WARN conn{id=20 remote=[::ffff:172.18.0.3]:38242 session="a50ba05c8a892cdaf1c6f56a12820100"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:58.544441Z  WARN conn{id=20 remote=[::ffff:172.18.0.3]:38242 session="a50ba05c8a892cdaf1c6f56a12820100"}: moq_relay::connection: connection closed id=20 err=protocol violation test-client-1 | 2026-10-26T15:10:58.745080Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:45449 dual_stack=true relay-1 | 2026-10-26T15:10:58.747772Z  INFO conn{id=21 remote=[::ffff:172.18.0.3]:45449 session="f5f5f6085ccb63f52133a87da8409f28"}: 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:10:58.747857Z  INFO conn{id=21 remote=[::ffff:172.18.0.3]:45449 session="f5f5f6085ccb63f52133a87da8409f28"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:58.748495Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) relay-1 | 2026-10-26T15:10:58.748657Z  WARN conn{id=21 remote=[::ffff:172.18.0.3]:45449 session="f5f5f6085ccb63f52133a87da8409f28"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:58.749126Z  WARN conn{id=21 remote=[::ffff:172.18.0.3]:45449 session="f5f5f6085ccb63f52133a87da8409f28"}: moq_relay::connection: connection closed id=21 err=protocol violation test-client-1 | 2026-10-26T15:10:58.749566Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:34184 dual_stack=true test-client-1 | not ok 14 - moq-test-datagram test-client-1 | --- test-client-1 | duration_ms: 207 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | 2026-10-26T15:10:58.751779Z  INFO conn{id=22 remote=[::ffff:172.18.0.3]:34184 session="31417769b43f06584413ae9b1b5d9b6b"}: 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:10:58.751824Z  INFO conn{id=22 remote=[::ffff:172.18.0.3]:34184 session="31417769b43f06584413ae9b1b5d9b6b"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport relay-1 | 2026-10-26T15:10:58.752388Z  WARN conn{id=22 remote=[::ffff:172.18.0.3]:34184 session="31417769b43f06584413ae9b1b5d9b6b"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:58.752669Z  WARN conn{id=22 remote=[::ffff:172.18.0.3]:34184 session="31417769b43f06584413ae9b1b5d9b6b"}: moq_relay::connection: connection closed id=22 err=protocol violation test-client-1 | 2026-10-26T15:10:58.954381Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:40543 dual_stack=true relay-1 | 2026-10-26T15:10:58.956820Z  INFO conn{id=23 remote=[::ffff:172.18.0.3]:40543 session="5b47c32789cc75f37a5e877b75b32311"}: 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:10:58.956903Z  INFO conn{id=23 remote=[::ffff:172.18.0.3]:40543 session="5b47c32789cc75f37a5e877b75b32311"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:58.957427Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) test-client-1 | not ok 15 - moq-test-datagram-eog test-client-1 | --- test-client-1 | duration_ms: 208 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | 2026-10-26T15:10:58.957555Z  WARN conn{id=23 remote=[::ffff:172.18.0.3]:40543 session="5b47c32789cc75f37a5e877b75b32311"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:58.957993Z  WARN conn{id=23 remote=[::ffff:172.18.0.3]:40543 session="5b47c32789cc75f37a5e877b75b32311"}: moq_relay::connection: connection closed id=23 err=protocol violation test-client-1 | 2026-10-26T15:10:58.958461Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:44234 dual_stack=true relay-1 | 2026-10-26T15:10:58.960333Z  INFO conn{id=24 remote=[::ffff:172.18.0.3]:44234 session="c0575f873410c09af916fbeea8720924"}: 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:10:58.960377Z  INFO conn{id=24 remote=[::ffff:172.18.0.3]:44234 session="c0575f873410c09af916fbeea8720924"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport relay-1 | 2026-10-26T15:10:58.960938Z  WARN conn{id=24 remote=[::ffff:172.18.0.3]:44234 session="c0575f873410c09af916fbeea8720924"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:58.961199Z  WARN conn{id=24 remote=[::ffff:172.18.0.3]:44234 session="c0575f873410c09af916fbeea8720924"}: moq_relay::connection: connection closed id=24 err=protocol violation test-client-1 | 2026-10-26T15:10:59.162882Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:37821 dual_stack=true relay-1 | 2026-10-26T15:10:59.165290Z  INFO conn{id=25 remote=[::ffff:172.18.0.3]:37821 session="ebda59305ef532f2bed3099db61c5e48"}: 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:10:59.165372Z  INFO conn{id=25 remote=[::ffff:172.18.0.3]:37821 session="ebda59305ef532f2bed3099db61c5e48"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:59.165893Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) relay-1 | 2026-10-26T15:10:59.166014Z  WARN conn{id=25 remote=[::ffff:172.18.0.3]:37821 session="ebda59305ef532f2bed3099db61c5e48"}: moq_net::ietf::session: session error err=protocol violation test-client-1 | not ok 16 - moq-test-extensions test-client-1 | --- test-client-1 | duration_ms: 208 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | 2026-10-26T15:10:59.166469Z  WARN conn{id=25 remote=[::ffff:172.18.0.3]:37821 session="ebda59305ef532f2bed3099db61c5e48"}: moq_relay::connection: connection closed id=25 err=protocol violation test-client-1 | 2026-10-26T15:10:59.166986Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:55173 dual_stack=true relay-1 | 2026-10-26T15:10:59.168881Z  INFO conn{id=26 remote=[::ffff:172.18.0.3]:55173 session="aa62065a4340457b034161a860e638b6"}: 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:10:59.168930Z  INFO conn{id=26 remote=[::ffff:172.18.0.3]:55173 session="aa62065a4340457b034161a860e638b6"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport relay-1 | 2026-10-26T15:10:59.169549Z  WARN conn{id=26 remote=[::ffff:172.18.0.3]:55173 session="aa62065a4340457b034161a860e638b6"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:59.169797Z  WARN conn{id=26 remote=[::ffff:172.18.0.3]:55173 session="aa62065a4340457b034161a860e638b6"}: moq_relay::connection: connection closed id=26 err=protocol violation test-client-1 | 2026-10-26T15:10:59.371686Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:34139 dual_stack=true relay-1 | 2026-10-26T15:10:59.374316Z  INFO conn{id=27 remote=[::ffff:172.18.0.3]:34139 session="f7511eb737b23434b85585208530a58b"}: 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:10:59.374409Z  INFO conn{id=27 remote=[::ffff:172.18.0.3]:34139 session="f7511eb737b23434b85585208530a58b"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:59.374922Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) test-client-1 | not ok 17 - moq-test-increments test-client-1 | --- test-client-1 | duration_ms: 208 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | 2026-10-26T15:10:59.375062Z  WARN conn{id=27 remote=[::ffff:172.18.0.3]:34139 session="f7511eb737b23434b85585208530a58b"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:59.375508Z  WARN conn{id=27 remote=[::ffff:172.18.0.3]:34139 session="f7511eb737b23434b85585208530a58b"}: moq_relay::connection: connection closed id=27 err=protocol violation test-client-1 | 2026-10-26T15:10:59.376030Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:51301 dual_stack=true relay-1 | 2026-10-26T15:10:59.378110Z  INFO conn{id=28 remote=[::ffff:172.18.0.3]:51301 session="6d73ac11ad39a49dfd7eeeed42636b21"}: 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:10:59.378173Z  INFO conn{id=28 remote=[::ffff:172.18.0.3]:51301 session="6d73ac11ad39a49dfd7eeeed42636b21"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport relay-1 | 2026-10-26T15:10:59.378720Z  WARN conn{id=28 remote=[::ffff:172.18.0.3]:51301 session="6d73ac11ad39a49dfd7eeeed42636b21"}: moq_net::ietf::session: session error err=protocol violation relay-1 | 2026-10-26T15:10:59.379039Z  WARN conn{id=28 remote=[::ffff:172.18.0.3]:51301 session="6d73ac11ad39a49dfd7eeeed42636b21"}: moq_relay::connection: connection closed id=28 err=protocol violation test-client-1 | 2026-10-26T15:10:59.580670Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:38014 dual_stack=true relay-1 | 2026-10-26T15:10:59.583172Z  INFO conn{id=29 remote=[::ffff:172.18.0.3]:38014 session="ab9f616425b247500f9e67273e259fd0"}: 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:10:59.583260Z  INFO conn{id=29 remote=[::ffff:172.18.0.3]:38014 session="ab9f616425b247500f9e67273e259fd0"}: moq_relay::connection: negotiated version=moq-transport-18 transport=webtransport test-client-1 | 2026-10-26T15:10:59.583803Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) relay-1 | 2026-10-26T15:10:59.583918Z  WARN conn{id=29 remote=[::ffff:172.18.0.3]:38014 session="ab9f616425b247500f9e67273e259fd0"}: moq_net::ietf::session: session error err=protocol violation test-client-1 | not ok 18 - moq-test-forward-zero test-client-1 | --- test-client-1 | duration_ms: 208 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | 2026-10-26T15:10:59.584382Z  WARN conn{id=29 remote=[::ffff:172.18.0.3]:38014 session="ab9f616425b247500f9e67273e259fd0"}: moq_relay::connection: connection closed id=29 err=protocol violation 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