- Jun 09, 2020
-
-
Tobias Nießen authored
PR-URL: https://github.com/nodejs/node/pull/33267 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Juan José Arboleda <soyjuanarbol@gmail.com> Reviewed-By:
Masashi Hirano <shisama07@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com>
-
Pranshu Srivastava authored
Refs: https://github.com/nodejs/node/issues/29829 PR-URL: https://github.com/nodejs/node/pull/33183 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Anna Henningsen authored
`AddToIncomingQueue()` relies on `owner_` only being modified with `mutex_` being locked, but in these two places, that didn’t happen. Modify them to use `Detach()` instead, which has the same effect as setting `owner_ = nullptr` here, but does it with proper locking. This race condition probably only shows up in practice when Node.js is compiled in debug mode, because the compiler eliminates the duplicate load in `AddToIncomingQueue()` when compiling with optimizations enabled. PR-URL: https://github.com/nodejs/node/pull/33429 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Daniel Bevenius authored
This commit suggest using a lambda for the RegisterHandlerCleanup calls in RegisterHandleCleanups. The motivation is to reduce some duplication and to make it a little easier to read as all of the calls pass in the same arguments, apart from casting the uv handle. PR-URL: https://github.com/nodejs/node/pull/33421 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Zeyu Yang <himself65@outlook.com> Reviewed-By:
David Carlier <devnexen@gmail.com>
-
Jonathan Buhacoff authored
According to the [NodeJS CCM example](https://nodejs.org/docs/latest-v14.x/api/crypto.html#crypto_ccm_mode], when decrypting the `plaintextLength` parameter actually refers to the ciphertext length, not the plaintext length: ``` decipher.setAAD(aad, { plaintextLength: ciphertext.length }); ``` The same can be seen in the [OpenSSL docs](https://wiki.openssl.org/index.php/EVP_Authenticated_Encryption_and_Decryption) where a call to `EVP_DecryptUpdate` passes the ciphertext length: ``` /* Provide the total ciphertext length */ if(1 != EVP_DecryptUpdate(ctx, NULL, &len, NULL, ciphertext_len)) handleErrors(); ``` This parameter probably should have been called `inputLength` or `bufferLength` instead of `plaintextLength`, so that it makes sense both when encrypting and decrypting, but at least we can correct the sentence in the documentation for now to refer to the correct value. PR-URL: https://github.com/nodejs/node/pull/33095 Reviewed-By:
Ujjwal Sharma <ryzokuken@disroot.org> Reviewed-By:
Tobias Nießen <tniessen@tnie.de> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Benjamin Gruenbaum authored
Add a comment regarding memory limits and setting highWaterMark PR-URL: https://github.com/nodejs/node/pull/33432 Reviewd-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Robert Nagy <ronagy@icloud.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-
cjihrig authored
Notable changes: - `uv_library_shutdown()` has been added. - `uv_udp_init_ex()` now accepts `UV_UDP_RECVMMSG`, although it is a no-op. - Obsolete `MAX_PATH` restrictions have been removed on Windows, and Windows is now long path aware. - Windows environment variables longer than 32,767 characters are now supported. - Linux `cpu_times` are now reported as milliseconds to match other platforms. - A memory leak resulting from `uv_loop_init()` failures has been fixed. PR-URL: https://github.com/nodejs/node/pull/33446 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Richard Lau <riclau@uk.ibm.com>
-
Joyee Cheung authored
- Add clarifications for Node.js-only extensions - Explain the Web Performance APIs implemented in Node.js and clarify that perf_hooks also include other non-Web APIs. - Prefix exposed interfaces with `perf_hooks.` to distinguish them from internal classes. PR-URL: https://github.com/nodejs/node/pull/33199 Refs: https://github.com/nodejs/node/issues/28635 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Chengzhong Wu <legendecas@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-
Daniel Bevenius authored
PR-URL: https://github.com/nodejs/node/pull/33417 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Daniel Bevenius authored
This commit removes the unused 'misc' variable from one of the NodeMainInstance constructors. Another option could be to add a default argument to SetIsolateMiscHandlers but I'd like to hear what others think about that first. PR-URL: https://github.com/nodejs/node/pull/33417 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Daniel Bevenius authored
This commit adds promise_resolve to the list of callbacks mentioned in the comment. It also fixes a minor typo, every -> ever. PR-URL: https://github.com/nodejs/node/pull/33365 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Gerhard Stöbich <deb2001-github@yahoo.de> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Thomas authored
Some consoles do not convert ANSI escape sequences to colors, rather display them directly to the stdout. On those consoles, libuv emulates colors by intercepting stdout stream and calling corresponding Windows API functions for setting console colors. However, fatal error are handled differently and we cannot easily highlight them. PR-URL: https://github.com/nodejs/node/pull/33132 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-
Rich Trott authored
PR-URL: https://github.com/nodejs/node/pull/33412 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Richard Lau <riclau@uk.ibm.com>
-
Gus Caplan authored
PR-URL: https://github.com/nodejs/node/pull/33408 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Myles Borins <myles.borins@gmail.com>
-
Anna Henningsen authored
In some situations, it can be useful to use threadsafe callbacks on an `Environment` to perform cleanup operations that should run even when the process would otherwise be ending. PR-URL: https://github.com/nodejs/node/pull/33320 Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Anna Henningsen authored
To be more precise, fix a crash when `worker.unref()` is called from a message on the Worker that is not emitted before the Worker thread has stopped. PR-URL: https://github.com/nodejs/node/pull/33394 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Cheng Zhao authored
When precompile headers are disabled this file would cause compilation errors due to #include <string> not included. PR-URL: https://github.com/nodejs/node/pull/33332 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Antoine du Hamel authored
Adds hint when module specifier is a file URL. PR-URL: https://github.com/nodejs/node/pull/33220 Fixes: https://github.com/nodejs/node/issues/33219 Reviewed-By:
Guy Bedford <guybedford@gmail.com>
-
Antoine du HAMEL authored
PR-URL: https://github.com/nodejs/node/pull/33220 Fixes: https://github.com/nodejs/node/issues/33219 Reviewed-By:
Guy Bedford <guybedford@gmail.com>
-
himself65 authored
PR-URL: https://github.com/nodejs/node/pull/33383 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Masashi Hirano <shisama07@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Juan José Arboleda <soyjuanarbol@gmail.com>
-
Anna Henningsen authored
Add regression tests for the case in which an async_hook is enabled inside a Worker thread and `process.exit()` is called during the async part of an async function. This commit includes multiple tests that seem like they should all crash in a similar way, but interestingly don’t. In particular, it’s surprising that the presence of a statement after `process.exit()` in a function has an effect on the kind of crash that’s being exhibited (V8 DCHECK vs. assertion in our own code) and the circumstances under which it crashes (e.g. the -1 and -2 tests can be “fixed” by reverting 13c5a162, although they should have the same behavior as the -3 and -4 tests). PR-URL: https://github.com/nodejs/node/pull/33347 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com>
-
Anna Henningsen authored
Termination exceptions are similar to uncaught exceptions in that they should clear the async id stack, because no ongoing async callbacks will be brought to completion when execution terminates. Previously, there was a check that made sure that that happened when the termination occurred during the callback itself, but no such check was in place for the case that the termination occurred during microtasks started by them. This commit adds such a check, both for microtasks and the `nextTick` queue. The latter addition doesn’t fix a crash, but still makes sense conceptually. The condition here is also flipped from applying only on Worker threads to also applying on the main thread, and setting the `failed_` flag rather than reading it. The former makes sense because the public C++ `Stop(env)` API can have the same effect as worker thread termination, but on the main thread rather than a Worker thread. PR-URL: https://github.com/nodejs/node/pull/33347 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com>
-
Anna Henningsen authored
As the comment indicates, this fixes a DCHECK failure, although I don’t quite understand why it is happening in the first place. PR-URL: https://github.com/nodejs/node/pull/33347 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com>
-
Anna Henningsen authored
libuv does not expect concurrent operations on `uv_dir_t` instances, and will gladly create memory leaks, corrupt data, or crash the process. This patch forbids that, and: - Makes sure that concurrent async operations are run sequentially - Throws an exception if sync operations are attempted during an async operation The assumption here is that a thrown exception is preferable to a potential hard crash. This fully fixes flakiness from `parallel/test-fs-opendir` when run under ASAN. PR-URL: https://github.com/nodejs/node/pull/33274 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Anna Henningsen authored
A call into JS can schedule another operation on the same `uv_dir_t`. In particular, when the handle is closed from the callback for a directory read operation, there previously was a race condition window: 1. A `dir.read()` operation is submitted to libuv 2. The read operation is finished by libuv, calling `AfterDirRead()` 3. We call into JS 4. JS calls dir.close() 5. libuv posts the close request to a thread in the pool 6. The close request runs, destroying the directory handle 7. `AfterDirRead()` is being exited. Exiting the `FSReqAfterScope` in step 7 attempts to destroy the original uv_fs_t` from step 1, which now points to an `uv_dir_t` that has already been destroyed in step 5. By forcing the `FSReqAfterScope` to clean up before we call into JS, we can be sure that no other operations on the same `uv_dir_t` are submitted concurrently. This addresses issues observed when running with ASAN/valgrind. PR-URL: https://github.com/nodejs/node/pull/33274 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Chris Holland authored
PR-URL: https://github.com/nodejs/node/pull/33152 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com>
-
Rich Trott authored
The DNS server will sometimes return an IPv6 address (as seen in nightly CI from time to time). Use `family` option to force IPv4. PR-URL: https://github.com/nodejs/node/pull/33367 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com>
-
unknown authored
Fixes: https://github.com/nodejs/node/issues/28060 PR-URL: https://github.com/nodejs/node/pull/33168 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Bradley Farias <bradley.meck@gmail.com>
-
Alba Mendez authored
There's a typo that causes only the first socket to be logged (i.e. when the warning is emitted). In addition, server sockets aren't logged because `keylog` events are not emitted on tls.Server, not the socket. This behaviour is counterintuitive and has caused more bugs in the past, so make all sockets (server or client) emit 'keylog'. tls.Server will just re-emit these events. Refs: https://github.com/nodejs/node/pull/30055 PR-URL: https://github.com/nodejs/node/pull/33366 Reviewed-By:
Sam Roberts <vieuxtech@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Juan José Arboleda <soyjuanarbol@gmail.com>
-
- Jun 08, 2020
-
-
Joyee Cheung authored
- Print test results as soon as they are available, instead of until after all the tests are complete. This helps us printing tests whose completion callback is not called because of failures. - Run the scripts specified by `// META: script=` one by one instead of concatenating them first for better error stack traces. - Print a status summary when the test process is about to exit. This can be used as reference for updating the status file. For example the stderr output of `out/Release/node test/wpt/test-console.js` would be: ``` { 'idlharness.any.js': { fail: { expected: [ 'assert_equals: operation has wrong .length expected 1 but got 0' ] } } } Ran 4/4 tests, 0 skipped, 3 passed, 1 expected failures, 0 unexpected failures ``` PR-URL: https://github.com/nodejs/node/pull/33297 Reviewed-By:Anna Henningsen <anna@addaleax.net> Reviewed-By:
Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com>
-
Joyee Cheung authored
This commit updates the interfaces to https://github.com/web-platform-tests/wpt/tree/8ada332aea/interfaces and updates the hr-time test status: - `window-worker-timeOrigin.window.js` should be skipped because we don't implement `Blob` - `idlharness.any.js` should be skipped since the IDL parser needs to be updated, but the parser update would also result in an update of the test harness which in turn requires updates of other tests. We need to fix the URL implementation first, and then update the harness and all the tests. PR-URL: https://github.com/nodejs/node/pull/33297 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com>
-
Daniel Bevenius authored
This commit adds the primordials argument to the comment of arguments passed to bootstrap/node.js. PR-URL: https://github.com/nodejs/node/pull/33318 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Zeyu Yang <himself65@outlook.com>
-
Daniel Bevenius authored
PR-URL: https://github.com/nodejs/node/pull/33261 Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com>
-
rickyes authored
PR-URL: https://github.com/nodejs/node/pull/33358 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
David Carlier <devnexen@gmail.com>
-
Daniel Bevenius authored
This commit suggest using MaybeLocal.ToLocal and passing in the Local<Function> fn. The motivation for doing this is that the following MaybeLocal.ToLocalChecked call can then be avoided. PR-URL: https://github.com/nodejs/node/pull/33312 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Juan José Arboleda <soyjuanarbol@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Paolo Insogna authored
PR-URL: https://github.com/nodejs/node/pull/33308 Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-
Daniel Bevenius authored
This commit fixes what I think is a typo, even though the section in question does talk about a environment (env). PR-URL: https://github.com/nodejs/node/pull/33319 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By:
Gabriel Schulhof <gabriel.schulhof@intel.com>
-
Daniel Bevenius authored
PR-URL: https://github.com/nodejs/node/pull/33350 Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Juan José Arboleda <soyjuanarbol@gmail.com> Reviewed-By:
Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Rich Trott authored
Repeat writes until data is queued in memory, rather than assuming that it will happen by a certain point. Fixes: https://github.com/nodejs/node/issues/33135 PR-URL: https://github.com/nodejs/node/pull/33329 Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
Juan José Arboleda <soyjuanarbol@gmail.com>
-
cjihrig authored
Update ESLint to 7.0.0 PR-URL: https://github.com/nodejs/node/pull/33316 Reviewed-By:
Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By:
Zeyu Yang <himself65@outlook.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-