profile
viewpoint
Robert Nagy ronag @nxtedition Malmö Co-Founder @nxtedition Maintainer @CasparCG Collaborator @nodejs

CasparCG/media-scanner 15

A service used with CasparCG Server software for scanning media located on the server. Queried with query and thumbnail commands through CasparCG Server using AMCP.

castedo/safe-ptr 2

C++ std::shared_ptr wrapper that guarantees non-nullness

ronag/hls.js 1

JavaScript HLS client using Media Source Extension

ronag/Server 1

CasparCG Server is a Windows software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 production since 2006.

ronag/agentkeepalive 0

Support keepalive http agent.

ronag/async-iterator-pipe 0

Pipe between async iterators and streams

ronag/citgm 0

Canary in the Gold Mine

ronag/Client 0

CasparCG Client 2.0 is a Mac/Windows/Linux client software used to control graphics and video playout from the CasparCG Server software. Ready-to-use downloads are available at the official site.

ronag/deepstream.io 0

deepstream.io server

Pull request review commentnodejs/node

readline: add error handling for input stream

 const createReadableStreamAsyncIterator = (stream) => {         } else {           iterator[kLastResolve] = resolve;           iterator[kLastReject] = reject;+          // TODO(rexagod): catch readline silent rejects

Is this a problem with readline or async_iterator though? If async_iterator, can you make a minimal repo I could look at?

rexagod

comment created time in 10 hours

pull request commentnodejs/node

http: Change free sockets behavior to LIFO from FIFO.

There is a related issue to this that we might want to consider before landing this.

We have a problem with sockets in the freelist that timeout are not removed from the list. This change might make that worse, since the least recently used socket is less likely to be used and thus timeout, then when it is actually used the request using it would fail.

rustyconover

comment created time in 13 hours

Pull request review commentnodejs/node

readline: add error handling for input stream

 const createReadableStreamAsyncIterator = (stream) => {         } else {           iterator[kLastResolve] = resolve;           iterator[kLastReject] = reject;+          // TODO(rexagod): catch readline silent rejects

What's this?

rexagod

comment created time in a day

pull request commentnodejs/node

[v13.x backport] stream: support passing generator functions into pipeline()

Since this backport contains multiple commits I'm unsure where to add the Backport-PR-URL: meta. Should it be on every commit?

ronag

comment created time in a day

PR opened nodejs/node

[v13.x backport] stream: support passing generator functions into pipeline()

https://github.com/nodejs/node/pull/31223

Also includes some required follow up fixes.

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [ ] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] tests and/or benchmarks are included
  • [x] documentation is changed or added
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+672 -43

0 comment

5 changed files

pr created time in a day

create barnchnxtedition/node

branch : backport-pipeline-generator

created branch time in a day

PR closed nodejs/node

Reviewers
stream: ensure pipeline always destroys streams author ready stream

There was an edge case where an incorrect assumption was made in regards to whether eos/finished means that the stream is actually destroyed or not.

<!-- Thank you for your pull request. Please provide a description above and review the requirements below.

Bug fixes and new features should include tests and possibly benchmarks.

Contributors guide: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md -->

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] tests and/or benchmarks are included
  • [x] documentation is changed or added
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+19 -13

5 comments

2 changed files

ronag

pr closed time in a day

pull request commentnodejs/node

stream: ensure pipeline always destroys streams

Landed in b2be348fcce7

ronag

comment created time in a day

push eventnodejs/node

Robert Nagy

commit sha b2be348fcce7efd30f88b9fabbb2e9629b534e20

stream: ensure pipeline always destroys streams There was an edge case where an incorrect assumption was made in regardos whether eos/finished means that the stream is actually destroyed or not. PR-URL: https://github.com/nodejs/node/pull/31940 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

push time in a day

push eventnxtedition/deepstream.io-client-js

Robert Nagy

commit sha 088efbb14a8090574e2175acbb829682a497fb76

fix(listener): typo

view details

Robert Nagy

commit sha 969d6d4a66365d9285d12360e37ff19a8e13a193

v12.4.3

view details

Robert Nagy

commit sha b6c4979baeb0a29e18875ded953d664316921af8

fix(listener): handle null provider

view details

Robert Nagy

commit sha e7371099d47ba2637c00dc7b847919148f9d3dca

v12.4.4

view details

push time in a day

push eventnxtedition/deepstream.io-client-js

Robert Nagy

commit sha d02ecba43d6b4a09e04571e6965dea03a1f94852

fix(listener): don't reject if never accepted

view details

Robert Nagy

commit sha 2f6a38511b305a005a1d6dde56d3e7b8b360e689

v12.4.2

view details

push time in a day

push eventnxtedition/deepstream.io-client-js

Robert Nagy

commit sha 513201d3ab87602e6c31db8c5d025219181e5e28

v12.4.1

view details

push time in a day

push eventnxtedition/deepstream.io-client-js

Robert Nagy

commit sha 62751033a0ecbcaf43ef1b1efd35666b5293c03a

fix(listener): don't reject on dispose

view details

push time in a day

push eventnxtedition/deepstream.io-client-js

Robert Nagy

commit sha 2f0b3cf39f109f621ce544021b06fe65909ad090

v12.4.0

view details

push time in a day

push eventnxtedition/deepstream.io-client-js

Robert Nagy

commit sha 9b11fa659099ad9381dd13f6c9a4fea2ef0591af

fix(listener): cleanup and remove recursive logic in favor of unified logic

view details

push time in a day

issue commentnodejs/node

flaky: test-child-process-pipe-dataflow

I've got a Windows VM with that platform. If I get some time I might try to dig into this as well over the weekend. If so, I'll send you a mail and maybe we can do a collaborative effort.

refack

comment created time in a day

issue commentnodejs/node

flaky: test-child-process-pipe-dataflow

I've had weird behaviour from Pipe.onStreamRead (internal/stream_base_commons.js:186:23) in general on this platform.

refack

comment created time in a day

issue commentnodejs/node

flaky: test-child-process-pipe-dataflow

could this have any relation with #31317? @ronag @lpinca

I don't think so.

(I wrote the test, so I can explain it if need be)

Could you share the test? I can look into this.

refack

comment created time in a day

pull request commentnodejs/node

http: align with stream.Writable

@mscdex me and @lpinca discussed that here

ronag

comment created time in 2 days

PR closed nodejs/node

Reviewers
stream: fix sync callback leak process stream work in progress (WIP)

This PR currently is mostly a suggestion to discuss related to https://github.com/nodejs/node/pull/31756. It's not properly cleaned up and is mostly to illustrate the problem and possible solution.

Today when working with callbacks and events we need to keep in mind ordering and whether or not a callback is invoked synchronously or asynchronously.

The current pattern for this is something like:

Stream.write = function (chunk) {
  state.sync = true;
  this._write(chunk, this._onWriteComplete);
  state.sync = false;
}

