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, 50, 52, 50, 52, 55, 99, 50 ], }, 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: 850 ... 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, 50, 52, 50, 52, 55, 99, 50 ], }, 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: 1308 ... 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, 50, 52, 50, 52, 55, 99, 50 ], }, 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: 1492 ... 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, 50, 52, 50, 52, 55, 99, 50 ], }, 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: 938 ... 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, 50, 52, 50, 52, 55, 99, 50 ], }, 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, 50, 52, 50, 52, 55, 99, 50 ], }, 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 SubscribeOk { requestId: 0n, trackAlias: 1n, encode: [AsyncFunction: encode], } subscribe ok: id=0 broadcast=moq-test/interop track=test-track not ok 5 - announce-subscribe --- duration_ms: 3001 message: "timeout after 3000ms: announce-subscribe" ... message write PublishNamespaceDone { trackNamespace: "moq-test/interop", 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 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 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, 50, 52, 50, 52, 55, 99, 50 ], }, 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, 50, 52, 50, 52, 55, 99, 50 ], }, 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 40 | type: result.family === 4 ? 'udp4' : 'udp6', 41 | ipv6Only: this.forceIpv6 42 | }) 43 | 44 | this.socketInt.on('error', (evt) => { 45 | this.jsobj.onClientError({ errorcode: 100, error: evt.toString() }) ^ TypeError: undefined is not an object (evaluating 'this.jsobj.onClientError') at (/app/node_modules/@fails-components/webtransport-transport-http3-quiche/lib/clientsocket.js:45:16) at emitError (node:events:43:23) at error (node:dgram:176:22) 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: 2097 ... make[1]: *** [Makefile:91: test-external] Error 1 make[1]: Leaving directory '/home/runner/work/moq-interop-runner/moq-interop-runner/main'