- Jan 26, 2020
-
-
Daniel Bevenius authored
This commit suggests that cast-function-type warnings be ignored from v8.h. Currently, GCC reports a number of warnings like this: In file included from ../src/util.h:27, from ../src/aliased_buffer.h:7, from ../src/memory_tracker.h:5, from ../src/base_object.h:27, from ../src/async_wrap.h:27, from ../src/req_wrap.h:6, from ../src/req_wrap-inl.h:6, from ../src/connect_wrap.h:6, from ../src/connect_wrap.cc:1: ../deps/v8/include/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak( P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::BaseObject; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::BaseObject>&)]’: ../src/base_object-inl.h:123:42: required from here ../deps/v8/include/v8.h:10374:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::BaseObject>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::BaseObject>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The motivation for doing this that it makes it difficult to spot other warnings that might be important. Since it is v8 that performs this cast I was not able to find a way around it. PR-URL: https://github.com/nodejs/node/pull/31475 Reviewed-By:Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Sam Roberts <vieuxtech@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Denys Otrishko authored
PR-URL: https://github.com/nodejs/node/pull/31474 Reviewed-By:
Gus Caplan <me@gus.host> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
cjihrig authored
Notable changes: - SetApplicationDaemon() is no longer called on macOS. - uv_interface_addresses() is implemented on IBMi. - The return value of uv__open_cloexec() is now handled properly. - A race condition in fsevents has been fixed. Fixes: https://github.com/nodejs/node/issues/31328 Fixes: https://github.com/nodejs/help/issues/2099 PR-URL: https://github.com/nodejs/node/pull/31477 Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Alexander Smarus authored
PR-URL: https://github.com/nodejs/node/pull/31467 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Gabriel Schulhof <gabriel.schulhof@intel.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Denys Otrishko authored
PR-URL: https://github.com/nodejs/node/pull/31465 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Anna Henningsen authored
This test was broken by de2c68c7. Refs: https://github.com/nodejs/node/pull/31386 PR-URL: https://github.com/nodejs/node/pull/31494 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
- Jan 25, 2020
-
-
Ruben Bridgewater authored
This makes sure `util.inspect()` does not throw in case the typed array's length property was set to something invalid. Instead, always use the original information. PR-URL: https://github.com/nodejs/node/pull/31458 Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Eran Levin authored
This pull request makes fs.watch throw exception, whenever it is used in an incompatible platform. For this change following changes were made to api: 1.a new error type has been introduced. 2.fs.watch has been changed accordingly. Users who use recursive on non-windows and osx platforms, will face a new exception. For this reason, it's a breaking change. Fixes: https://github.com/nodejs/node/issues/29901 PR-URL: https://github.com/nodejs/node/pull/29947 Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Saúl Ibarra Corretgé <saghul@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Robert Nagy authored
Further fixes an issue with the async iterator example where an incorrect assumption was made in regards that drain or error is always invoked after !write(). Fixes: https://github.com/nodejs/node/issues/31365 PR-URL: https://github.com/nodejs/node/pull/31367 Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com>
-
Robert Nagy authored
PR-URL: https://github.com/nodejs/node/pull/31498 Reviewed-By:
Gabriel Schulhof <gabriel.schulhof@intel.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net>
-
Anna Henningsen authored
From the issue: > Some servers deviate from HTTP spec enougth that Node.js can't > communicate with them, but "work" when `--insecure-http-parser` > is enabled globally. It would be useful to be able to use this > mode, as a client, only when connecting to known bad servers. This is largely equivalent to https://github.com/nodejs/node/pull/31446 in terms of code changes. Fixes: https://github.com/nodejs/node/issues/31440 Refs: https://github.com/nodejs/node/pull/31446 PR-URL: https://github.com/nodejs/node/pull/31448 Reviewed-By:
Sam Roberts <vieuxtech@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
- Jan 24, 2020
-
-
cjihrig authored
This test provides missing coverage for __wasi_args_get() and __wasi_args_sizes_get(), which translate to argc and argv in WASI applications. PR-URL: https://github.com/nodejs/node/pull/31426 Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com>
-
Rich Trott authored
Fixes: https://github.com/nodejs/node/issues/31451 PR-URL: https://github.com/nodejs/node/pull/31460 Reviewed-By:
Tobias Nießen <tniessen@tnie.de> Reviewed-By:
Geoffrey Booth <webmaster@geoffreybooth.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Anna Henningsen authored
This allows printing errors that contain nul characters, for example. Fixes: https://github.com/nodejs/node/issues/28761 Fixes: https://github.com/nodejs/node/issues/31218 PR-URL: https://github.com/nodejs/node/pull/31446 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Gus Caplan <me@gus.host> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Anna Henningsen authored
Add an utility that handles C++-style strings and objects well. PR-URL: https://github.com/nodejs/node/pull/31446 Fixes: https://github.com/nodejs/node/issues/28761 Fixes: https://github.com/nodejs/node/issues/31218 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Gus Caplan <me@gus.host> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Tobias Nießen authored
1. The DiffieHellmanGroup class is only instantiated from within Node.js, which always passes exactly one argument. 2. Use the existing ERR_CRYPTO_UNKNOWN_DH_GROUP error code for the existing "Unknown group" error. The message has not been changed to prevent breaking existing applications. PR-URL: https://github.com/nodejs/node/pull/31445 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Sam Roberts <vieuxtech@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Tobias Nießen authored
PR-URL: https://github.com/nodejs/node/pull/31437 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Sam Roberts <vieuxtech@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Rich Trott authored
8fb5fe28 broke the benchmark for getStringWidth(). This fixes it up by updating the argument to `require()` to retrieve `getStringWidth()` from the new internal module location. PR-URL: https://github.com/nodejs/node/pull/31476 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- Jan 23, 2020
-
-
Tobias Nießen authored
PR-URL: https://github.com/nodejs/node/pull/31436 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
cjihrig authored
This test provides missing coverage for __wasi_fd_renumber(). PR-URL: https://github.com/nodejs/node/pull/31432 Reviewed-By:
Tobias Nießen <tniessen@tnie.de> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com>
-
cjihrig authored
Original commit message: prevent race conditions with uvwasi_fd_close() uvwasi_fd_close() performed the following operations: - lock the file descriptor mutex - close the file - release the file descriptor mutex - call the file table's remove() function Once the fd's mutex is released, another thread could acquire it before the fd is removed from the file table. If this happens, remove() could destroy a held mutex. This commit updates uvwasi_fd_close() to perform the entire sequence while holding the file table's lock, preventing new acquisitions of the fd's mutex. Fixes: https://github.com/cjihrig/uvwasi/issues/88 PR-URL: https://github.com/nodejs/node/pull/31432 Reviewed-By:Tobias Nießen <tniessen@tnie.de> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com>
-
cjihrig authored
Original commit message: prevent locking fd table while holding a mutex uvwasi_path_rename(), uvwasi_path_link(), uvwasi_path_open(), and uvwasi_fd_renumber() operate on multiple file descriptors. uvwasi_fd_renumber() has been updated prior to this commit, and is not relevant here. The other three functions would perform the following locking operations: - lock the file table - acquire a file descriptor mutex - unlock the file table - unlock the file table again - acquire another file descriptor mutex - unlock the file table - unlock the two mutexes Attempting to acquire the second mutex introduced the possibility of deadlock because another thread could attempt to acquire the first mutex while holding the file table lock. This commit ensures that multiple mutexes are either: - acquired in a single lock of the file table - or, only acquired after releasing previously held mutexes Fixes: https://github.com/cjihrig/uvwasi/issues/89 PR-URL: https://github.com/nodejs/node/pull/31432 Reviewed-By:Tobias Nießen <tniessen@tnie.de> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com>
-
cjihrig authored
Original commit message: unlock all fd mutexes in reverse order Some functions acquire mutexes for multiple file descriptors. This commit ensures that the mutexes are released in the reverse order that they are aquired. PR-URL: https://github.com/nodejs/node/pull/31432 Reviewed-By:Tobias Nießen <tniessen@tnie.de> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com>
-
cjihrig authored
This version improves file descriptor renumbering, and as a result fixes uvwasi_fd_renumber(). PR-URL: https://github.com/nodejs/node/pull/31432 Reviewed-By:
Tobias Nießen <tniessen@tnie.de> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com>
-
Geoffrey Booth authored
PR-URL: https://github.com/nodejs/node/pull/31415 Reviewed-By:
Guy Bedford <guybedford@gmail.com> Reviewed-By:
Gus Caplan <me@gus.host> Reviewed-By:
Bradley Farias <bradley.meck@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Geoffrey Booth authored
PR-URL: https://github.com/nodejs/node/pull/31415 Reviewed-By:
Guy Bedford <guybedford@gmail.com> Reviewed-By:
Gus Caplan <me@gus.host> Reviewed-By:
Bradley Farias <bradley.meck@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Geoffrey Booth authored
reverses baa3621b PR-URL: https://github.com/nodejs/node/pull/31415 Reviewed-By:
Guy Bedford <guybedford@gmail.com> Reviewed-By:
Gus Caplan <me@gus.host> Reviewed-By:
Bradley Farias <bradley.meck@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Rich Trott authored
The test fixture in test/fixtures/bluebird was largely copied from bluebird, where a regression in Node.js was discovered. Simplify the test by removing a lot of things that aren't necessary to replicate the problem. Change name from bluebird to something less likely to cause someone to believe that we are actually loading bluebird (as we are not). PR-URL: https://github.com/nodejs/node/pull/31435 Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
David Carlier <devnexen@gmail.com>
-
Tobias Nießen authored
PR-URL: https://github.com/nodejs/node/pull/31420 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Sam Roberts <vieuxtech@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com>
-
Tobias Nießen authored
PR-URL: https://github.com/nodejs/node/pull/31466 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Bryan English <bryan@bryanenglish.com> Reviewed-By:
Gabriel Schulhof <gabriel.schulhof@intel.com> Reviewed-By:
Chengzhong Wu <legendecas@gmail.com>
-
Yakov Litvin authored
Fixes: https://github.com/nodejs/node/issues/25542 PR-URL: https://github.com/nodejs/node/pull/31430 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Anna Henningsen authored
Prevent mistakes like the one fixed by the previous commit by destroying the callback immediately after it has been called. PR-URL: https://github.com/nodejs/node/pull/31468 Refs: https://github.com/nodejs/node/pull/31386 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com>
-
Anna Henningsen authored
de2c68c7 moved this call to the destructor, under the assumption that that would essentially be equivalent to running it as part of the callback since the worker would be destroyed along with the callback. However, the actual code in `Environment::RunAndClearNativeImmediates()` comes with the subtlety that testing whether a JS exception has been thrown happens between the invocation of the callback and its destruction, leaving a possible exception from `JoinThread()` potentially unhandled (and unintentionally silenced through the `TryCatch`). This affected exceptions thrown from the `'exit'` event of the Worker, and made the `parallel/test-worker-message-type-unknown` test flaky, as the invalid message was sometimes only received during the Worker thread’s exit handler. Fix this by moving the `JoinThread()` call back to where it was before. Refs: https://github.com/nodejs/node/pull/31386 PR-URL: https://github.com/nodejs/node/pull/31468 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com>
-
- Jan 22, 2020
-
-
Ruben Bridgewater authored
The array grouping function relies on the width of the characters. It was not calculated correct so far, since it used the string length instead. This improves the unicode output by calculating the mono-spaced font width (other fonts might differ). PR-URL: https://github.com/nodejs/node/pull/31319 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Steven R Loomis <srloomis@us.ibm.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Minwoo Jung <nodecorelab@gmail.com>
-
Anna Henningsen authored
Include a report for each sub-Worker of the current Node.js instance. This adds a feature that is necessary for eventually making the report feature stable, as was discussed during the last collaborator summit. Refs: https://github.com/openjs-foundation/summit/pull/240 PR-URL: https://github.com/nodejs/node/pull/31386 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Anna Henningsen authored
This is a) the right thing to do anyway because these functions can not be inlined by the compiler and b) avoids compilation warnings in the following commit. PR-URL: https://github.com/nodejs/node/pull/31386 Refs: https://github.com/openjs-foundation/summit/pull/240 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Anna Henningsen authored
Allow doing what V8’s `v8::Isolate::RequestInterrupt()` does for V8. This also works when there is no JS code currently executing. PR-URL: https://github.com/nodejs/node/pull/31386 Refs: https://github.com/openjs-foundation/summit/pull/240 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Anna Henningsen authored
Remove `AsyncRequest` from the source code, and replace its usage with threadsafe `SetImmediate()` calls. This has the advantage of being able to pass in any function, rather than one that is defined when the `AsyncRequest` is “installed”. This necessitates two changes: - The stopping flag (which was only used in one case and ignored in the other) is now a direct member of the `Environment` class. - Workers no longer have their own libuv handles, requiring manual management of their libuv ref count. As a drive-by fix, the `can_call_into_js` variable was turned into an atomic variable. While there have been no bug reports, the flag is set from `Stop(env)` calls, which are supposed to be possible from any thread. PR-URL: https://github.com/nodejs/node/pull/31386 Refs: https://github.com/openjs-foundation/summit/pull/240 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Anna Henningsen authored
Add a variant of `SetImmediate()` that can be called from any thread. This allows removing the `AsyncRequest` abstraction and replaces it with a more generic mechanism. PR-URL: https://github.com/nodejs/node/pull/31386 Refs: https://github.com/openjs-foundation/summit/pull/240 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-
Anna Henningsen authored
There is no real reason to manage a count manually, given that checking whether there are C++ callbacks is a single pointer comparison. This makes it easier to add other kinds of native C++ callbacks that are managed in a similar way. PR-URL: https://github.com/nodejs/node/pull/31386 Refs: https://github.com/openjs-foundation/summit/pull/240 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com>
-