Which mostly works fine. However, as in https://github.com/nodejs/node/pull/31756, if the callback is leaked outside it can still be invoked in the same tick breaking the assumption that when state.sync === false a tick has elapsed.

i.e.


const s = new Stream();
let cb;
s._write = (chunk, callback) => {
  cb = callback();
};
s.write('asd');
cb(); // uhoh! sync but the `Stream` thinks it's async.
s.on('someevent', common.mustCall()); // not called

This PR tries to resolve this by keeping track of which tick we are currently in and making sure that state.sync === false always is a different tick.

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] tests and/or benchmarks are included
  • [x] documentation is changed or added
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+59 -5

7 comments

4 changed files

ronag

pr closed time in 2 days

pull request commentnodejs/node

stream: fix sync callback leak

I think the consensus was to document the limitation since this cannot be easily ported to readable-stream. Closing.

ronag

comment created time in 2 days

pull request commentnodejs/node

http: align with stream.Writable

@nodejs/http and @nodejs/web-server-frameworks PTAL

ronag

comment created time in 2 days

push eventnxtedition/node

Robert Nagy

commit sha a2255f5d811a212733d326c19afba3cad2cb8cb9

fixup: test

view details

push time in 2 days

Pull request review commentnodejs/node

http: align with stream.Writable

 assert.throws(() => {   outgoingMessage.write(''); } -assert(OutgoingMessage.prototype.write.call({ _header: 'test' }));

Notice, this will now throw ERR_INVALID_ARG_TYPE undefined.

ronag

comment created time in 2 days

push eventnxtedition/node

Robert Nagy

commit sha eacfe433671bf0f751888d80b5cfe9a3e15af417

fixup: test

view details

push time in 2 days

push eventnxtedition/node

Robert Nagy

commit sha 568fdfb1658bfcaa7832759e03661f2cb958c155

fs: fix WriteStream autoClose order WriteStream autoClose was implemented by manually calling .destroy() instead of using autoDestroy and callback. This caused some invariants related to order of events to be broken. Fixes: https://github.com/nodejs/node/issues/31776 PR-URL: https://github.com/nodejs/node/pull/31790 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Samuel Attard

commit sha 093639614fa1cea7a1bc3493d28119a924c97bc9

doc: claim ABI version 82 for Electron 10 PR-URL: https://github.com/nodejs/node/pull/31778 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Anna Henningsen

commit sha 26e49d83323c78e89b2664b6eeaee90757d52868

worker: unroll file extension regexp Refs: https://github.com/nodejs/node/pull/31662#discussion_r377016190 PR-URL: https://github.com/nodejs/node/pull/31779 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Jeff

commit sha e028ea0291b845e4bec3c7cff7319a027b8c815e

doc: fix typos in doc/api/https.md PR-URL: https://github.com/nodejs/node/pull/31793 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>

view details

Jeremiah Senkpiel

commit sha 4d6c861800cc6ac1dc6a0fd9d3a8b0053baec62a

doc: move @Fishrock123 to a previous releaser I have not done a release in well over a year, maybe even two. I also don't really plan to do more, as Node.js releases are very tedious. PR-URL: https://github.com/nodejs/node/pull/31725 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Jeremiah Senkpiel

commit sha 928c210a611fb6b4575843708e7cb921f311ebde

doc: move @Fishrock123 to TSC Emeriti It was a good run. Almost 5 years. I haven't really been involved in the last 3+? months though, so it's time I call it and 'retire'. I think it is unlikely that I'll be on the TSC again, as node is unfortunately becoming increasingly disinteresting (& frustrating) to me. (So long and thanks for all the fish!) PR-URL: https://github.com/nodejs/node/pull/31725 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Jeremiah Senkpiel

commit sha 30e6049c75590dec8d5edbf033edbc20e79efcb7

doc: pronouns for @Fishrock123 might as well while I'm at it feels a bit weird being the first person on this list with '/they' but I guess someone's gota do it PR-URL: https://github.com/nodejs/node/pull/31725 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Gireesh Punathil

commit sha 4c746a6cfda980c1cd0de6246781c0083d9e416c

doc: move gireeshpunathil to TSC emeritus PR-URL: https://github.com/nodejs/node/pull/31770 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

James M Snell

commit sha 5bef2ccf20cceda7975f8bce860e0f60595482fc

test: add known issue test for sync writable callback If the write callbacks are invoked synchronously with an error, onwriteError would cause the error event to be emitted synchronously, making it impossible to attach an error handler after the call that triggered it. PR-URL: https://github.com/nodejs/node/pull/31756 Refs: https://github.com/nodejs/quic/commit/b0d469c69c49c9186c1a581a7cebce4c5d398947 Refs: https://github.com/nodejs/quic/pull/341 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha 85c6fcd1cd11ec6ee22891e48a67cc97f60880e8

stream: avoid writing to writable A remainder from a previous refactoring. Refs: https://github.com/nodejs/node/pull/31197 PR-URL: https://github.com/nodejs/node/pull/31805 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>

view details

Rich Trott

commit sha 99428e0858bb3cce820190770ca8217460d95c80

doc: reword possessive form of Node.js in debugger.md Throughout the docs, we sometimes write the possessive of _Node.js_ as _Node.js'_ and other times as _Node.js's_. The former conforms with some generally accepted style guides (e.g., Associated Press Stylebook) while the latter complies with others (e.g., Chicago Manual of Style). Since there is no clear authoritative answer as to which form is correct, and since (at least to me) both are visually jarring and sometimes cause a pause to understand, I'd like to reword things to eliminate the possessive form where possible. This is one of those examples. PR-URL: https://github.com/nodejs/node/pull/31748 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Rich Trott

commit sha d40c648e884bd64028fa0a67122a0af87c60f467

doc: reword possessive form of Node.js in process.md Throughout the docs, we sometimes write the possessive of _Node.js_ as _Node.js'_ and other times as _Node.js's_. The former conforms with some generally accepted style guides (e.g., Associated Press Stylebook) while the latter complies with others (e.g., Chicago Manual of Style). Since there is no clear authoritative answer as to which form is correct, and since (at least to me) both are visually jarring and sometimes cause a pause to understand, I'd like to reword things to eliminate the possessive form where possible. This is one of those examples. PR-URL: https://github.com/nodejs/node/pull/31748 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Rich Trott

commit sha d25fcb0c201286d18c07653347258ce02951ddf8

doc: reword possessive form of Node.js in http.md Throughout the docs, we sometimes write the possessive of _Node.js_ as _Node.js'_ and other times as _Node.js's_. The former conforms with some generally accepted style guides (e.g., Associated Press Stylebook) while the latter complies with others (e.g., Chicago Manual of Style). Since there is no clear authoritative answer as to which form is correct, and since (at least to me) both are visually jarring and sometimes cause a pause to understand, I'd like to reword things to eliminate the possessive form where possible. This is one of those examples. PR-URL: https://github.com/nodejs/node/pull/31748 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Rich Trott

commit sha eb0ade10a7af855ecdaa822dea028d661664cd43

doc: reword possessive form of Node.js in adding-new-napi-api.md Throughout the docs, we sometimes write the possessive of _Node.js_ as _Node.js'_ and other times as _Node.js's_. The former conforms with some generally accepted style guides (e.g., Associated Press Stylebook) while the latter complies with others (e.g., Chicago Manual of Style). Since there is no clear authoritative answer as to which form is correct, and since (at least to me) both are visually jarring and sometimes cause a pause to understand, I'd like to reword things to eliminate the possessive form where possible. This is one of those examples. PR-URL: https://github.com/nodejs/node/pull/31748 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Anna Henningsen

commit sha fab3eff2e53eb9bfbb890e5ac45523ae68ae95e5

src: inform callback scopes about exceptions in HTTP parser Refs: https://github.com/nodejs/node/commit/4aca277f16b8649b5fc21d41f340fad0a47c2e61 Refs: https://github.com/nodejs/node/pull/30236 Fixes: https://github.com/nodejs/node/issues/31796 PR-URL: https://github.com/nodejs/node/pull/31801 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com>

view details

Rich Trott

commit sha 794bfacb26c4059c2eab7efb475489b7010054c3

test: remove common.PORT from test-net-timeout Switch test-net-timeout from common.PORT to a port assigned by the operating system. PR-URL: https://github.com/nodejs/node/pull/31749 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Rich Trott

commit sha 76fd17a7dff6b89b8851044b17125a88a3043b4e

test: remove common.PORT from test-net-throttle Switch test-net-throttle from common.PORT to a port assigned by the operating system. PR-URL: https://github.com/nodejs/node/pull/31749 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Rich Trott

commit sha a092886b1d29d17c94683348430e062cf7ae2fc9

test: remove common.PORT from test-tls-server-large-request Switch test-tls-server-large-request from common.PORT to a port assigned by the operating system. PR-URL: https://github.com/nodejs/node/pull/31749 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Rich Trott

commit sha af19f4116c5c3ce0fc7b18b62ffb05e8138bf74b

test: remove common.PORT from test-net-pause Switch test-net-pause from common.PORT to a port assigned by the operating system. PR-URL: https://github.com/nodejs/node/pull/31749 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Guy Bedford

commit sha 58de9b46b80fd3e48f5faf9db8101930a6493fc4

module: package "exports" error refinements PR-URL: https://github.com/nodejs/node/pull/31625 Reviewed-By: Jan Krems <jan.krems@gmail.com>

view details

push time in 2 days

PR closed nodejs/node

Reviewers
stream: throw invalid argument errors author ready semver-major stream

Logic errors that do not depend on stream state should throw instead of invoke callback and emit error.

Refs: https://github.com/nodejs/node/pull/31818

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] tests and/or benchmarks are included
  • [x] documentation is changed or added
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+92 -88

