make[1]: Entering directory '/home/runner/work/moq-interop-runner/moq-interop-runner/main' Running tests against https://relay.moqtail.dev... Client: ghcr.io/englishm/moq-interop-runner-moq-dev-js-client:latest docker run --rm \ --network host \ -e RELAY_URL=https://relay.moqtail.dev \ -e TLS_DISABLE_VERIFY=false \ ghcr.io/englishm/moq-interop-runner-moq-dev-js-client:latest TAP version 14 # moq-dev-js-client v0.1.0 # Relay: https://relay.moqtail.dev 1..6 Non serverCertificateHashes certificate verification is an experimental feature for webtransport node client and not covered by tests and thus may be broken (DO NOT USE IN PRODUCTION) https://relay.moqtail.dev/ no WebTransport after 200ms, attempting WebSocket fallback https://relay.moqtail.dev/ sending client setup ClientSetup { versions: [ 4279086338, 4279086337, 4278190094 ], parameters: Parameters { vars: Map(1) { 2n: 42069n, }, bytes: Map(1) { 7n: Uint8Array(11) [ 109, 111, 113, 45, 108, 105, 116, 101, 45, 106, 115 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ received server setup ServerSetup { version: 4278190094, parameters: Parameters { vars: Map(1) { 2n: 2305843009213693952n, }, bytes: Map(1) { 7n: Uint8Array(22) [ 109, 111, 113, 116, 97, 105, 108, 47, 48, 46, 49, 48, 46, 48, 43, 54, 51, 53, 55, 50, 102, 100 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ moq-ietf session established ok 1 - setup-only --- duration_ms: 589 ... error processing control message 590 | this.incomDatagramController_ || this.incomDatagramControllerBytes_ 591 | ).close() 592 | // this.outgoDatagramController.error(errorcode) 593 | this.state = 'closed' 594 | 595 | const wtError = new WebTransportError( ^ WebTransportError: Session closed (on process 1) with code 0 and reason Symbol.toStringTag: "WebTransportError", at onClose (/app/node_modules/@fails-components/webtransport/lib/session.js:595:21) at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:52:21) at emit (node:events:98:22) at data (node:dgram:168:22) control stream closed Non serverCertificateHashes certificate verification is an experimental feature for webtransport node client and not covered by tests and thus may be broken (DO NOT USE IN PRODUCTION) https://relay.moqtail.dev/ no WebTransport after 200ms, attempting WebSocket fallback https://relay.moqtail.dev/ sending client setup ClientSetup { versions: [ 4279086338, 4279086337, 4278190094 ], parameters: Parameters { vars: Map(1) { 2n: 42069n, }, bytes: Map(1) { 7n: Uint8Array(11) [ 109, 111, 113, 45, 108, 105, 116, 101, 45, 106, 115 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ received server setup ServerSetup { version: 4278190094, parameters: Parameters { vars: Map(1) { 2n: 2305843009213693952n, }, bytes: Map(1) { 7n: Uint8Array(22) [ 109, 111, 113, 116, 97, 105, 108, 47, 48, 46, 49, 48, 46, 48, 43, 54, 51, 53, 55, 50, 102, 100 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ moq-ietf session established message write PublishNamespace { requestId: 0n, trackNamespace: "moq-test/interop", encode: [AsyncFunction: encode], } message read PublishNamespaceOk { requestId: 0n, encode: [AsyncFunction: encode], } ok 2 - announce-only --- duration_ms: 1053 ... error processing control message 590 | this.incomDatagramController_ || this.incomDatagramControllerBytes_ 591 | ).close() 592 | // this.outgoDatagramController.error(errorcode) 593 | this.state = 'closed' 594 | 595 | const wtError = new WebTransportError( ^ WebTransportError: Session closed (on process 1) with code 0 and reason Symbol.toStringTag: "WebTransportError", at onClose (/app/node_modules/@fails-components/webtransport/lib/session.js:595:21) at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:52:21) at emit (node:events:98:22) at data (node:dgram:168:22) control stream closed Non serverCertificateHashes certificate verification is an experimental feature for webtransport node client and not covered by tests and thus may be broken (DO NOT USE IN PRODUCTION) https://relay.moqtail.dev/ no WebTransport after 200ms, attempting WebSocket fallback https://relay.moqtail.dev/ sending client setup ClientSetup { versions: [ 4279086338, 4279086337, 4278190094 ], parameters: Parameters { vars: Map(1) { 2n: 42069n, }, bytes: Map(1) { 7n: Uint8Array(11) [ 109, 111, 113, 45, 108, 105, 116, 101, 45, 106, 115 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ received server setup ServerSetup { version: 4278190094, parameters: Parameters { vars: Map(1) { 2n: 2305843009213693952n, }, bytes: Map(1) { 7n: Uint8Array(22) [ 109, 111, 113, 116, 97, 105, 108, 47, 48, 46, 49, 48, 46, 48, 43, 54, 51, 53, 55, 50, 102, 100 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ moq-ietf session established message write PublishNamespace { requestId: 0n, trackNamespace: "moq-test/interop", encode: [AsyncFunction: encode], } message read PublishNamespaceOk { requestId: 0n, encode: [AsyncFunction: encode], } message write PublishNamespaceDone { trackNamespace: "moq-test/interop", encode: [AsyncFunction: encode], } ok 3 - publish-namespace-done --- duration_ms: 1275 ... error processing control message 590 | this.incomDatagramController_ || this.incomDatagramControllerBytes_ 591 | ).close() 592 | // this.outgoDatagramController.error(errorcode) 593 | this.state = 'closed' 594 | 595 | const wtError = new WebTransportError( ^ WebTransportError: Session closed (on process 1) with code 0 and reason Symbol.toStringTag: "WebTransportError", at onClose (/app/node_modules/@fails-components/webtransport/lib/session.js:595:21) at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:52:21) at emit (node:events:98:22) at data (node:dgram:168:22) control stream closed Non serverCertificateHashes certificate verification is an experimental feature for webtransport node client and not covered by tests and thus may be broken (DO NOT USE IN PRODUCTION) https://relay.moqtail.dev/ no WebTransport after 200ms, attempting WebSocket fallback https://relay.moqtail.dev/ sending client setup ClientSetup { versions: [ 4279086338, 4279086337, 4278190094 ], parameters: Parameters { vars: Map(1) { 2n: 42069n, }, bytes: Map(1) { 7n: Uint8Array(11) [ 109, 111, 113, 45, 108, 105, 116, 101, 45, 106, 115 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ received server setup ServerSetup { version: 4278190094, parameters: Parameters { vars: Map(1) { 2n: 2305843009213693952n, }, bytes: Map(1) { 7n: Uint8Array(22) [ 109, 111, 113, 116, 97, 105, 108, 47, 48, 46, 49, 48, 46, 48, 43, 54, 51, 53, 55, 50, 102, 100 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ moq-ietf session established subscribe start: id=0 broadcast=nonexistent/namespace track=test-track message write Subscribe { requestId: 0n, trackNamespace: "nonexistent/namespace", trackName: "test-track", subscriberPriority: 0, encode: [AsyncFunction: encode], } message read SubscribeError { requestId: 0n, errorCode: 4, reasonPhrase: "Unknown track namespace", encode: [AsyncFunction: encode], } subscribe error: id=0 broadcast=nonexistent/namespace track=test-track error=SUBSCRIBE_ERROR: code=4 reason=Unknown track namespace ok 4 - subscribe-error --- duration_ms: 658 ... error processing control message 590 | this.incomDatagramController_ || this.incomDatagramControllerBytes_ 591 | ).close() 592 | // this.outgoDatagramController.error(errorcode) 593 | this.state = 'closed' 594 | 595 | const wtError = new WebTransportError( ^ WebTransportError: Session closed (on process 1) with code 0 and reason Symbol.toStringTag: "WebTransportError", at onClose (/app/node_modules/@fails-components/webtransport/lib/session.js:595:21) at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:52:21) at emit (node:events:98:22) at data (node:dgram:168:22) control stream closed Non serverCertificateHashes certificate verification is an experimental feature for webtransport node client and not covered by tests and thus may be broken (DO NOT USE IN PRODUCTION) https://relay.moqtail.dev/ no WebTransport after 200ms, attempting WebSocket fallback https://relay.moqtail.dev/ sending client setup ClientSetup { versions: [ 4279086338, 4279086337, 4278190094 ], parameters: Parameters { vars: Map(1) { 2n: 42069n, }, bytes: Map(1) { 7n: Uint8Array(11) [ 109, 111, 113, 45, 108, 105, 116, 101, 45, 106, 115 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ received server setup ServerSetup { version: 4278190094, parameters: Parameters { vars: Map(1) { 2n: 2305843009213693952n, }, bytes: Map(1) { 7n: Uint8Array(22) [ 109, 111, 113, 116, 97, 105, 108, 47, 48, 46, 49, 48, 46, 48, 43, 54, 51, 53, 55, 50, 102, 100 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ moq-ietf session established message write PublishNamespace { requestId: 0n, trackNamespace: "moq-test/interop", encode: [AsyncFunction: encode], } message read PublishNamespaceOk { requestId: 0n, encode: [AsyncFunction: encode], } Non serverCertificateHashes certificate verification is an experimental feature for webtransport node client and not covered by tests and thus may be broken (DO NOT USE IN PRODUCTION) https://relay.moqtail.dev/ no WebTransport after 200ms, attempting WebSocket fallback https://relay.moqtail.dev/ sending client setup ClientSetup { versions: [ 4279086338, 4279086337, 4278190094 ], parameters: Parameters { vars: Map(1) { 2n: 42069n, }, bytes: Map(1) { 7n: Uint8Array(11) [ 109, 111, 113, 45, 108, 105, 116, 101, 45, 106, 115 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ received server setup ServerSetup { version: 4278190094, parameters: Parameters { vars: Map(1) { 2n: 2305843009213693952n, }, bytes: Map(1) { 7n: Uint8Array(22) [ 109, 111, 113, 116, 97, 105, 108, 47, 48, 46, 49, 48, 46, 48, 43, 54, 51, 53, 55, 50, 102, 100 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ moq-ietf session established subscribe start: id=0 broadcast=moq-test/interop track=test-track message write Subscribe { requestId: 0n, trackNamespace: "moq-test/interop", trackName: "test-track", subscriberPriority: 0, encode: [AsyncFunction: encode], } message read Subscribe { requestId: 25n, trackNamespace: "moq-test/interop", trackName: "test-track", subscriberPriority: 0, encode: [AsyncFunction: encode], } message write SubscribeOk { requestId: 25n, trackAlias: 25n, encode: [AsyncFunction: encode], } publish ok: broadcast=moq-test/interop track=test-track message read SubscribeOk { requestId: 0n, trackAlias: 25n, encode: [AsyncFunction: encode], } subscribe ok: id=0 broadcast=moq-test/interop track=test-track message write PublishNamespaceDone { trackNamespace: "moq-test/interop", encode: [AsyncFunction: encode], } message read PublishDone { requestId: 0n, statusCode: 2, reasonPhrase: "Publisher disconnected", encode: [AsyncFunction: encode], } error processing control message 590 | this.incomDatagramController_ || this.incomDatagramControllerBytes_ 591 | ).close() 592 | // this.outgoDatagramController.error(errorcode) 593 | this.state = 'closed' 594 | 595 | const wtError = new WebTransportError( ^ WebTransportError: Session closed (on process 1) with code 0 and reason Symbol.toStringTag: "WebTransportError", at onClose (/app/node_modules/@fails-components/webtransport/lib/session.js:595:21) at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:52:21) at emit (node:events:98:22) at data (node:dgram:168:22) control stream closed error processing control message 590 | this.incomDatagramController_ || this.incomDatagramControllerBytes_ 591 | ).close() 592 | // this.outgoDatagramController.error(errorcode) 593 | this.state = 'closed' 594 | 595 | const wtError = new WebTransportError( ^ WebTransportError: Session closed (on process 1) with code 0 and reason Symbol.toStringTag: "WebTransportError", at onClose (/app/node_modules/@fails-components/webtransport/lib/session.js:595:21) at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:52:21) at emit (node:events:98:22) at data (node:dgram:168:22) control stream closed not ok 5 - announce-subscribe --- duration_ms: 3001 message: "timeout after 3000ms: announce-subscribe" ... Non serverCertificateHashes certificate verification is an experimental feature for webtransport node client and not covered by tests and thus may be broken (DO NOT USE IN PRODUCTION) https://relay.moqtail.dev/ no WebTransport after 200ms, attempting WebSocket fallback publish done: broadcast=moq-test/interop track=test-track message write PublishDone { requestId: 25n, statusCode: 200, reasonPhrase: "OK", encode: [AsyncFunction: encode], } publish error: broadcast=moq-test/interop track=test-track error=Session closed (on process 1) with code 0 and reason message write PublishDone { requestId: 25n, statusCode: 500, reasonPhrase: "Session closed (on process 1) with code 0 and reason ", encode: [AsyncFunction: encode], } unhandled rejection: 590 | this.incomDatagramController_ || this.incomDatagramControllerBytes_ 591 | ).close() 592 | // this.outgoDatagramController.error(errorcode) 593 | this.state = 'closed' 594 | 595 | const wtError = new WebTransportError( ^ WebTransportError: Session closed (on process 1) with code 0 and reason Symbol.toStringTag: "WebTransportError", at onClose (/app/node_modules/@fails-components/webtransport/lib/session.js:595:21) at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:52:21) at emit (node:events:98:22) at data (node:dgram:168:22) https://relay.moqtail.dev/ sending client setup ClientSetup { versions: [ 4279086338, 4279086337, 4278190094 ], parameters: Parameters { vars: Map(1) { 2n: 42069n, }, bytes: Map(1) { 7n: Uint8Array(11) [ 109, 111, 113, 45, 108, 105, 116, 101, 45, 106, 115 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ received server setup ServerSetup { version: 4278190094, parameters: Parameters { vars: Map(1) { 2n: 2305843009213693952n, }, bytes: Map(1) { 7n: Uint8Array(22) [ 109, 111, 113, 116, 97, 105, 108, 47, 48, 46, 49, 48, 46, 48, 43, 54, 51, 53, 55, 50, 102, 100 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ moq-ietf session established subscribe start: id=0 broadcast=moq-test/interop track=test-track message write Subscribe { requestId: 0n, trackNamespace: "moq-test/interop", trackName: "test-track", subscriberPriority: 0, encode: [AsyncFunction: encode], } message read SubscribeError { requestId: 0n, errorCode: 4, reasonPhrase: "Unknown track namespace", encode: [AsyncFunction: encode], } subscribe error: id=0 broadcast=moq-test/interop track=test-track error=SUBSCRIBE_ERROR: code=4 reason=Unknown track namespace Non serverCertificateHashes certificate verification is an experimental feature for webtransport node client and not covered by tests and thus may be broken (DO NOT USE IN PRODUCTION) https://relay.moqtail.dev/ no WebTransport after 200ms, attempting WebSocket fallback https://relay.moqtail.dev/ sending client setup ClientSetup { versions: [ 4279086338, 4279086337, 4278190094 ], parameters: Parameters { vars: Map(1) { 2n: 42069n, }, bytes: Map(1) { 7n: Uint8Array(11) [ 109, 111, 113, 45, 108, 105, 116, 101, 45, 106, 115 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ received server setup ServerSetup { version: 4278190094, parameters: Parameters { vars: Map(1) { 2n: 2305843009213693952n, }, bytes: Map(1) { 7n: Uint8Array(22) [ 109, 111, 113, 116, 97, 105, 108, 47, 48, 46, 49, 48, 46, 48, 43, 54, 51, 53, 55, 50, 102, 100 ], }, size: [Getter], setBytes: [Function: setBytes], setVarint: [Function: setVarint], getBytes: [Function: getBytes], getVarint: [Function: getVarint], removeBytes: [Function: removeBytes], removeVarint: [Function: removeVarint], encode: [AsyncFunction: encode], }, encode: [AsyncFunction: encode], } https://relay.moqtail.dev/ moq-ietf session established message write PublishNamespace { requestId: 0n, trackNamespace: "moq-test/interop", encode: [AsyncFunction: encode], } message write PublishNamespaceDone { trackNamespace: "moq-test/interop", encode: [AsyncFunction: encode], } error processing control message 590 | this.incomDatagramController_ || this.incomDatagramControllerBytes_ 591 | ).close() 592 | // this.outgoDatagramController.error(errorcode) 593 | this.state = 'closed' 594 | 595 | const wtError = new WebTransportError( ^ WebTransportError: Session closed (on process 1) with code 0 and reason Symbol.toStringTag: "WebTransportError", at onClose (/app/node_modules/@fails-components/webtransport/lib/session.js:595:21) at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:52:21) at emit (node:events:98:22) at data (node:dgram:168:22) control stream closed ok 6 - subscribe-before-announce --- duration_ms: 1634 ... error processing control message 590 | this.incomDatagramController_ || this.incomDatagramControllerBytes_ 591 | ).close() 592 | // this.outgoDatagramController.error(errorcode) 593 | this.state = 'closed' 594 | 595 | const wtError = new WebTransportError( ^ WebTransportError: Session closed (on process 1) with code 0 and reason Symbol.toStringTag: "WebTransportError", at onClose (/app/node_modules/@fails-components/webtransport/lib/session.js:595:21) at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:52:21) at emit (node:events:98:22) at data (node:dgram:168:22) control stream closed make[1]: *** [Makefile:91: test-external] Error 1 make[1]: Leaving directory '/home/runner/work/moq-interop-runner/moq-interop-runner/main'