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-dev-rs-client:latest URL: moqt://relay:4443 time="2026-10-26T15:15:45Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:15:45Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:15:45Z" level=warning msg="The \"PORT\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:15:45Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." time="2026-10-26T15:15:45Z" level=warning msg="The \"HEX\" variable is not set. Defaulting to a blank string." Container runner-upstream-relay-1 Recreate Container runner-upstream-relay-1 Recreated Container runner-upstream-test-client-1 Recreate Container runner-upstream-test-client-1 Recreated Attaching to relay-1, test-client-1 relay-1 | WARNING: /mlog is not writable; qlog goes to stderr 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 | time=2026-10-26T15:15:45.260Z level=INFO msg="Starting MoQ server" addr=0.0.0.0:4443 relay-1 | time=2026-10-26T15:15:45.260Z 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-dev-rs-client v0.1.0 (moq-tokio 0.19.28) test-client-1 | # Relay: moqt://relay:4443 test-client-1 | 1..8 test-client-1 | ok 1 - setup-only test-client-1 | --- test-client-1 | duration_ms: 43 test-client-1 | negotiated: moq-transport-18 test-client-1 | ... 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":1793027750914.4658}}} relay-1 | time=2026-10-26T15:15:50.914Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.136355,"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.280395,"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]'}","{key: 7, value: '[109 111 113 45 108 105 116 101 45 114 115]'}","{key: 265044, value: 7358382224508041}","{key: 265050, value: 1}","{key: 265052, value: 1}"]}}} relay-1 | time=2026-10-26T15:15:50.914Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | time=2026-10-26T15:15:50.915Z level=INFO msg="MoQ session ended" reason="connection closed: Application error 0x0 (remote): cancelled" 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":1793027750917.2322}}} relay-1 | time=2026-10-26T15:15:50.917Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.073948,"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.138822,"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]'}","{key: 7, value: '[109 111 113 45 108 105 116 101 45 114 115]'}","{key: 265044, value: 4113302595202552}","{key: 265050, value: 1}","{key: 265052, value: 1}"]}}} relay-1 | time=2026-10-26T15:15:50.917Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.48397,"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-10-26T15:15:50.917Z level=INFO msg="registered announcement" namespace="[moq-test interop]" relay-1 | {"time":0.559401,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} test-client-1 | ok 2 - announce-only test-client-1 | --- test-client-1 | duration_ms: 504 test-client-1 | negotiated: moq-transport-18 test-client-1 | outcome: "namespace remained accepted" test-client-1 | ... relay-1 | time=2026-10-26T15:15:51.419Z level=INFO msg="MoQ session ended" reason="connection closed: Application error 0x0 (remote): cancelled" relay-1 | time=2026-10-26T15:15:51.419Z level=INFO msg="announcement withdrawn" namespace="[moq-test interop]" 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":1793027751421.6}}} relay-1 | time=2026-10-26T15:15:51.421Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.155691,"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.361289,"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]'}","{key: 7, value: '[109 111 113 45 108 105 116 101 45 114 115]'}","{key: 265044, value: 2892267868891244}","{key: 265050, value: 1}","{key: 265052, value: 1}"]}}} relay-1 | time=2026-10-26T15:15:51.422Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.729097,"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-10-26T15:15:51.422Z level=INFO msg="registered announcement" namespace="[moq-test interop]" relay-1 | {"time":0.824616,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} relay-1 | time=2026-10-26T15:15:51.922Z level=INFO msg="announcement withdrawn" namespace="[moq-test interop]" test-client-1 | ok 3 - publish-namespace-done test-client-1 | --- test-client-1 | duration_ms: 704 test-client-1 | negotiated: moq-transport-18 test-client-1 | outcome: "namespace withdrawn cleanly" test-client-1 | ... relay-1 | time=2026-10-26T15:15:52.124Z level=INFO msg="MoQ session ended" reason="connection closed: Application error 0x0 (remote): cancelled" 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":1793027752126.5413}}} relay-1 | time=2026-10-26T15:15:52.126Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.086531,"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.102107,"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]'}","{key: 7, value: '[109 111 113 45 108 105 116 101 45 114 115]'}","{key: 265044, value: 3847945423956492}","{key: 265050, value: 1}","{key: 265052, value: 1}"]}}} relay-1 | time=2026-10-26T15:15:52.126Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.588808,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe_namespace","request_id":0,"track_namespace_prefix":["moq-test","interop","subscribe-namespace-lifecycle","7-1793027752123584906"]}}} relay-1 | {"time":0.723964,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} relay-1 | time=2026-10-26T15:15:52.127Z level=INFO msg="namespace subscription" prefix="[moq-test interop subscribe-namespace-lifecycle 7-1793027752123584906]" 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":1793027752128.464}}} relay-1 | time=2026-10-26T15:15:52.128Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.056506,"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.094615,"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]'}","{key: 7, value: '[109 111 113 45 108 105 116 101 45 114 115]'}","{key: 265044, value: 3740176702970559}","{key: 265050, value: 1}","{key: 265052, value: 1}"]}}} relay-1 | time=2026-10-26T15:15:52.128Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.406285,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish_namespace","request_id":0,"track_namespace":["moq-test","interop","subscribe-namespace-lifecycle","7-1793027752123584906"]}}} relay-1 | time=2026-10-26T15:15:52.128Z level=INFO msg="registered announcement" namespace="[moq-test interop subscribe-namespace-lifecycle 7-1793027752123584906]" relay-1 | {"time":0.481025,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} relay-1 | {"time":2.467171,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"namespace","track_namespace_suffix":[]}}} relay-1 | time=2026-10-26T15:15:52.129Z level=INFO msg="announcement withdrawn" namespace="[moq-test interop subscribe-namespace-lifecycle 7-1793027752123584906]" relay-1 | {"time":2.947262,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"namespace_done","track_namespace_suffix":[]}}} test-client-1 | ok 4 - subscribe-namespace-lifecycle test-client-1 | --- test-client-1 | duration_ms: 6 test-client-1 | negotiated: moq-transport-18 test-client-1 | outcome: "observed NAMESPACE followed by NAMESPACE_DONE" test-client-1 | ... test-client-1 | ok 5 - subscribe-error # SKIP moq-net API requires namespace discovery before SUBSCRIBE relay-1 | time=2026-10-26T15:15:52.129Z level=INFO msg="MoQ session ended" reason="connection closed: Application error 0x0 (remote): cancelled" relay-1 | time=2026-10-26T15:15:52.129Z level=INFO msg="MoQ session ended" reason="connection closed: Application error 0x0 (remote): cancelled" 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":1793027752132.2566}}} relay-1 | time=2026-10-26T15:15:52.132Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.061155,"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.237811,"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]'}","{key: 7, value: '[109 111 113 45 108 105 116 101 45 114 115]'}","{key: 265044, value: 5374764511701756}","{key: 265050, value: 1}","{key: 265052, value: 1}"]}}} relay-1 | time=2026-10-26T15:15:52.132Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.425542,"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-10-26T15:15:52.132Z level=INFO msg="registered announcement" namespace="[moq-test interop]" relay-1 | {"time":0.55259,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} 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":1793027752436.7507}}} relay-1 | time=2026-10-26T15:15:52.436Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.086843,"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.137588,"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]'}","{key: 7, value: '[109 111 113 45 108 105 116 101 45 114 115]'}","{key: 265044, value: 5391376240917956}","{key: 265050, value: 1}","{key: 265052, value: 1}"]}}} relay-1 | time=2026-10-26T15:15:52.436Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.511968,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe_namespace","request_id":0,"track_namespace_prefix":["moq-test","interop"]}}} relay-1 | {"time":0.5609,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} relay-1 | time=2026-10-26T15:15:52.437Z level=INFO msg="namespace subscription" prefix="[moq-test interop]" relay-1 | {"time":0.620752,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"namespace","track_namespace_suffix":[]}}} relay-1 | {"time":1.187762,"name":"moqt:control_message_parsed","data":{"stream_id":4,"message":{"type":"subscribe","request_id":2,"track_namespace":["moq-test","interop"],"track_name":{"length":10,"payload_length":10,"data":"746573742d747261636b"},"parameters":["{FORWARD: 1}","{SUBSCRIBER_PRIORITY: 255}","{SUBSCRIPTION_FILTER: [2]}","{GROUP_ORDER: 2}"]}}} relay-1 | {"time":305.795944,"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":306.214758,"name":"moqt:control_message_parsed","data":{"stream_id":1,"message":{"type":"subscribe_ok","track_alias":1,"track_properties":["{key: 8, value: 1000}","{key: 14, value: 128}","{key: 34, value: 2}"]}}} relay-1 | time=2026-10-26T15:15:52.438Z level=INFO msg="subscribed upstream" namespace="[moq-test interop]" track=test-track relay-1 | {"time":1.792183,"name":"moqt:control_message_created","data":{"stream_id":4,"message":{"type":"subscribe_ok","track_alias":0,"track_properties":["{key: 8, value: 1000}","{key: 14, value: 128}","{key: 34, value: 2}"]}}} relay-1 | time=2026-10-26T15:15:52.438Z level=INFO msg="forwarding subscription" namespace="[moq-test interop]" track=test-track backlogObjects=0 test-client-1 | ok 6 - announce-subscribe test-client-1 | --- test-client-1 | duration_ms: 309 test-client-1 | negotiated: moq-transport-18 test-client-1 | outcome: "SUBSCRIBE_OK for moq-test/interop/test-track" test-client-1 | ... test-client-1 | ok 7 - subscribe-before-announce # SKIP moq-net API requires namespace discovery before SUBSCRIBE relay-1 | time=2026-10-26T15:15:52.439Z level=INFO msg="MoQ session ended" reason="connection closed: Application error 0x0 (remote): cancelled" relay-1 | time=2026-10-26T15:15:52.439Z level=INFO msg="upstream subscription ended" namespace="[moq-test interop]" track=test-track code=INTERNAL_ERROR reason="upstream ended" relay-1 | {"time":2.555581,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"namespace_done","track_namespace_suffix":[]}}} relay-1 | {"time":2.56991,"name":"moqt:control_message_created","data":{"stream_id":4,"message":{"type":"publish_done","status_code":0,"stream_count":0,"error_reason":"upstream ended"}}} relay-1 | time=2026-10-26T15:15:52.439Z level=INFO msg="MoQ session ended" reason="connection closed: Application error 0x0 (remote): cancelled" 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":1793027752441.7344}}} relay-1 | time=2026-10-26T15:15:52.441Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.074579,"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.113783,"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]'}","{key: 7, value: '[109 111 113 45 108 105 116 101 45 114 115]'}","{key: 265044, value: 1236891277770434}","{key: 265050, value: 1}","{key: 265052, value: 1}"]}}} relay-1 | time=2026-10-26T15:15:52.441Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.489438,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"publish_namespace","request_id":0,"track_namespace":["moq-test","data-subgroup-basic","30488327a0ebaabf24d6340bc329aec3"]}}} relay-1 | time=2026-10-26T15:15:52.442Z level=INFO msg="registered announcement" namespace="[moq-test data-subgroup-basic 30488327a0ebaabf24d6340bc329aec3]" relay-1 | {"time":0.592581,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} 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":1793027752443.6104}}} relay-1 | time=2026-10-26T15:15:52.443Z level=INFO msg="starting MoQ session" perspective=server relay-1 | {"time":0.062818,"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.165319,"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]'}","{key: 7, value: '[109 111 113 45 108 105 116 101 45 114 115]'}","{key: 265044, value: 2136655633787549}","{key: 265050, value: 1}","{key: 265052, value: 1}"]}}} relay-1 | time=2026-10-26T15:15:52.443Z level=INFO msg="MoQ session established" version=moqt-18 relay-1 | {"time":0.376026,"name":"moqt:control_message_parsed","data":{"stream_id":0,"message":{"type":"subscribe_namespace","request_id":0,"track_namespace_prefix":["moq-test","data-subgroup-basic","30488327a0ebaabf24d6340bc329aec3"]}}} relay-1 | {"time":0.625422,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"request_ok"}}} relay-1 | time=2026-10-26T15:15:52.444Z level=INFO msg="namespace subscription" prefix="[moq-test data-subgroup-basic 30488327a0ebaabf24d6340bc329aec3]" relay-1 | {"time":0.669054,"name":"moqt:control_message_created","data":{"stream_id":0,"message":{"type":"namespace","track_namespace_suffix":[]}}} relay-1 | {"time":1.159962,"name":"moqt:control_message_parsed","data":{"stream_id":4,"message":{"type":"subscribe","request_id":2,"track_namespace":["moq-test","data-subgroup-basic","30488327a0ebaabf24d6340bc329aec3","moq-test-00","0","0","0","2","4","5","64","32","2","1","1","0","-1","-1","0"],"track_name":{"length":5,"payload_length":5,"data":"747261636b"},"parameters":["{FORWARD: 1}","{SUBSCRIBER_PRIORITY: 255}","{SUBSCRIPTION_FILTER: [2]}","{GROUP_ORDER: 2}"]}}} relay-1 | {"time":3.129303,"name":"moqt:control_message_created","data":{"stream_id":1,"message":{"type":"subscribe","request_id":1,"track_namespace":["moq-test","data-subgroup-basic","30488327a0ebaabf24d6340bc329aec3","moq-test-00","0","0","0","2","4","5","64","32","2","1","1","0","-1","-1","0"],"track_name":{"length":5,"payload_length":5,"data":"747261636b"}}}} relay-1 | {"time":3.699657,"name":"moqt:control_message_parsed","data":{"stream_id":1,"message":{"type":"subscribe_ok","track_alias":1,"track_properties":["{key: 8, value: 1000}","{key: 14, value: 128}","{key: 34, value: 2}"]}}} relay-1 | time=2026-10-26T15:15:52.445Z level=INFO msg="subscribed upstream" namespace="[moq-test data-subgroup-basic 30488327a0ebaabf24d6340bc329aec3 moq-test-00 0 0 0 2 4 5 64 32 2 1 1 0 -1 -1 0]" track=track relay-1 | {"time":1.909577,"name":"moqt:control_message_created","data":{"stream_id":4,"message":{"type":"subscribe_ok","track_alias":0,"track_properties":["{key: 8, value: 1000}","{key: 14, value: 128}","{key: 34, value: 2}"]}}} relay-1 | time=2026-10-26T15:15:52.445Z level=INFO msg="forwarding subscription" namespace="[moq-test data-subgroup-basic 30488327a0ebaabf24d6340bc329aec3 moq-test-00 0 0 0 2 4 5 64 32 2 1 1 0 -1 -1 0]" track=track backlogObjects=0 relay-1 | {"time":4.605865,"name":"moqt:stream_type_set","data":{"owner":"remote","stream_id":6,"stream_type":"subgroup_header"}} relay-1 | {"time":4.648084,"name":"moqt:subgroup_object_parsed","data":{"stream_id":6,"group_id":0,"subgroup_id":0,"object_id":0,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910816,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":64,"object_payload":{"length":64,"payload_length":64,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":2.926126,"name":"moqt:stream_type_set","data":{"owner":"local","stream_id":7,"stream_type":"subgroup_header"}} relay-1 | {"time":2.946174,"name":"moqt:subgroup_object_created","data":{"stream_id":7,"group_id":0,"subgroup_id":0,"object_id":0,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910816,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":64,"object_payload":{"length":64,"payload_length":64,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":8.407468,"name":"moqt:subgroup_object_parsed","data":{"stream_id":6,"group_id":0,"subgroup_id":0,"object_id":1,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910820,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":6.571587,"name":"moqt:subgroup_object_created","data":{"stream_id":7,"group_id":0,"subgroup_id":0,"object_id":1,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910820,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":11.95478,"name":"moqt:subgroup_object_parsed","data":{"stream_id":6,"group_id":0,"subgroup_id":0,"object_id":2,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910824,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":10.125832,"name":"moqt:subgroup_object_created","data":{"stream_id":7,"group_id":0,"subgroup_id":0,"object_id":2,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910824,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":14.535047,"name":"moqt:subgroup_object_parsed","data":{"stream_id":6,"group_id":0,"subgroup_id":0,"object_id":3,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910827,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":12.704566,"name":"moqt:subgroup_object_created","data":{"stream_id":7,"group_id":0,"subgroup_id":0,"object_id":3,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910827,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":17.960303,"name":"moqt:subgroup_object_parsed","data":{"stream_id":6,"group_id":0,"subgroup_id":0,"object_id":4,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910830,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":16.129442,"name":"moqt:subgroup_object_created","data":{"stream_id":7,"group_id":0,"subgroup_id":0,"object_id":4,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910830,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":18.020826,"name":"moqt:stream_type_set","data":{"owner":"remote","stream_id":10,"stream_type":"subgroup_header"}} relay-1 | {"time":20.651738,"name":"moqt:subgroup_object_parsed","data":{"stream_id":10,"group_id":1,"subgroup_id":0,"object_id":0,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910833,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":64,"object_payload":{"length":64,"payload_length":64,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":18.85486,"name":"moqt:stream_type_set","data":{"owner":"local","stream_id":11,"stream_type":"subgroup_header"}} relay-1 | {"time":18.87079,"name":"moqt:subgroup_object_created","data":{"stream_id":11,"group_id":1,"subgroup_id":0,"object_id":0,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910833,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":64,"object_payload":{"length":64,"payload_length":64,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":24.242872,"name":"moqt:subgroup_object_parsed","data":{"stream_id":10,"group_id":1,"subgroup_id":0,"object_id":1,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910836,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":22.447637,"name":"moqt:subgroup_object_created","data":{"stream_id":11,"group_id":1,"subgroup_id":0,"object_id":1,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910836,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":26.823491,"name":"moqt:subgroup_object_parsed","data":{"stream_id":10,"group_id":1,"subgroup_id":0,"object_id":2,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910839,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":24.982832,"name":"moqt:subgroup_object_created","data":{"stream_id":11,"group_id":1,"subgroup_id":0,"object_id":2,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910839,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":30.353093,"name":"moqt:subgroup_object_parsed","data":{"stream_id":10,"group_id":1,"subgroup_id":0,"object_id":3,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910842,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":28.511652,"name":"moqt:subgroup_object_created","data":{"stream_id":11,"group_id":1,"subgroup_id":0,"object_id":3,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910842,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":33.910738,"name":"moqt:subgroup_object_parsed","data":{"stream_id":10,"group_id":1,"subgroup_id":0,"object_id":4,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910846,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":32.081459,"name":"moqt:subgroup_object_created","data":{"stream_id":11,"group_id":1,"subgroup_id":0,"object_id":4,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910846,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":33.915504,"name":"moqt:stream_type_set","data":{"owner":"remote","stream_id":14,"stream_type":"subgroup_header"}} relay-1 | {"time":36.65323,"name":"moqt:subgroup_object_parsed","data":{"stream_id":14,"group_id":2,"subgroup_id":0,"object_id":0,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910849,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":64,"object_payload":{"length":64,"payload_length":64,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":34.847495,"name":"moqt:stream_type_set","data":{"owner":"local","stream_id":15,"stream_type":"subgroup_header"}} relay-1 | {"time":34.861922,"name":"moqt:subgroup_object_created","data":{"stream_id":15,"group_id":2,"subgroup_id":0,"object_id":0,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910849,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":64,"object_payload":{"length":64,"payload_length":64,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":40.312389,"name":"moqt:subgroup_object_parsed","data":{"stream_id":14,"group_id":2,"subgroup_id":0,"object_id":1,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910852,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":38.48329,"name":"moqt:subgroup_object_created","data":{"stream_id":15,"group_id":2,"subgroup_id":0,"object_id":1,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910852,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":43.739154,"name":"moqt:subgroup_object_parsed","data":{"stream_id":14,"group_id":2,"subgroup_id":0,"object_id":2,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910856,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":41.909424,"name":"moqt:subgroup_object_created","data":{"stream_id":15,"group_id":2,"subgroup_id":0,"object_id":2,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910856,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":47.245537,"name":"moqt:subgroup_object_parsed","data":{"stream_id":14,"group_id":2,"subgroup_id":0,"object_id":3,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910859,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":45.411749,"name":"moqt:subgroup_object_created","data":{"stream_id":15,"group_id":2,"subgroup_id":0,"object_id":3,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910859,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":49.680752,"name":"moqt:subgroup_object_parsed","data":{"stream_id":14,"group_id":2,"subgroup_id":0,"object_id":4,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910862,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":47.840723,"name":"moqt:subgroup_object_created","data":{"stream_id":15,"group_id":2,"subgroup_id":0,"object_id":4,"extension_headers_length":1,"extension_headers":[{"header_type":16,"header_value":215190910862,"header_length":0,"payload":{"length":0,"payload_length":0,"data":""}}],"object_payload_length":32,"object_payload":{"length":32,"payload_length":32,"data":"7474747474747474747474747474747474747474"}}} relay-1 | {"time":50.086115,"name":"moqt:stream_type_set","data":{"owner":"remote","stream_id":18,"stream_type":"subgroup_header"}} relay-1 | {"time":50.124477,"name":"moqt:subgroup_object_parsed","data":{"stream_id":18,"group_id":3,"subgroup_id":0,"object_id":0,"extension_headers_length":0,"object_payload_length":0,"object_status":4}} relay-1 | {"time":48.279419,"name":"moqt:stream_type_set","data":{"owner":"local","stream_id":19,"stream_type":"subgroup_header"}} relay-1 | {"time":48.292564,"name":"moqt:subgroup_object_created","data":{"stream_id":19,"group_id":3,"subgroup_id":0,"object_id":0,"extension_headers_length":0,"object_payload_length":0,"object_status":4}} relay-1 | {"time":50.440057,"name":"moqt:control_message_parsed","data":{"stream_id":1,"message":{"type":"publish_done","status_code":2,"stream_count":4,"error_reason":"track ended"}}} relay-1 | time=2026-10-26T15:15:52.492Z level=INFO msg="upstream subscription ended" namespace="[moq-test data-subgroup-basic 30488327a0ebaabf24d6340bc329aec3 moq-test-00 0 0 0 2 4 5 64 32 2 1 1 0 -1 -1 0]" track=track code=TRACK_ENDED reason="track ended" relay-1 | {"time":48.696038,"name":"moqt:control_message_created","data":{"stream_id":4,"message":{"type":"publish_done","status_code":2,"stream_count":4,"error_reason":"track ended"}}} test-client-1 | ok 8 - data-subgroup-basic test-client-1 | --- test-client-1 | duration_ms: 53 test-client-1 | test_spec_revision: 2 test-client-1 | negotiated: moq-transport-18 test-client-1 | outcome: "received all 15 objects, then the track ended" test-client-1 | ... relay-1 | time=2026-10-26T15:15:52.492Z level=INFO msg="MoQ session ended" reason="connection closed: Application error 0x0 (remote): cancelled" relay-1 | time=2026-10-26T15:15:52.493Z level=INFO msg="announcement withdrawn" namespace="[moq-test data-subgroup-basic 30488327a0ebaabf24d6340bc329aec3]" relay-1 | time=2026-10-26T15:15:52.493Z level=INFO msg="MoQ session ended" reason="connection closed: Application error 0x0 (remote): cancelled" test-client-1 exited with code 0 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 Test results in mlog/