14 comments

10 changed files

ronag

pr closed time in 2 days

pull request commentnodejs/node

stream: throw invalid argument errors

Landed in 1f209129c7e6

ronag

comment created time in 2 days

push eventnodejs/node

Robert Nagy

commit sha 1f209129c7e6c3ec6628809821fc9a36deae7ec8

stream: throw invalid argument errors Logic errors that do not depend on stream state should throw instead of invoke callback and emit error. PR-URL: https://github.com/nodejs/node/pull/31831 Refs: https://github.com/nodejs/node/pull/31818 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

push time in 2 days

pull request commentnodejs/node

stream: ensure pipeline always destroys streams

If this is a backport it should target the relative branch (v13-staging in this case). Moreover I would expect to see a rather different change compared to what is on master.

This is not a backport. It fixes a problem on master. However, it should be backported and is required for a backport to v13. Since in master we changed autoDestroy to true which is not (and will not be) included in v13.

ronag

comment created time in 3 days

pull request commentnodejs/node

stream: ensure pipeline always destroys streams

This is blocking backport of https://github.com/nodejs/node/pull/31223 to node V13 which does not have autoDestroy enabled by default, thus some tests fail.

ronag

comment created time in 3 days

push eventnxtedition/node

Robert Nagy

commit sha 5a55b1df97a1f93c5fb81bf758050d81524ae834

stream: ensure pipeline always destroys streams There was an edge case where an incorrect assumption was made in regardos whether eos/finished means that the stream is actually destroyed or not.

view details

push time in 3 days

PR opened nodejs/node

Reviewers
stream: ensure pipeline always destroys streams stream

There was an edge case where an incorrect assumption was made in regardos whether eos/finished means that the stream is actually destroyed or not.

<!-- Thank you for your pull request. Please provide a description above and review the requirements below.

Bug fixes and new features should include tests and possibly benchmarks.

Contributors guide: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md -->

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] tests and/or benchmarks are included
  • [x] documentation is changed or added
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+23 -15

0 comment

2 changed files

pr created time in 3 days

create barnchnxtedition/node

branch : stream-pipeline-always-destroy

created branch time in 3 days

push eventnxtedition/node

Rich Trott

commit sha 93c4c1a273736027439d087b0a52aa33df6a2b13

doc: consolidate introductory text PR-URL: https://github.com/nodejs/node/pull/31667 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>

view details

Brian White

commit sha b862a0c6d69bac6e7deaf7c53802a5d3bc05099e

benchmark: check for and fix multiple end() PR-URL: https://github.com/nodejs/node/pull/31624 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Brian White

commit sha 43783b5b3fa0a0d477ae34aeb0405956fb534dc4

stream: improve writable.write() performance PR-URL: https://github.com/nodejs/node/pull/31624 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

Brian White

commit sha 74291e4a7ba6185c1b78a110538ed3db3bc6b244

buffer: improve from() performance PR-URL: https://github.com/nodejs/node/pull/31615 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>

view details

Ruben Bridgewater

commit sha b70741ea438b4df01cca416949a22e9350b58258

benchmark: refactor helper into a class This is the basis to refactor the helper to use modern class language features such as private fields. It also refactors the exports to use module.exports. That way it's immediately clear what parts are exported. PR-URL: https://github.com/nodejs/node/pull/31396 Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha dac579516ca662e731ac502c15e75009a2b9a8c9

benchmark: add `test` and `all` options and improve errors This adds a new `test` option. Using it automatically uses a single minimal option matrix to verify the benchmark works as expected. Using the new `all` option makes sure all test suites are run. On top of that the benchmarks will from now on report properly what category might have a typo, if any. The http duration was also refactored to use a option instead of relying on a configuration setting. The fixture folder is ignored as test suite from now on. PR-URL: https://github.com/nodejs/node/pull/31396 Fixes: https://github.com/nodejs/node/issues/31083 Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha 78aa348f4e0c504cf949aea73a8e1bdcedc7f8b0

test: refactor all benchmark tests to use the new test option PR-URL: https://github.com/nodejs/node/pull/31396 Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha 357230f4b7174380467edfb0a65a00b65b0af66c

