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/eyevinn/mlmrel:latest Client: ghcr.io/englishm/moq-interop-runner-moq-test-client-draft-18:latest URL: moqt://relay:4443 time="2026-09-17T00:50:29Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-09-17T00:50:29Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-09-17T00:50:29Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-09-17T00:50:29Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-09-17T00:50:29Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." Container main-relay-1 Recreate Container main-relay-1 Recreated Container main-test-client-1 Recreate Container main-test-client-1 Recreated Attaching to relay-1, test-client-1 relay-1 | Starting mlmrel on port 4443 relay-1 | Cert: /certs/cert.pem relay-1 | Key: /certs/priv.key relay-1 | Mlog: /mlog relay-1 | WARNING: /mlog is not writable; qlog goes to stderr relay-1 | time=2026-09-17T00:50:30.202Z level=INFO msg="Starting MoQ server" addr=0.0.0.0:4443 relay-1 | time=2026-09-17T00:50:30.203Z level=INFO msg="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." test-client-1 | TAP version 14 test-client-1 | # moq-test-client v0.1.12 test-client-1 | # Relay: moqt://relay:4443 test-client-1 | 1..18 test-client-1 | 2026-09-17T00:50:35.791361Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:41741 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606235793.4475}}} relay-1 | time=2026-09-17T00:50:35.793Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.107211,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} test-client-1 | 2026-09-17T00:50:35.793696Z  INFO moq_test_client::scenarios: SETUP exchange completed successfully relay-1 | {"time":0.227226,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:35.793Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | ok 1 - setup-only test-client-1 | --- test-client-1 | duration_ms: 2 test-client-1 | connection_id: 8a02fdf9af14537e4d5b0169ae22ec85 test-client-1 | ... relay-1 | time=2026-09-17T00:50:35.793Z level=INFO msg="MoQ session ended" reason="session closed: PROTOCOL_VIOLATION: peer closed its control stream" test-client-1 | 2026-09-17T00:50:35.794361Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:37370 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606235795.702}}} relay-1 | time=2026-09-17T00:50:35.795Z level=INFO msg="starting MoQ session" perspective=server test-client-1 | 2026-09-17T00:50:35.795856Z  INFO moq_test_client::scenarios: Sending PUBLISH_NAMESPACE for: moq-test/interop relay-1 | {"time":0.068267,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.126752,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:35.795Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.339017,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish_namespace","request_id":0,"track_namespace":["moq-test","interop"]}}} relay-1 | time=2026-09-17T00:50:35.796Z level=INFO msg="registered announcement" namespace="[moq-test interop]" relay-1 | {"time":0.425543,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} test-client-1 | 2026-09-17T00:50:37.797919Z  INFO moq_test_client::scenarios: PUBLISH_NAMESPACE succeeded (REQUEST_OK received, waiting for subscribers) relay-1 | time=2026-09-17T00:50:37.798Z level=INFO msg="announcement withdrawn" namespace="[moq-test interop]" relay-1 | time=2026-09-17T00:50:37.798Z level=INFO msg="MoQ session ended" reason="session closed: PROTOCOL_VIOLATION: peer closed its control stream" test-client-1 | ok 2 - publish-namespace-only test-client-1 | --- test-client-1 | duration_ms: 2004 test-client-1 | connection_id: 875cffeb82fbccb800b55ef369bda189 test-client-1 | ... test-client-1 | 2026-09-17T00:50:37.798713Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:36254 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606237800.567}}} relay-1 | time=2026-09-17T00:50:37.800Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.076054,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.116179,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:37.800Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | 2026-09-17T00:50:37.800854Z  INFO moq_test_client::scenarios: Subscribing to non-existent track: nonexistent/namespace/test-track relay-1 | {"time":0.467985,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["nonexistent","namespace"],"track_name":{"length":10,"payload_length":10,"data":"746573742d747261636b"}}}} relay-1 | time=2026-09-17T00:50:37.801Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[nonexistent namespace]" track=test-track held=0s relay-1 | {"time":0.535824,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":16,"retry_interval":0,"error_reason":"unknown namespace"}}} test-client-1 | 2026-09-17T00:50:37.801261Z  WARN moq_transport::serve::error: [780243d8-0114-4ba4-a0fd-5d67afd17aed] Not found: unknown namespace at moq-transport/src/session/subscriber.rs:1653 test-client-1 | 2026-09-17T00:50:37.801333Z  INFO moq_test_client::scenarios: Got expected 'not found' error: not found: Track not found [error:780243d8-0114-4ba4-a0fd-5d67afd17aed] relay-1 | time=2026-09-17T00:50:37.801Z level=INFO msg="MoQ session ended" reason="session closed: PROTOCOL_VIOLATION: peer closed its control stream" test-client-1 | ok 3 - subscribe-error test-client-1 | --- test-client-1 | duration_ms: 3 test-client-1 | connection_id: d81afd4c923d1c5ceaf841bbe5492b47 test-client-1 | ... test-client-1 | 2026-09-17T00:50:37.802046Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:39230 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606237803.412}}} relay-1 | time=2026-09-17T00:50:37.803Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.053808,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.089973,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:37.803Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | 2026-09-17T00:50:37.804139Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:37522 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606237805.4094}}} relay-1 | time=2026-09-17T00:50:37.805Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.056075,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.080396,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:37.805Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | 2026-09-17T00:50:37.805594Z  INFO moq_test_client::scenarios: Publisher sending PUBLISH_NAMESPACE: moq-test/interop test-client-1 | 2026-09-17T00:50:37.805606Z  INFO moq_test_client::scenarios: Subscriber subscribing to track: moq-test/interop/test-track relay-1 | {"time":2.376203,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish_namespace","request_id":0,"track_namespace":["moq-test","interop"]}}} relay-1 | time=2026-09-17T00:50:37.805Z level=INFO msg="registered announcement" namespace="[moq-test interop]" relay-1 | {"time":2.432487,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} relay-1 | {"time":0.402171,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test","interop"],"track_name":{"length":10,"payload_length":10,"data":"746573742d747261636b"}}}} relay-1 | {"time":2.483072,"name":"moqt:control_message_created","data":{"stream_id":1,"message":{"type":"subscribe","request_id":1,"track_namespace":["moq-test","interop"],"track_name":{"length":10,"payload_length":10,"data":"746573742d747261636b"}}}} relay-1 | {"time":2.844005,"name":"moqt:control_message_parsed","data":{"stream_id":1,"message":{"type":"subscribe_ok","track_alias":1}}} relay-1 | time=2026-09-17T00:50:37.806Z level=INFO msg="subscribed upstream" namespace="[moq-test interop]" track=test-track relay-1 | {"time":0.895401,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"subscribe_ok","track_alias":0}}} relay-1 | time=2026-09-17T00:50:37.806Z level=INFO msg="forwarding subscription" namespace="[moq-test interop]" track=test-track backlogObjects=0 test-client-1 | 2026-09-17T00:50:40.806368Z  INFO moq_test_client::scenarios: Test timeout reached - subscription routing may still be in progress test-client-1 | ok 4 - publish-namespace-subscribe relay-1 | time=2026-09-17T00:50:40.806Z level=INFO msg="upstream subscription ended" namespace="[moq-test interop]" track=test-track code=INTERNAL_ERROR reason="upstream ended" relay-1 | time=2026-09-17T00:50:40.806Z level=INFO msg="announcement withdrawn" namespace="[moq-test interop]" relay-1 | {"time":3001.00554,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"publish_done","status_code":0,"stream_count":0,"error_reason":"upstream ended"}}} test-client-1 | --- test-client-1 | duration_ms: 3005 test-client-1 | publisher_connection_id: bee0bb01e8d95f514e71eaaac468aa56 test-client-1 | subscriber_connection_id: 4920aa6bf04d482e2f4cb82d030d661e test-client-1 | ... relay-1 | time=2026-09-17T00:50:40.806Z level=INFO msg="MoQ session ended" reason="session closed: PROTOCOL_VIOLATION: peer closed its control stream" relay-1 | time=2026-09-17T00:50:40.806Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" test-client-1 | 2026-09-17T00:50:40.807214Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:46536 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606240808.7942}}} relay-1 | time=2026-09-17T00:50:40.808Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.05613,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.088744,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:40.808Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | 2026-09-17T00:50:40.809021Z  INFO moq_test_client::scenarios: Subscriber subscribing BEFORE PUBLISH_NAMESPACE: moq-test/interop/test-track relay-1 | {"time":0.420201,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test","interop"],"track_name":{"length":10,"payload_length":10,"data":"746573742d747261636b"}}}} relay-1 | time=2026-09-17T00:50:40.809Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[moq-test interop]" track=test-track held=0s relay-1 | {"time":0.484539,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":16,"retry_interval":0,"error_reason":"unknown namespace"}}} test-client-1 | 2026-09-17T00:50:40.809399Z  WARN moq_transport::serve::error: [45566933-5cf1-4259-9553-1bca30215ea1] Not found: unknown namespace at moq-transport/src/session/subscriber.rs:1653 relay-1 | time=2026-09-17T00:50:40.809Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" test-client-1 | 2026-09-17T00:50:41.310913Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:55630 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606241314.0308}}} relay-1 | time=2026-09-17T00:50:41.314Z level=INFO msg="starting MoQ session" perspective=server test-client-1 | 2026-09-17T00:50:41.314330Z  INFO moq_test_client::scenarios: Publisher sending PUBLISH_NAMESPACE (after subscriber): moq-test/interop relay-1 | {"time":0.450354,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.649463,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:41.314Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.860474,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish_namespace","request_id":0,"track_namespace":["moq-test","interop"]}}} relay-1 | time=2026-09-17T00:50:41.314Z level=INFO msg="registered announcement" namespace="[moq-test interop]" relay-1 | {"time":0.981781,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} test-client-1 | ok 5 - subscribe-before-publish-namespace test-client-1 | --- test-client-1 | duration_ms: 3509 test-client-1 | subscriber_connection_id: 3a2c4557d407e711486072fe83f4880d test-client-1 | publisher_connection_id: 0539ed15b8d483725411f233f7af3acb test-client-1 | ... test-client-1 | 2026-09-17T00:50:44.315897Z  INFO moq_test_client::scenarios: Publisher PUBLISH_NAMESPACE timeout (expected) test-client-1 | 2026-09-17T00:50:44.315920Z  INFO moq_test_client::scenarios: Subscriber got error: not found: Track not found [error:45566933-5cf1-4259-9553-1bca30215ea1] (may be expected) relay-1 | time=2026-09-17T00:50:44.316Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:44.316Z level=INFO msg="announcement withdrawn" namespace="[moq-test interop]" test-client-1 | 2026-09-17T00:50:44.316795Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:50051 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606244320.168}}} relay-1 | time=2026-09-17T00:50:44.320Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.084136,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.125832,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:44.320Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | 2026-09-17T00:50:44.320387Z  INFO moq_test_client::scenarios: Sending PUBLISH_NAMESPACE: moq-test/interop relay-1 | {"time":0.40515,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish_namespace","request_id":0,"track_namespace":["moq-test","interop"]}}} relay-1 | time=2026-09-17T00:50:44.320Z level=INFO msg="registered announcement" namespace="[moq-test interop]" relay-1 | {"time":0.473982,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} test-client-1 | 2026-09-17T00:50:46.321682Z  INFO moq_test_client::scenarios: PUBLISH_NAMESPACE active; sending PUBLISH_NAMESPACE_DONE relay-1 | time=2026-09-17T00:50:46.321Z level=INFO msg="announcement withdrawn" namespace="[moq-test interop]" relay-1 | time=2026-09-17T00:50:46.321Z level=INFO msg="MoQ session ended" reason="session closed: PROTOCOL_VIOLATION: peer closed its control stream" test-client-1 | ok 6 - publish-namespace-done test-client-1 | --- test-client-1 | duration_ms: 2106 test-client-1 | connection_id: f9ab78e4adfff3f8057fccf73131ae8a test-client-1 | ... test-client-1 | 2026-09-17T00:50:46.422604Z  INFO moq_test_client::scenarios: PUBLISH_NAMESPACE_DONE sent successfully test-client-1 | 2026-09-17T00:50:46.423417Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:48201 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606246425.8086}}} relay-1 | time=2026-09-17T00:50:46.425Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.077875,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.104228,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:46.425Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | 2026-09-17T00:50:46.426029Z  INFO moq_test_client::scenarios: Publisher sending direct PUBLISH namespace=/moq-test/publish track="published-track" relay-1 | {"time":0.450514,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test","publish"],"track_name":{"length":15,"payload_length":15,"data":"7075626c69736865642d747261636b"},"track_alias":0}}} relay-1 | {"time":0.522683,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} test-client-1 | 2026-09-17T00:50:46.426454Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) relay-1 | time=2026-09-17T00:50:46.426Z level=INFO msg="MoQ session ended" reason="session closed: PROTOCOL_VIOLATION: peer closed its control stream" test-client-1 | not ok 7 - publish-track-only test-client-1 | --- test-client-1 | duration_ms: 3 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... test-client-1 | 2026-09-17T00:50:46.427134Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:50646 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606246429.0183}}} relay-1 | time=2026-09-17T00:50:46.429Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.055757,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.080398,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:46.429Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | 2026-09-17T00:50:46.429697Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:40406 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606246430.9067}}} relay-1 | time=2026-09-17T00:50:46.430Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.075494,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.09479,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:46.431Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | 2026-09-17T00:50:46.431121Z  INFO moq_test_client::scenarios: Publisher sending direct PUBLISH before subscriber subscribes namespace=/moq-test/publish track="published-track" relay-1 | {"time":2.275221,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test","publish"],"track_name":{"length":15,"payload_length":15,"data":"7075626c69736865642d747261636b"},"track_alias":0}}} relay-1 | {"time":2.329712,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} relay-1 | time=2026-09-17T00:50:46.431Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:46.431Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" test-client-1 | not ok 8 - publish-track-subscribe 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-09-17T00:50:46.432023Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:60442 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606246433.4805}}} relay-1 | time=2026-09-17T00:50:46.433Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.042869,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.086173,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:46.433Z level=INFO msg="MoQ session established" version=moqt-18 test-client-1 | 2026-09-17T00:50:46.433725Z  INFO moq_test_client::scenarios: Subscribing with RENDEZVOUS_TIMEOUT to a track with no publisher timeout_ms=500 relay-1 | {"time":0.4342,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["nonexistent","rendezvous"],"track_name":{"length":10,"payload_length":10,"data":"746573742d747261636b"},"parameters":["{RENDEZVOUS_TIMEOUT: 500}"]}}} relay-1 | time=2026-09-17T00:50:46.934Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[nonexistent rendezvous]" track=test-track held=500ms relay-1 | {"time":501.399805,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":2,"retry_interval":0,"error_reason":"no publisher within 500ms"}}} test-client-1 | 2026-09-17T00:50:46.935397Z  INFO moq_test_client::scenarios: Received expected REQUEST_ERROR TIMEOUT test-client-1 | ok 9 - rendezvous-timeout relay-1 | time=2026-09-17T00:50:46.935Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" test-client-1 | --- test-client-1 | duration_ms: 503 test-client-1 | connection_id: e7e10889832cbdc24aba10c29265e656 test-client-1 | ... test-client-1 | 2026-09-17T00:50:46.936142Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:54031 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606246938.7285}}} relay-1 | time=2026-09-17T00:50:46.938Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.073461,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.11957,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:46.938Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.484053,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test-00","0","0","0","2","4","5","64","32","2","1","1","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d30366663363335653665393232666339"},"parameters":["{RENDEZVOUS_TIMEOUT: 5000}"]}}} test-client-1 | 2026-09-17T00:50:47.140916Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:47817 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247143.938}}} relay-1 | time=2026-09-17T00:50:47.143Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.108247,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | {"time":0.090244,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | time=2026-09-17T00:50:47.144Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.463913,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test-00","0","0","0","2","4","5","64","32","2","1","1","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d30366663363335653665393232666339"},"track_alias":0}}} relay-1 | {"time":0.529228,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} relay-1 | time=2026-09-17T00:50:47.144Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" test-client-1 | not ok 10 - moq-test-subgroup-per-group test-client-1 | --- test-client-1 | duration_ms: 209 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | time=2026-09-17T00:50:47.144Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:47.144Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[moq-test-00 0 0 0 2 4 5 64 32 2 1 1 0 -1 -1 0]" track=moq-test-06fc635e6e922fc9 held=5s relay-1 | time=2026-09-17T00:50:47.144Z level=ERROR msg="failed to reject subscription" error="Application error 0x0 (remote)" test-client-1 | 2026-09-17T00:50:47.145435Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:41223 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247147.3674}}} relay-1 | time=2026-09-17T00:50:47.147Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.056422,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.090734,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:47.147Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.329699,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test-00","0","0","0","2","5","5","64","32","2","1","1","1","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d62343735373736386132303831393936"},"parameters":["{RENDEZVOUS_TIMEOUT: 5000}"]}}} test-client-1 | 2026-09-17T00:50:47.349417Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:36541 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247351.6316}}} relay-1 | time=2026-09-17T00:50:47.351Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.0722,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.181264,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:47.351Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.46772,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test-00","0","0","0","2","5","5","64","32","2","1","1","1","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d62343735373736386132303831393936"},"track_alias":0}}} relay-1 | {"time":0.502353,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} test-client-1 | not ok 11 - moq-test-subgroup-per-group-eog relay-1 | time=2026-09-17T00:50:47.352Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" test-client-1 | --- test-client-1 | duration_ms: 207 test-client-1 | message: "PUBLISH was rejected: cancelled" test-client-1 | ... relay-1 | time=2026-09-17T00:50:47.352Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:47.352Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[moq-test-00 0 0 0 2 5 5 64 32 2 1 1 1 -1 -1 0]" track=moq-test-b4757768a2081996 held=5s relay-1 | time=2026-09-17T00:50:47.352Z level=ERROR msg="failed to reject subscription" error="Application error 0x0 (remote)" test-client-1 | 2026-09-17T00:50:47.352931Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:49163 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247355.3108}}} relay-1 | time=2026-09-17T00:50:47.355Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.047824,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.081359,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:47.355Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.307481,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test-00","1","0","0","1","3","4","64","32","2","1","1","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d31363831346237653434383335613564"},"parameters":["{RENDEZVOUS_TIMEOUT: 5000}"]}}} test-client-1 | 2026-09-17T00:50:47.557011Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:34910 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247559.081}}} relay-1 | time=2026-09-17T00:50:47.559Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.084727,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.120694,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:47.559Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.404694,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test-00","1","0","0","1","3","4","64","32","2","1","1","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d31363831346237653434383335613564"},"track_alias":0}}} relay-1 | {"time":0.456308,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} test-client-1 | 2026-09-17T00:50:47.559748Z  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: 207 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | time=2026-09-17T00:50:47.560Z level=INFO msg="MoQ session ended" reason="session closed: PROTOCOL_VIOLATION: peer closed its control stream" relay-1 | time=2026-09-17T00:50:47.560Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:47.560Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[moq-test-00 1 0 0 1 3 4 64 32 2 1 1 0 -1 -1 0]" track=moq-test-16814b7e44835a5d held=5s relay-1 | time=2026-09-17T00:50:47.560Z level=ERROR msg="failed to reject subscription" error="Application error 0x0 (remote)" test-client-1 | 2026-09-17T00:50:47.560613Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:43407 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247562.2368}}} relay-1 | time=2026-09-17T00:50:47.562Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.06028,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.084057,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:47.562Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.34228,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test-00","2","0","0","2","6","6","64","32","2","1","1","1","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d64396234653364343662643432623766"},"parameters":["{RENDEZVOUS_TIMEOUT: 5000}"]}}} test-client-1 | 2026-09-17T00:50:47.764028Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:56359 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247766.3826}}} relay-1 | time=2026-09-17T00:50:47.766Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.081822,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.102379,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:47.766Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.40649,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test-00","2","0","0","2","6","6","64","32","2","1","1","1","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d64396234653364343662643432623766"},"track_alias":0}}} relay-1 | {"time":0.442446,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} relay-1 | time=2026-09-17T00:50:47.767Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:47.767Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" test-client-1 | not ok 13 - moq-test-two-subgroups-eog test-client-1 | --- test-client-1 | duration_ms: 207 test-client-1 | message: "PUBLISH was rejected: cancelled" test-client-1 | ... relay-1 | time=2026-09-17T00:50:47.767Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[moq-test-00 2 0 0 2 6 6 64 32 2 1 1 1 -1 -1 0]" track=moq-test-d9b4e3d46bd42b7f held=5s relay-1 | time=2026-09-17T00:50:47.767Z level=ERROR msg="failed to reject subscription" error="Application error 0x0 (remote)" test-client-1 | 2026-09-17T00:50:47.767627Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:48253 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247769.263}}} relay-1 | time=2026-09-17T00:50:47.769Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.065942,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.117017,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:47.769Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.322461,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test-00","3","0","0","2","4","5","64","32","20","1","1","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d38363964323732396437613165653431"},"parameters":["{RENDEZVOUS_TIMEOUT: 5000}"]}}} test-client-1 | 2026-09-17T00:50:47.971538Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:56785 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247974.92}}} relay-1 | time=2026-09-17T00:50:47.974Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.09608,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.107837,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:47.975Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.383203,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test-00","3","0","0","2","4","5","64","32","20","1","1","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d38363964323732396437613165653431"},"track_alias":0}}} relay-1 | {"time":0.422134,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} test-client-1 | not ok 14 - moq-test-datagram test-client-1 | --- relay-1 | time=2026-09-17T00:50:47.975Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" test-client-1 | duration_ms: 208 test-client-1 | message: "PUBLISH was rejected: cancelled" test-client-1 | ... relay-1 | time=2026-09-17T00:50:47.975Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:47.975Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[moq-test-00 3 0 0 2 4 5 64 32 20 1 1 0 -1 -1 0]" track=moq-test-869d2729d7a1ee41 held=5s relay-1 | time=2026-09-17T00:50:47.975Z level=ERROR msg="failed to reject subscription" error="Application error 0x0 (remote)" test-client-1 | 2026-09-17T00:50:47.976216Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:39724 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606247978.0479}}} relay-1 | time=2026-09-17T00:50:47.978Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.048392,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.070639,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:47.978Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.386818,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test-00","3","0","0","2","5","5","64","32","20","1","1","1","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d34303135313036373531323535353632"},"parameters":["{RENDEZVOUS_TIMEOUT: 5000}"]}}} test-client-1 | 2026-09-17T00:50:48.179972Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:37602 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606248182.169}}} relay-1 | time=2026-09-17T00:50:48.182Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.080299,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.131553,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:48.182Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.404721,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test-00","3","0","0","2","5","5","64","32","20","1","1","1","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d34303135313036373531323535353632"},"track_alias":0}}} relay-1 | {"time":0.458393,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} test-client-1 | 2026-09-17T00:50:48.182774Z  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: 207 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... relay-1 | time=2026-09-17T00:50:48.183Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:48.183Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:48.183Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[moq-test-00 3 0 0 2 5 5 64 32 20 1 1 1 -1 -1 0]" track=moq-test-4015106751255562 held=5s relay-1 | time=2026-09-17T00:50:48.183Z level=ERROR msg="failed to reject subscription" error="Application error 0x0 (remote)" test-client-1 | 2026-09-17T00:50:48.183480Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:49913 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606248184.9521}}} relay-1 | time=2026-09-17T00:50:48.184Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.064709,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.100692,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:48.185Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.431065,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test-00","0","0","0","2","5","5","64","32","2","1","1","1","1","2","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d63383236623334633532663562636536"},"parameters":["{RENDEZVOUS_TIMEOUT: 5000}"]}}} test-client-1 | 2026-09-17T00:50:48.387004Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:40111 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606248389.0396}}} relay-1 | time=2026-09-17T00:50:48.389Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.082104,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.098506,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:48.389Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.472551,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test-00","0","0","0","2","5","5","64","32","2","1","1","1","1","2","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d63383236623334633532663562636536"},"track_alias":0}}} relay-1 | {"time":0.517701,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} test-client-1 | 2026-09-17T00:50:48.389716Z  WARN moq_transport::session::reader: [READER] decode: stream ended while waiting for data (have=0 bytes, need=1) test-client-1 | not ok 16 - moq-test-extensions test-client-1 | --- test-client-1 | duration_ms: 206 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... test-client-1 | 2026-09-17T00:50:48.390341Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:45733 dual_stack=true relay-1 | time=2026-09-17T00:50:48.390Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:48.391Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[moq-test-00 0 0 0 2 5 5 64 32 2 1 1 1 1 2 0]" track=moq-test-c826b34c52f5bce6 held=5s relay-1 | time=2026-09-17T00:50:48.391Z level=ERROR msg="failed to reject subscription" error="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:48.390Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606248391.765}}} relay-1 | time=2026-09-17T00:50:48.391Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.050259,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.068721,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:48.391Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.41794,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test-00","0","10","3","24","7","3","40","24","2","7","2","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d38393162313331313036653735353531"},"parameters":["{RENDEZVOUS_TIMEOUT: 5000}"]}}} test-client-1 | 2026-09-17T00:50:48.593790Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:47810 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606248595.7578}}} relay-1 | time=2026-09-17T00:50:48.595Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.082114,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.129965,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:48.595Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.34432,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test-00","0","10","3","24","7","3","40","24","2","7","2","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d38393162313331313036653735353531"},"track_alias":0}}} relay-1 | {"time":0.396446,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} relay-1 | time=2026-09-17T00:50:48.596Z level=INFO msg="MoQ session ended" reason="session closed: PROTOCOL_VIOLATION: peer closed its control stream" relay-1 | time=2026-09-17T00:50:48.596Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" relay-1 | time=2026-09-17T00:50:48.596Z level=INFO msg="rejecting subscription to unknown namespace" namespace="[moq-test-00 0 10 3 24 7 3 40 24 2 7 2 0 -1 -1 0]" track=moq-test-891b131106e75551 held=5s relay-1 | time=2026-09-17T00:50:48.596Z level=ERROR msg="failed to reject subscription" error="Application error 0x0 (remote)" test-client-1 | not ok 17 - moq-test-increments test-client-1 | --- test-client-1 | duration_ms: 206 test-client-1 | message: "PUBLISH was rejected: cancelled" test-client-1 | ... test-client-1 | 2026-09-17T00:50:48.597070Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:51631 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606248598.5674}}} relay-1 | time=2026-09-17T00:50:48.598Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.059719,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.118892,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:48.598Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.425184,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe","request_id":0,"track_namespace":["moq-test-00","0","0","0","1","2","3","64","32","2","1","1","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d61326230333562313165643832313761"},"parameters":["{RENDEZVOUS_TIMEOUT: 5000}","{FORWARD: 0}"]}}} test-client-1 | 2026-09-17T00:50:48.800637Z  INFO moq_native_ietf::quic: UDP socket bound bind=[::]:0 local=[::]:38553 dual_stack=true relay-1 | {"file_schema":"urn:ietf:params:qlog:file:sequential","serialization_format":"application/qlog+json-seq","title":"MoQ QLOG","description":"MoQ QLOG","event_schemas":["urn:ietf:params:qlog:events:moqt-00"],"trace":{"vantage_point":{"type":"server"},"common_fields":{"time_format":"relative","reference_time":1789606248802.9866}}} relay-1 | time=2026-09-17T00:50:48.803Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.098201,"name":"moqt:control_message_created","data":{"stream_id":3,"message":{"type":"setup","options":["{key: 7, value: '[69 121 101 118 105 110 110 47 109 111 113 108 105 118 101 109 111 99 107 47 109 108 109 114 101 108]'}"]}}} relay-1 | {"time":0.219057,"name":"moqt:control_message_parsed","data":{"stream_id":2,"message":{"type":"setup","options":["{key: 5, value: '[114 101 108 97 121 58 52 52 52 51]'}"]}}} relay-1 | time=2026-09-17T00:50:48.803Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.483088,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish","request_id":0,"track_namespace":["moq-test-00","0","0","0","1","2","3","64","32","2","1","1","0","-1","-1","0"],"track_name":{"length":25,"payload_length":25,"data":"6d6f712d746573742d61326230333562313165643832313761"},"track_alias":0}}} relay-1 | {"time":0.537907,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_error","error_code":3,"retry_interval":0,"error_reason":"PUBLISH is not supported"}}} test-client-1 | not ok 18 - moq-test-forward-zero relay-1 | time=2026-09-17T00:50:48.803Z level=INFO msg="connection closed" reason="Application error 0x0 (remote)" test-client-1 | --- test-client-1 | duration_ms: 207 test-client-1 | message: "PUBLISH was rejected: closed, code=3" test-client-1 | ... test-client-1 exited with code 1 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 make[1]: *** [Makefile:86: test] Error 1 make[1]: Leaving directory '/home/runner/work/moq-interop-runner/moq-interop-runner/main'