benchmark: remove special test entries It was necessary to have fallbacks to run the original tests. This is obsolete with the new test mode. PR-URL: https://github.com/nodejs/node/pull/31396 Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Ruben Bridgewater

commit sha 1450ea7bf608a54640863e5ba23c6f0ce430e14f

test: improve logged errors To indicate which lines are test lines and which from Node.js core, it's good to rely on `util.inspect()` while inspecting errors. The stack was accessed directly instead in multiple cases and logging that does not provide as much information as using `util.inspect()`. PR-URL: https://github.com/nodejs/node/pull/31425 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yihong Wang <yh.wang@ibm.com>

view details

Ruben Bridgewater

commit sha 36f328e21fe19f9767e1bc04481bdd921ab49615

assert: align character indicators properly This makes sure color codes are not taken into account in case util.inspect's default value was changed. PR-URL: https://github.com/nodejs/node/pull/31429 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>

view details

Ruben Bridgewater

commit sha 0f6fed4f070391563c40a6c88d25deb734785274

test: stricter assert color test Make sure the assertion is actually triggered by using `assert.throws()` instead of `try/catch`. PR-URL: https://github.com/nodejs/node/pull/31429 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>

view details

Ruben Bridgewater

commit sha 63f10b9f0da0539b499a076f2951526ecae8260a

tty: do not end in an infinite warning recursion It was possible that this warning ends up in an infinite recursion. The reason is that printing the warning triggered a color check and that triggered another warning. Limiting it to a single warning prevents this. PR-URL: https://github.com/nodejs/node/pull/31429 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>

view details

cjihrig

commit sha efec6811b667b6cf362d648bc599b667eebffce0

readline: remove intermediate variable This commit removes an extrea intermediate variable. This makes the call consistent with other uses of validateUint32() in the codebase. PR-URL: https://github.com/nodejs/node/pull/31676 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

cjihrig

commit sha cd0f5a239e5c0d1f6fd374741173d62d2df64340

doc: update pr-url for DEP0016 EOL Refs: https://github.com/nodejs/node/pull/31167 PR-URL: https://github.com/nodejs/node/pull/31675 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

cjihrig

commit sha 17e3f3be763cb440bb315911f3e926044ddb128c

doc: update pr-url for DEP0022 EOL Refs: https://github.com/nodejs/node/pull/31169 PR-URL: https://github.com/nodejs/node/pull/31675 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

cjihrig

commit sha a2d6f98e1a4b43bdd57fdfa253e3a13c6dcbe09c

doc: fix typo Refs: https://github.com/nodejs/node/pull/31169 PR-URL: https://github.com/nodejs/node/pull/31675 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

cjihrig

commit sha 009a9c475b70d2c35a176ba20514034238024d53

doc,src,test: assign missing deprecation code PR-URL: https://github.com/nodejs/node/pull/31674 Refs: https://github.com/nodejs/node/pull/28396 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Rich Trott

commit sha 743c28104f3db504963409e8e91700e430131221

test,dns: add coverage for dns exception Add test coverage for dns.promises.resolve() handling an exception from c-ares. Refs: https://coverage.nodejs.org/coverage-d213f21c72f77da6/lib/internal/dns/promises.js.html#L198 PR-URL: https://github.com/nodejs/node/pull/31678 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Anna Henningsen

commit sha 0649225be47647b63a029ba3b64eadc517b06d05

test: fix flaky test-trace-sigint-on-idle Previously, the test could fail on slow machines because the child process was still in the process of starting up after one second, and not yet idle. To resolve this: - Wait for a message from the child process indicating that it had started. - Wait some time after that, but make it platform-dependent to account for timing differences. - Remove the timer in the child process. PR-URL: https://github.com/nodejs/node/pull/31645 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com>

view details

Rich Trott

commit sha 6f14db4cbf4e34d8e6ddb8c8eb0cbd1d458dd21d

doc,net: reword Unix domain path paragraph in net.md Reword the paragraph on Unix domain paths. Hopefully, it is a little bit more clear and easier to read now. PR-URL: https://github.com/nodejs/node/pull/31684 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

push time in 3 days

pull request commentnodejs/node

stream: fix finished w/ 'close' before 'end'

rebased to fix conflicts

ronag

comment created time in 3 days

PR closed nodejs/node

Reviewers
stream: fix broken pipeline error propagation author ready stream

If the destination was an async function any error thrown from that function would be swallowed.

EDITED

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] tests and/or benchmarks are included
  • [x] documentation is changed or added
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+34 -13

6 comments

3 changed files

ronag

pr closed time in 3 days

pull request commentnodejs/node

stream: fix broken pipeline error propagation

Landed in db28739aed31b2ad6e85c497e3a836a29d13021c

ronag

comment created time in 3 days

push eventnodejs/node

Robert Nagy

commit sha db28739aed31b2ad6e85c497e3a836a29d13021c

stream: fix broken pipeline error propagation If the destination was an async function any error thrown from that function would be swallowed. PR-URL: https://github.com/nodejs/node/pull/31835 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com>

view details

push time in 3 days

pull request commentnodejs/node

stream: throw invalid argument errors

I think this can land given that the CITGM failures seems unrelated. @Trott I'd appreciate a second opinion before landing.

ronag

comment created time in 4 days

pull request commentnodejs/node

stream: throw invalid argument errors

CITGM (master) for comparison: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2281/

ronag

comment created time in 4 days

pull request commentnodejs/node

module: Refine and unify exports resolution error handling

This makes CITGM fail on :

citgm.eslint-plugin-jest-v23.8.0 citgm.resolve-v1.15.1

guybedford

comment created time in 4 days

issue commentnodejs/citgm

Failures on all platforms?

Seems to be caused by https://github.com/nodejs/node/pull/31625

ronag

comment created time in 4 days

pull request commentnodejs/node

stream: throw invalid argument errors

CITGM failures does not seem related to this PR.

ronag

comment created time in 4 days

issue openednodejs/citgm

Failures on all platforms?

citgm.eslint-plugin-jest-v23.8.0 citgm.resolve-v1.15.1

Seems to have started to fail on all platforms.

https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2279/ https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2280/ https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2278

master run:

https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2281/ (running)

created time in 4 days

pull request commentnodejs/node

stream: throw invalid argument errors

CITGM https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2280/

ronag

comment created time in 4 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 function onexit() {         id: 'tcpconnect:1', triggerAsyncId: 'tcp:1' },       { type: 'TCPWRAP', id: 'tcp:2', triggerAsyncId: 'tcpserver:1' },       { type: 'TLSWRAP', id: 'tls:2', triggerAsyncId: 'tcpserver:1' },-      { type: 'Immediate', id: 'immediate:1', triggerAsyncId: 'tcp:2' },-      { type: 'Immediate', id: 'immediate:2', triggerAsyncId: 'tcp:1' },+      // TODO(ronag): Order is opposite on UNIX vs Windows.+      // { type: 'Immediate', id: 'immediate:1', triggerAsyncId: 'tcp:2' },+      // { type: 'Immediate', id: 'immediate:2', triggerAsyncId: 'tcp:1' },

Seems related to the other onStreamRead behavior mismatch. Basically on the previously mentioned platforms the onStreamRead callback ending the readable client side of the stream is called before the handle.close() callback on the server side.

ronag

comment created time in 5 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 function onexit() {         id: 'tcpconnect:1', triggerAsyncId: 'tcp:1' },       { type: 'TCPWRAP', id: 'tcp:2', triggerAsyncId: 'tcpserver:1' },       { type: 'TLSWRAP', id: 'tls:2', triggerAsyncId: 'tcpserver:1' },-      { type: 'Immediate', id: 'immediate:1', triggerAsyncId: 'tcp:2' },-      { type: 'Immediate', id: 'immediate:2', triggerAsyncId: 'tcp:1' },+      // TODO(ronag): Order is opposite on UNIX vs Windows.+      // { type: 'Immediate', id: 'immediate:1', triggerAsyncId: 'tcp:2' },+      // { type: 'Immediate', id: 'immediate:2', triggerAsyncId: 'tcp:1' },

This boils down to the order of the 'close' event on the server vs client socket instance.

ronag

comment created time in 5 days

Pull request review commentnodejs/node

test: fix flaky test-gc-net-timeout

 function serverHandler(sock) {   sock.on('close', function() {     clearTimeout(timer);   });+  sock.on('end', function() {

'end' will cause the writable side to be end():d.

ronag

comment created time in 5 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 function serverHandler(sock) {   sock.on('close', function() {     clearTimeout(timer);   });+  sock.on('end', function() {+    clearTimeout(timer);+  });

Created a separate PR for this as well, https://github.com/nodejs/node/pull/31918

ronag

comment created time in 5 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 function onStreamRead(arrayBuffer) {     if (stream[kMaybeDestroy])       stream.on('end', stream[kMaybeDestroy]); +    // TODO(ronag): Without this `readStop`, `onStreamRead`+    // will be called once more (i.e. after Readable.ended)+    // on Windows causing a ECONNRESET, failing the+    // test-https-truncate test.+    if (handle.readStop) {+      const err = handle.readStop();+      if (err)+        return stream.destroy(errnoException(err, 'read'));+    }

This behavior occurs only with:

  • win10-COMPILED_BY-vs2019
  • win2012r2-COMPILED_BY-vs2019-x86
ronag

comment created time in 5 days

issue closednodejs/build

Access to VM?

I am struggling with resolving a bug specific to a specific build on CI. In particular this PR fails on two specific platforms and currently I have no viable way of debugging this.

Is it possible to get access to a VM or a VM image of the failing environments that I can use to quickly change, build end debug?

Alternatively some other way that this can be more easily debugged? Currently I'm left with guessing fixes and pushing to the repo in order to restart the specific CI job and hoping it passes.

For Linux it's possible to get around this using Docker. However, Windows has no such option that I am aware of and is usually more complicated to setup for someone not familiar with the platform. I'm a MacOS user.

closed time in 5 days

ronag

issue commentnodejs/build

Access to VM?

Thanks!

ronag

comment created time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha 40c0b13c90ad5d394e137851a6ecd0f49becd376

fixup: nits

view details

push time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha f4a12450c77d81d1fdcfebc3b93e3c22afc20351

Update test/parallel/test-stream-pipeline-uncaught.js Co-Authored-By: Denys Otrishko <shishugi@gmail.com>

view details

push time in 5 days

PR opened nodejs/node

Reviewers
test: fix flaky test-gc-net-timeout CI / flaky test net

If the timeout is called in the time between 'end' and 'close' that would cause a EPIPE error. Essentially making the test flaky.

<!-- Thank you for your pull request. Please provide a description above and review the requirements below.

Bug fixes and new features should include tests and possibly benchmarks.

Contributors guide: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md -->

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] tests and/or benchmarks are included
  • [x] documentation is changed or added
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+3 -0

0 comment

1 changed file

pr created time in 5 days

create barnchnxtedition/node

branch : test-flaky-gc-net-timeout

created branch time in 5 days

Pull request review commentnodejs/node

stream: fix broken pipeline error propagation

 function pipeline(...streams) {         const pt = new PassThrough();         if (isPromise(ret)) {           ret+            .catch((err) => {+              pt.destroy(err);+            })             .then((val) => {+              value = val;               pt.end(val);

@lundibundi: Thank's a lot! I understand the confusion. Resolved according to your suggestion.

ronag

comment created time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha 86f40d3942473a41c1e4e5409b19d3f6276d0d8e

fixup: don't call end if destroyed

view details

push time in 5 days

pull request commentnodejs/node

net: autoDestroy Socket

CI finally passes! 🎉 Thanks @joaocgreis for the Windows VM.

There are some TODOs in the code that might or might not need to be resolved before landing this. I think it might be ok to land without resolving them but I would like if the reviewers could take a look.

@nodejs/streams @addaleax @jasnell PTAL

ronag

comment created time in 5 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 function onexit() {         id: 'tcpconnect:1', triggerAsyncId: 'tcp:1' },       { type: 'TCPWRAP', id: 'tcp:2', triggerAsyncId: 'tcpserver:1' },       { type: 'TLSWRAP', id: 'tls:2', triggerAsyncId: 'tcpserver:1' },-      { type: 'Immediate', id: 'immediate:1', triggerAsyncId: 'tcp:2' },-      { type: 'Immediate', id: 'immediate:2', triggerAsyncId: 'tcp:1' },+      // TODO(ronag): Order is opposite on UNIX vs Windows.+      // { type: 'Immediate', id: 'immediate:1', triggerAsyncId: 'tcp:2' },+      // { type: 'Immediate', id: 'immediate:2', triggerAsyncId: 'tcp:1' },

Not sure if this is significant.

ronag

comment created time in 5 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 function onStreamRead(arrayBuffer) {     if (stream[kMaybeDestroy])       stream.on('end', stream[kMaybeDestroy]); +    // TODO(ronag): Without this `readStop`, `onStreamRead`+    // will be called once more (i.e. after Readable.ended)+    // on Windows causing a ECONNRESET, failing the+    // test-https-truncate test.+    if (handle.readStop) {+      const err = handle.readStop();+      if (err)+        return stream.destroy(errnoException(err, 'read'));+    }

@addaleax: Any idea of what's going on here?

ronag

comment created time in 5 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 ObjectDefineProperties(Writable.prototype, {       const w = this._writableState;       if (!w) return false;       if (w.writable !== undefined) return w.writable && !w.ended;-      return Boolean(!w.destroyed && !w.errored && !w.ending);+      return Boolean(!w.destroyed && !w.errored && !w.ending && !w.ended);

There is a "weird" test that sets ended explicitly. Very unlikely to have any effect in real code.

ronag

comment created time in 5 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 const net = require('net');           assert.strictEqual(client.bufferSize, i + 1);         } -        // It seems that tlsSockets created from sockets of `Duplex` emit no-        // "finish" events. We use "end" event instead.-        client.on('end', common.mustCall(() => {+        client.on('close', common.mustCall(() => {

Same as https://github.com/nodejs/node/pull/31806/files#r381107810

ronag

comment created time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha 4be75610f3e9275b2f3eb9199851c425ce44350a

fixup: reduce num changes

view details

push time in 5 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 function serverHandler(sock) {   sock.on('close', function() {     clearTimeout(timer);   });+  sock.on('end', function() {+    clearTimeout(timer);+  });

If the timeout is called in the time between 'end' and 'close' that would cause a EPIPE error.

ronag

comment created time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha f11906991562995737fc0b27cf26ced418d09397

fixup: test TODO

view details

push time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha 142ae236ad9e17dbdb1575fa2f68a3486b2a1cc1

fixup: test TODO

view details

push time in 5 days

Pull request review commentnodejs/node

stream: fix broken pipeline error propagation

 function pipeline(...streams) {         const pt = new PassThrough();         if (isPromise(ret)) {           ret+            .catch((err) => {+              pt.destroy(err);+            })             .then((val) => {+              value = val;               pt.end(val);

@benjamingr: Since you approved the PR I assume this is not blocking for you?

ronag

comment created time in 5 days

Pull request review commentnodejs/node

net: autoDestroy Socket

 function onStreamRead(arrayBuffer) {     if (stream[kMaybeDestroy])       stream.on('end', stream[kMaybeDestroy]); +    // TODO(ronag): Without this `readStop`, `onStreamRead`+    // will be called once more (i.e. after Readable.ended)+    // on Windows causing a ECONNRESET, failing the+    // test-https-truncate test.+    const err = handle.readStop();+    if (err)+      return stream.destroy(errnoException(err, 'read'));

@addaleax Maybe you have an idea what's going on here?

ronag

comment created time in 5 days

issue commentnodejs/node

net: aborted socket incorrectly ends gracefully

Given this CI run it probably at least also happens on ARM (https://ci.nodejs.org/job/node-test-pull-request/29275/)

ronag

comment created time in 5 days

issue openednodejs/node

malloc(): smallbin double linked list corrupted: 0x03a86768

This CI run from this PR seems to hit some native land bug/corruption. Might be js land misuse but I think in such a case that should maybe cause an exception and not a corruption?

*** Error in `out/Release/node': malloc(): smallbin double linked list corrupted: 0x03a86768 ***

See the test.addons/openssl-binding/test test:

  • https://ci.nodejs.org/job/node-test-binary-arm-12+/4486/RUN_SUBSET=addons,label=pi3-docker/testReport/junit/(root)/test/addons_openssl_binding_test_/
  • https://ci.nodejs.org/job/node-test-binary-arm-12+/4486/RUN_SUBSET=addons,label=pi2-docker/testReport/junit/(root)/test/addons_openssl_binding_test_/

created time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha fdb50425f5ee84b0dbbc287ee6ae0a918215ada7

fixup: test TODO

view details

push time in 5 days

issue commentnodejs/node

net: aborted socket incorrectly ends gracefully

The test-gc-net-timeout probably suffers from this but it's not noticeable since it doesn't use common.mustCall/common.mustNotCall.

ronag

comment created time in 5 days

pull request commentnodejs/node

net: autoDestroy Socket

CI mostly passes, ARM fails. Blocked by https://github.com/nodejs/node/issues/31916

ronag

comment created time in 5 days

issue commentnodejs/node

net: aborted socket incorrectly ends gracefully

@addaleax

ronag

comment created time in 5 days

issue openednodejs/node

net: aborted socket incorrectly ends gracefully

The following test will fail since the client socket will emit 'end' and no ECONNRESET, even though the server called destroy() instead of end().

'use strict';
const common = require('../common');
const net = require('net');
const assert = require('assert');

const server = net.createServer((socket) => {
  socket.resume();
  socket.on('close', common.mustCall(() => {
    server.close();
  }));
  socket.on('end', common.mustNotCall());
  socket.on('error', common.mustCall((err) => {
    assert.strictEqual(err.code, 'ECONNRESET');
  }));
});
server.listen(0, () => {
  const req = net.connect(server.address().port);
  req.resume();
  req.setTimeout(10, function() {
    req.destroy();
  });
});

created time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha afbf8a6e9b4387763b9a187ad4066c9efdc7b99d

net: autoDestroy Socket Refactors net.Socket into using autoDestroy functionality of streams.

view details

push time in 5 days

pull request commentnodejs/node

net: autoDestroy Socket

Windows CI: https://ci.nodejs.org/job/node-test-commit-windows-fanned/34129/

ronag

comment created time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha 178b6bc653598902abeb82d6c8ba00e1b3633ae1

net: autoDestroy Socket Refactors net.Socket into using autoDestroy functionality of streams.

view details

push time in 5 days

push eventnxtedition/node

Robert Nagy

commit sha 48be8a6783a8ff395d262ca6f367867cecc8935f

net: autoDestroy Socket Refactors net.Socket into using autoDestroy functionality of streams.

view details

push time in 5 days

push eventnxtedition/node

push time in 5 days

issue commentpouchdb/pouchdb

http: changes memory leak

The problem is we are using pouchdb-http which is no longer maintained.... that's going to be a problem going forwards...

ronag

comment created time in 6 days

issue commentpouchdb/pouchdb

http: changes memory leak

db
              .changes({
                since: seq || 'now',
                live: true
              })
              .on('change', change => o.next(change))
              .on('error', err => o.error(err))

ronag

comment created time in 6 days

issue openedpouchdb/pouchdb

http: changes memory leak

When running i live changes feed using the http adaptor there seem to be a memory leak here, https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-http/src/index.js#L1009

Looks like the http adapter will default to return_docs: true even when running in "live" mode which means that it will eventually run out of memory.

created time in 6 days

PR closed nodejs/node

stream: fix finished typo author ready stream

https://github.com/nodejs/node/pull/31509 introduced a slight typo. Fortunately this typo does not have big impact due to isWritableFinished().

Fixes: https://github.com/nodejs/node/pull/31509#discussion_r381809355

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [x] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [x] tests and/or benchmarks are included
  • [x] documentation is changed or added
  • [x] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+12 -2

2 comments

2 changed files

ronag

pr closed time in 6 days

pull request commentnodejs/node

stream: fix finished typo

Landed in 21bd6679ce15

ronag

comment created time in 6 days

push eventnodejs/node

Robert Nagy

commit sha 21bd6679ce150e193cacd4b1b6585928224f255a

stream: fix finished typo https://github.com/nodejs/node/pull/31509 introduced a slight typo. Fortunately this typo does not have big impact due to `isWritableFinished()`. Fixes: https://github.com/nodejs/node/pull/31509#discussion_r381809355 PR-URL: https://github.com/nodejs/node/pull/31881 Fixes: https://github.com/nodejs/node/issues/31509 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>

view details

push time in 6 days

Pull request review commentnodejs/node

stream: fix broken pipeline error propagation

 function pipeline(...streams) {         const pt = new PassThrough();         if (isPromise(ret)) {           ret+            .catch((err) => {+              pt.destroy(err);+            })             .then((val) => {+              value = val;               pt.end(val);

In what way?

ronag

comment created time in 6 days

push eventnxtedition/node

Robert Nagy

commit sha f07a2d1b95b171012ba699cc423c5d7101a452ab

stream: fix broken pipeline error propagation If the destination was an async function any error thrown from that function would be swallowed.

view details

push time in 6 days

push eventnxtedition/node

Robert Nagy

commit sha d3df498e71cebed3542d5443964384e174644f4e

fixup: more test

view details

push time in 6 days

push eventnxtedition/node

Robert Nagy

commit sha ce8e95d833e80bc6fc61ff4fae5db71c23e393ed

fixup: more test

view details

push time in 6 days

push eventnxtedition/node

Robert Nagy

commit sha 834e99b72871c989ffa2ffeed8ee0c54a1a1ff8f

fixup: more test

view details

push time in 6 days

push eventnxtedition/node

Robert Nagy

commit sha 7d8cfdd5392bab038f91f55420e2ddd7e9a2fdbf

fixup: more test

view details

push time in 6 days

push eventnxtedition/node

Robert Nagy

commit sha d0860a66b07094ec1586cc39676bfdbf8bed5215

fixup: always finish through stream

view details

push time in 6 days

pull request commentnodejs/node

stream: fix broken pipeline tests

Confusion resolved. There was a .catch(...) after .then(...) which was swallowing errors.

@nodejs/streams PTAL

ronag

comment created time in 6 days

push eventnxtedition/node

Robert Nagy

commit sha 22b2dd6047777c9533fa15b56495bd7b96e84498

fixup: always finish through stream

view details

push time in 6 days

push eventnxtedition/node

James M Snell

commit sha 5bef2ccf20cceda7975f8bce860e0f60595482fc

test: add known issue test for sync writable callback If the write callbacks are invoked synchronously with an error, onwriteError would cause the error event to be emitted synchronously, making it impossible to attach an error handler after the call that triggered it. PR-URL: https://github.com/nodejs/node/pull/31756 Refs: https://github.com/nodejs/quic/commit/b0d469c69c49c9186c1a581a7cebce4c5d398947 Refs: https://github.com/nodejs/quic/pull/341 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>

view details

Robert Nagy

commit sha 85c6fcd1cd11ec6ee22891e48a67cc97f60880e8

stream: avoid writing to writable A remainder from a previous refactoring. Refs: https://github.com/nodejs/node/pull/31197 PR-URL: https://github.com/nodejs/node/pull/31805 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>

view details

Rich Trott

commit sha 99428e0858bb3cce820190770ca8217460d95c80

doc: reword possessive form of Node.js in debugger.md Throughout the docs, we sometimes write the possessive of _Node.js_ as _Node.js'_ and other times as _Node.js's_. The former conforms with some generally accepted style guides (e.g., Associated Press Stylebook) while the latter complies with others (e.g., Chicago Manual of Style). Since there is no clear authoritative answer as to which form is correct, and since (at least to me) both are visually jarring and sometimes cause a pause to understand, I'd like to reword things to eliminate the possessive form where possible. This is one of those examples. PR-URL: https://github.com/nodejs/node/pull/31748 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Rich Trott

commit sha d40c648e884bd64028fa0a67122a0af87c60f467

doc: reword possessive form of Node.js in process.md Throughout the docs, we sometimes write the possessive of _Node.js_ as _Node.js'_ and other times as _Node.js's_. The former conforms with some generally accepted style guides (e.g., Associated Press Stylebook) while the latter complies with others (e.g., Chicago Manual of Style). Since there is no clear authoritative answer as to which form is correct, and since (at least to me) both are visually jarring and sometimes cause a pause to understand, I'd like to reword things to eliminate the possessive form where possible. This is one of those examples. PR-URL: https://github.com/nodejs/node/pull/31748 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Rich Trott

commit sha d25fcb0c201286d18c07653347258ce02951ddf8

doc: reword possessive form of Node.js in http.md Throughout the docs, we sometimes write the possessive of _Node.js_ as _Node.js'_ and other times as _Node.js's_. The former conforms with some generally accepted style guides (e.g., Associated Press Stylebook) while the latter complies with others (e.g., Chicago Manual of Style). Since there is no clear authoritative answer as to which form is correct, and since (at least to me) both are visually jarring and sometimes cause a pause to understand, I'd like to reword things to eliminate the possessive form where possible. This is one of those examples. PR-URL: https://github.com/nodejs/node/pull/31748 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Rich Trott

commit sha eb0ade10a7af855ecdaa822dea028d661664cd43

doc: reword possessive form of Node.js in adding-new-napi-api.md Throughout the docs, we sometimes write the possessive of _Node.js_ as _Node.js'_ and other times as _Node.js's_. The former conforms with some generally accepted style guides (e.g., Associated Press Stylebook) while the latter complies with others (e.g., Chicago Manual of Style). Since there is no clear authoritative answer as to which form is correct, and since (at least to me) both are visually jarring and sometimes cause a pause to understand, I'd like to reword things to eliminate the possessive form where possible. This is one of those examples. PR-URL: https://github.com/nodejs/node/pull/31748 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>

view details

Anna Henningsen

commit sha fab3eff2e53eb9bfbb890e5ac45523ae68ae95e5

src: inform callback scopes about exceptions in HTTP parser Refs: https://github.com/nodejs/node/commit/4aca277f16b8649b5fc21d41f340fad0a47c2e61 Refs: https://github.com/nodejs/node/pull/30236 Fixes: https://github.com/nodejs/node/issues/31796 PR-URL: https://github.com/nodejs/node/pull/31801 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com>

view details

Rich Trott

commit sha 794bfacb26c4059c2eab7efb475489b7010054c3

test: remove common.PORT from test-net-timeout Switch test-net-timeout from common.PORT to a port assigned by the operating system. PR-URL: https://github.com/nodejs/node/pull/31749 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Rich Trott

commit sha 76fd17a7dff6b89b8851044b17125a88a3043b4e

test: remove common.PORT from test-net-throttle Switch test-net-throttle from common.PORT to a port assigned by the operating system. PR-URL: https://github.com/nodejs/node/pull/31749 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Rich Trott

commit sha a092886b1d29d17c94683348430e062cf7ae2fc9

test: remove common.PORT from test-tls-server-large-request Switch test-tls-server-large-request from common.PORT to a port assigned by the operating system. PR-URL: https://github.com/nodejs/node/pull/31749 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Rich Trott

commit sha af19f4116c5c3ce0fc7b18b62ffb05e8138bf74b

test: remove common.PORT from test-net-pause Switch test-net-pause from common.PORT to a port assigned by the operating system. PR-URL: https://github.com/nodejs/node/pull/31749 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

view details

Guy Bedford

commit sha 58de9b46b80fd3e48f5faf9db8101930a6493fc4

module: package "exports" error refinements PR-URL: https://github.com/nodejs/node/pull/31625 Reviewed-By: Jan Krems <jan.krems@gmail.com>

view details

Myles Borins

commit sha 1c2d77d3d9dd5753a96c0033265c5eeaf3531d00

2020-02-18, Version 12.16.1 'Erbium' (LTS) Notable changes: Node.js 12.16.0 included 6 regressions that are being fixed in this release **Accidental Unflagging of Self Resolving Modules**: 12.16.0 included a large update to the ESM implementation. One of the new features, Self Referential Modules, was accidentally released without requiring the `--experimental-modules` flag. This release is being made to appropriately flag the feature. **Process Cleanup Changed Introduced WASM-Related Assertion**: A change during Node.js process cleanup led to a crash in combination with specific usage of WASM. This has been fixed by partially reverted said change. A regression test and a full fix are being worked on and will likely be included in future 12.x and 13.x releases. **Use Largepages Runtime Option Introduced Linking Failure**: A Semver-Minor change to introduce `--use-largepages` as a runtime option introduced a linking failure. This had been fixed in master but regressed as the fix has not yet gone out in a Current release. The feature has been reverted, but will be able to reland with a fix in a future Semver-Minor release. **Async Hooks was Causing an Exception When Handling Errors**: Changes in async hooks internals introduced a case where an internal api call could be called with undefined causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed and the change could re land in a future Semver-Patch release if the regression is reliably fixed. **New Enumerable Read-Only Property on EventEmitter breaks @types/extend** A new property for enumerating events was added to the EventEmitter class. This broke existing code that was using the `@types/extend` module for extending classses as `@types/extend` was attemping to write over the existing field which the new change made read-only. As this is the first property on EventEmitter that is read-only this feature could be considered Semver-Major. The new feature has been reverted but could re land in a future Semver-Minor release if a non breaking way of applying it is found. **Exceptions in the HTTP parser were not emitting an uncaughtException** A refactoring to Node.js interanls resulted in a bug where errors in the HTTP parser were not being emitted by `process.on('uncaughtException')`. The fix to this bug has been included in this release. PR-URL: https://github.com/nodejs/node/pull/31781

view details

Robert Nagy

commit sha 8ba7a2f889472d58478bf40b758d336b41af682b

http2: make compat finished match http/1 finished should true directly after end(). PR-URL: https://github.com/nodejs/node/pull/24347 Refs: https://github.com/nodejs/node/issues/24743 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: James M Snell <jasnell@gmail.com>

view details

Shelley Vohr

commit sha 0c3c0e7184c4ca625148c14d61d8e9438a1b69f2

2020-02-18, Version 13.9.0 (Current) Notable changes: * async_hooks * add executionAsyncResource (Matteo Collina) #30959 * crypto * add crypto.diffieHellman (Tobias Nießen) #31178 * add DH support to generateKeyPair (Tobias Nießen) #31178 * simplify DH groups (Tobias Nießen) #31178 * add key type 'dh' (Tobias Nießen) #31178 * test * skip keygen tests on arm systems (Tobias Nießen) #31178 * perf_hooks * add property flags to GCPerformanceEntry (Kirill Fomichev) #29547 * process * report ArrayBuffer memory in `memoryUsage()` (Anna Henningsen) #31550 * readline * make tab size configurable (Ruben Bridgewater) #31318 * report * add support for Workers (Anna Henningsen) #31386 * worker * add ability to take heap snapshot from parent thread (Anna Henningsen) #31569 * added new collaborators * add ronag to collaborators (Robert Nagy) #31498 PR-URL: https://github.com/nodejs/node/pull/31837

view details

Myles Borins

commit sha 43fb664701d771c00595fa1c152cfca03b10a4fd

doc: fix missing changelog corrections There was a slight discrepancy between the build of 12.16.1 and what landed on 12.x. This was only a couple spelling errors that didn't get updated between machines I was working on. This change gets the changelog up to date with what went out in the release vs what is current on the 12.x release branch. PR-URL: https://github.com/nodejs/node/pull/31854 Reviewed-By: Shelley Vohr <codebytere@gmail.com> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Richard Lau <riclau@uk.ibm.com>

view details

Shelley Vohr

commit sha 31290824de068eb4b282ab74829450b988ae225b

doc: fix notable changes for v13.9.0 PR-URL: https://github.com/nodejs/node/pull/31857 Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Myles Borins <myles.borins@gmail.com>

view details

Robert Nagy

commit sha 7c524fb092b143470795c8ca869de4654c728fe1

doc: fix Writable.write callback description Clarifies a userland invariant until a better solution can be found. Also moves a misplaced sentence from _write to write. Refs: https://github.com/nodejs/node/pull/31756 Refs: https://github.com/nodejs/node/pull/31765 PR-URL: https://github.com/nodejs/node/pull/31812 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>

view details

Rich Trott

commit sha 822101f570478ffa15e4ed0e00cd0d67b9cc789e

meta: move eljefedelrodeodeljefe to emeritus eljefedelrodeodeljefe confirmed in email that moving to emeritus was fine at this time. PR-URL: https://github.com/nodejs/node/pull/31735 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>

view details

Joyee Cheung

commit sha e6c2277241e542cdf86475d71c5fdc581bd72025

vm: lazily initialize primordials for vm contexts Lazily initialize primordials when cross-context support for builtins is needed to fix the performance regression in context creation. PR-URL: https://github.com/nodejs/node/pull/31738 Fixes: https://github.com/nodejs/node/issues/29842 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com>

view details

push time in 6 days

Pull request review commentnodejs/node

stream: fix broken pipeline tests

 const assert = require('assert'); const http = require('http'); const { promisify } = require('util'); +function mustCall(fn) {+  if (!fn) {+    return common.mustCall();+  }+  return common.mustCall((...args) => {+    new Promise(() => fn(...args));+  });+}

I think this might have to do with exceptions inside Promise.catch does not call unhandledRejection.

I found a workaround.

ronag

comment created time in 6 days

Pull request review commentnodejs/node

stream: fix broken pipeline tests

 const assert = require('assert'); const http = require('http'); const { promisify } = require('util'); +function mustCall(fn) {+  if (!fn) {+    return common.mustCall();+  }+  return common.mustCall((...args) => {+    new Promise(() => fn(...args));+  });+}

If you checkout master and run the test: test-stream-pipeline.js

It should fail at e.g. https://github.com/nodejs/node/blob/master/test/parallel/test-stream-pipeline.js#L777 but doesn't.

Maybe something in pipeline is swallowing the error. I need to dig into that.

ronag

comment created time in 7 days

more