Anna Henningsen
175a88f094
tools: implement update-authors in JS
...
Replace the previous Perl script with a Node.js variant
that explicitly supports `Author:` and, in particular,
GitHub’s standard `Co-authored-by:` metadata tags.
PR-URL: https://github.com/nodejs/node/pull/22771
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matheus Marchini <mat@mmarchini.me >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-09-14 18:58:25 +02:00
Anna Henningsen
df7ebfab4e
worker: correct (de)initialization order
...
- Initialize `thread_exit_async_` only once the thread has been
started. This is done since it is only triggered from the
thread when it is exiting.
- Move the final `uv_run` to the `Worker` destructor.
This makes sure that it is always run, regardless of whether
the thread is actually started or not.
- Always dispose the `Isolate` before cleaning up the libuv event
loop. This now matches the reverse order of initialization.
Fixes: https://github.com/nodejs/node/issues/22736
PR-URL: https://github.com/nodejs/node/pull/22773
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-09-14 18:55:53 +02:00
Anna Henningsen
93925353f8
doc: node debug → node inspect in CLI docs
...
PR-URL: https://github.com/nodejs/node/pull/22774
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Matheus Marchini <mat@mmarchini.me >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Jan Krems <jan.krems@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: George Adams <george.adams@uk.ibm.com >
2018-09-12 13:08:46 +02:00
Anna Henningsen
932a74ae74
src: make FIXED_ONE_BYTE_STRING an inline fn
...
This prevents accidental usage on non-fixed strings.
PR-URL: https://github.com/nodejs/node/pull/22725
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-09-10 05:30:13 +02:00
Anna Henningsen
d994e261c3
lib: generate allowedNodeEnvironmentFlags lazily
...
PR-URL: https://github.com/nodejs/node/pull/22638
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-09-09 16:20:29 +02:00
Anna Henningsen
995782c872
process: generate list of allowed env flags programmatically
...
Avoids having a separate, second source of truth on this matter.
PR-URL: https://github.com/nodejs/node/pull/22638
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-09-09 16:20:28 +02:00
Anna Henningsen
4a5886cb8a
test: fix flaky addons/callback-scope/test-resolve-async
...
Fixes: https://github.com/nodejs/node/issues/22668
PR-URL: https://github.com/nodejs/node/pull/22664
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: George Adams <george.adams@uk.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-09-07 09:52:18 +02:00
Anna Henningsen
0c30d0e4e0
zlib: fix memory leak for invalid input
...
Don’t toggle the weak/strong reference flag from the error
handler, that’s too confusing. Instead, always do it in the
code that handles the write call.
Fixes: https://github.com/nodejs/node/issues/22705
PR-URL: https://github.com/nodejs/node/pull/22713
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-09-06 10:54:37 +02:00
Anna Henningsen
d4cdb2ce66
test: refactor test-gc-tls-external-memory
...
- Don’t use network connections, we don’t need them and
they add more native objects into the mix when we care
about other kinds of native objects.
- Run GC only once every 64 iterations – this cuts down
running time from 4 s to 400 ms.
- Use `common.mustCall()` for the `connect()` handler.
- Make sure that the TLS sockets do get garbage collected,
since the test would otherwise also pass if they remain
alive indefinitely.
PR-URL: https://github.com/nodejs/node/pull/22651
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: George Adams <george.adams@uk.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-09-05 12:44:42 +02:00
Anna Henningsen
702e11454e
Revert "test: mark async-hooks/test-callback-error as flaky"
...
This reverts commit 59c8abf886 .
PR-URL: https://github.com/nodejs/node/pull/22655
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: George Adams <george.adams@uk.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-09-05 12:39:43 +02:00
Anna Henningsen
67bfcb78f6
test: fix flaky async-hooks/test-callback-error
...
Remove an unnecessary timeout.
Fixes: https://github.com/nodejs/node/issues/15985
PR-URL: https://github.com/nodejs/node/pull/22655
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: George Adams <george.adams@uk.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-09-05 12:39:42 +02:00
Anna Henningsen
b3eb3a19ad
test: fix flaky test-worker-message-port-transfer-self
...
Look at the status of the `MessagePort` rather than
relying on a timeout.
PR-URL: https://github.com/nodejs/node/pull/22658
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-09-05 12:03:52 +02:00
Anna Henningsen
caf8e7a49d
worker: display MessagePort status in util.inspect()
...
PR-URL: https://github.com/nodejs/node/pull/22658
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-09-05 12:03:50 +02:00
Anna Henningsen
e007166009
deps: update to nghttp2 1.33.0
...
Refs: https://github.com/nghttp2/nghttp2/releases/tag/v1.33.0
PR-URL: https://github.com/nodejs/node/pull/22649
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2018-09-05 10:43:09 +02:00
Anna Henningsen
b4f5cdc6c4
src: skip warnings for our own deprecated APIs
...
This makes the compiler not emit deprecation warnings for places
where we use (or, in the case of non-functions, implement) our own
deprecated public C++ APIs.
PR-URL: https://github.com/nodejs/node/pull/22666
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-09-05 10:32:16 +02:00
Anna Henningsen
089c0d1025
cli: more flexible width when printing --help
...
PR-URL: https://github.com/nodejs/node/pull/22637
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2018-09-05 07:58:50 +02:00
Anna Henningsen
65f0323b07
src: remove editing leftovers from options help text
...
PR-URL: https://github.com/nodejs/node/pull/22636
Refs: https://github.com/nodejs/node/commit/
85212bb182f555f6d09e0b2f5f78d2d8e19bcef1#r30265305
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2018-09-05 07:36:44 +02:00
Anna Henningsen
71f633a32f
src: allow UTF-16 in generic StringBytes decode call
...
This allows removing a number of special cases in other
parts of the code, at least one of which was incorrect
in expecting aligned input when that was not guaranteed.
Fixes: https://github.com/nodejs/node/issues/22358
PR-URL: https://github.com/nodejs/node/pull/22622
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2018-09-03 22:33:42 +02:00
Anna Henningsen
6455bea52b
src: warn about odd UTF-16 decoding function signature
...
Using a `uint16_t` sequence for UTF-16 processing would typically
imply that the sequence already contains the correct 16-bit
code units.
However, our API does not account for that. The previous comments
were somewhat misleading, since endianness is typically applied to
sequences of bytes, which is not something that this API works with.
PR-URL: https://github.com/nodejs/node/pull/22623
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2018-09-03 22:32:06 +02:00
Anna Henningsen
c0e3af1bf2
tls: improve debugging assertion
...
Refs: https://github.com/nodejs/node/issues/22618
PR-URL: https://github.com/nodejs/node/pull/22625
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@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: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2018-09-03 22:16:49 +02:00
Anna Henningsen
f42323109a
test: improve assertion in process test
...
PR-URL: https://github.com/nodejs/node/pull/22634
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2018-09-03 22:15:48 +02:00
Anna Henningsen
ba43bce9e2
test: fix flaky parallel/test-fs-write-file-typedarrays
...
Using the same filename for different async tests could lead
to race conditions.
Example failure: https://travis-ci.com/nodejs/node/jobs/143351655
Refs: https://github.com/nodejs/node/pull/22150
PR-URL: https://github.com/nodejs/node/pull/22659
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2018-09-03 14:22:42 +02:00
Anna Henningsen
c100d400bd
src: disable debug options when inspector is unavailable
...
This fixes `parallel/test-cli-node-print-help` when Node.js
is compiled without the inspector.
PR-URL: https://github.com/nodejs/node/pull/22657
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
2018-09-03 01:39:20 +02:00
Anna Henningsen
04060e35b1
src: add NODE_EXTERN to class definition
...
This should be part of public class definitions for Windows
embedders who use a DLL interface for accessing Node.
PR-URL: https://github.com/nodejs/node/pull/22559
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2018-09-03 00:23:58 +02:00
Anna Henningsen
f911e09ab4
src: deprecate option variables in public API
...
These variables should never have been exposed as part of the
public API, and certainly not as variables. Using CLI options
parser is the right thing to do here, at least until we expose
some part of the options parser API publicly (which should be
possible to do now).
PR-URL: https://github.com/nodejs/node/pull/22515
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-09-02 17:37:54 +02:00
Anna Henningsen
208022cb31
test: improve assertions in test-cli-node-print-help
...
PR-URL: https://github.com/nodejs/node/pull/22489
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2018-09-02 13:48:00 +02:00
Anna Henningsen
c8880ea276
cli: generate --help text in JS
...
Instead of having a custom, static, hand-written string
that is being printed to stdout when `--help` is present,
generate it in JS when requested.
PR-URL: https://github.com/nodejs/node/pull/22490
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2018-09-01 00:13:23 +02:00
Anna Henningsen
e812be4a55
src: make CLI options programatically accesible
...
Provide `internalBinding('options')` with some utilities
around making the options parser and current options values
programatically accessible.
PR-URL: https://github.com/nodejs/node/pull/22490
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2018-09-01 00:13:20 +02:00
Anna Henningsen
f2338ed195
doc: fix up warning text about character devices
...
The text contained a number of inaccuracies:
- The main thread is never blocked by a stream close.
- There is no such thing as an EOF character on the OS level,
the libuv level, or the Node.js stream level.
- These streams *do* respond to `.close()`, but pending
reads can delay this indefinitely.
- Pushing a random character into the stream works only when
the source data can be controlled; Using the JS `.push()`
method is something different, and does not “unblock” any threads.
Refs: https://github.com/nodejs/node/pull/21212
PR-URL: https://github.com/nodejs/node/pull/22569
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2018-08-31 19:15:57 +02:00
Anna Henningsen
36c56db0b1
build: use 0o octal notation in configure
...
This un-‘breaks’ the error message we print when using
Python 3 to run `configure`.
Refs: https://github.com/nodejs/help/issues/1457
PR-URL: https://github.com/nodejs/node/pull/22536
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-08-31 19:07:38 +02:00
Anna Henningsen
09fce8562a
src: add missing NODE_WANT_INTERNALS guards
...
We generally add these to all headers that are considered
internal to Node.
These aren’t distributed as part of the headers tarball,
so I think this does not have to be semver-major
(and we have been changing the APIs in these headers
freely anyway).
PR-URL: https://github.com/nodejs/node/pull/22514
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-08-28 16:54:07 +02:00
Anna Henningsen
a8572b191e
src: use default parameters for CreateIsolateData
...
PR-URL: https://github.com/nodejs/node/pull/22465
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2018-08-28 00:06:45 +02:00
Anna Henningsen
99b1ada331
doc: clarify git config name/email requirements
...
The previous wording sounded like this was a necessary for
contributing. This clarifies that it is not, and tells people what
we do use their info for.
PR-URL: https://github.com/nodejs/node/pull/22433
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: George Adams <george.adams@uk.ibm.com >
2018-08-26 14:02:08 +01:00
Anna Henningsen
1c05b16c9e
src: fix NODE_OPTIONS parsing bug
...
I, uhm, might have messed up by using a `substr(start, end)`
signature when `std::string` actually uses `substr(start, len)`.
Fix that.
Fixes: https://github.com/nodejs/node/issues/22526
Refs: https://github.com/nodejs/node/pull/22392
PR-URL: https://github.com/nodejs/node/pull/22529
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2018-08-26 13:52:14 +02:00
Anna Henningsen
29a71bae40
src: refactor options parsing
...
This is a major refactor of our Node’s parser. See `node_options.cc`
for how it is used, and `node_options-inl.h` for the bulk
of its implementation.
Unfortunately, the implementation has come to have some
complexity, in order to meet the following goals:
- Make it easy to *use* for defining or changing options.
- Keep it (mostly) backwards-compatible.
- No tests were harmed as part of this commit.
- Be as consistent as possible.
- In particular, options can now generally accept arguments
through both `--foo=bar` notation and `--foo bar` notation.
We were previously very inconsistent on this point.
- Separate into different levels of scope, namely
per-process (global), per-Isolate and per-Environment
(+ debug options).
- Allow programmatic accessibility in the future.
- This includes a possible expansion for `--help` output.
This commit also leaves a number of `TODO` comments, mostly for
improving consistency even more (possibly with having to modify
tests), improving embedder support, as well as removing pieces of
exposed configuration variables that should never have become
part of the public API but unfortunately are at this point.
PR-URL: https://github.com/nodejs/node/pull/22392
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
2018-08-22 23:37:19 +02:00
Anna Henningsen
45d0b4a300
src: yield empty maybes for failed AsyncWrap::MakeCallback calls
...
Use an empty `MaybeLocal<Value>` as the return value for
`AsyncWrap::MakeCallback()` if an exception occurred,
regardless of `MakeCallback` depth.
Unfortunately, the public API can not make this switch without
a breaking change (and possibly some kind of deprecation/renaming).
PR-URL: https://github.com/nodejs/node/pull/22078
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
2018-08-12 10:03:43 -07:00
Anna Henningsen
e4c4745a20
src: remove unnecessary writes in tls_wrap.cc
...
PR-URL: https://github.com/nodejs/node/pull/21984
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-08-12 03:59:02 -07:00
Anna Henningsen
40ae307071
src: avoid possible race during NodeBIO initialization
...
PR-URL: https://github.com/nodejs/node/pull/21984
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-08-12 03:58:49 -07:00
Anna Henningsen
987dc07111
src: use smart pointers for NodeBIO
...
PR-URL: https://github.com/nodejs/node/pull/21984
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-08-12 03:58:37 -07:00
Anna Henningsen
566d11a1ca
src: fix up doc comment for experimental-worker bool
...
PR-URL: https://github.com/nodejs/node/pull/22165
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2018-08-09 02:14:24 +02:00
Anna Henningsen
e3bae65583
worker: fix deadlock when calling terminate from exit handler
...
Just before we call the `'exit'` handlers of a Worker, we drain
the public port’s message queue to ensure proper ordering.
Previously, we held the Worker’s `mutex_` during the
exit handler call, so calling `terminate()` on the worker
could lead to a deadlock if called from one of those message
handlers.
This fixes flakiness in the `parallel/test-worker-dns-terminate` test.
PR-URL: https://github.com/nodejs/node/pull/22073
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-08-09 02:11:55 +02:00
Anna Henningsen
5be9b1d7f3
process: use owner_symbol for _getActive*
...
This makes it easier to provide public APIs in the return types
of `process._getActiveHandles()` and `process._getActiveRequests()`.
PR-URL: https://github.com/nodejs/node/pull/22002
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-05 13:46:14 +02:00
Anna Henningsen
af7164ebcc
lib,src: standardize owner_symbol for handles
...
Instead of somtimes using an `owner` string to link from a
native handle object to the corresponding JS object, standardize
on a single symbol that fulfills this role.
PR-URL: https://github.com/nodejs/node/pull/22002
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-05 13:46:13 +02:00
Anna Henningsen
a196aa2e24
src: clean up PackageConfig pseudo-boolean fields
...
PR-URL: https://github.com/nodejs/node/pull/21987
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-08-05 02:08:51 +02:00
Anna Henningsen
02badc424f
test: remove test/gc, integrate into parallel
...
There’s no reason to have a separate addon just for
testing GC anymore.
PR-URL: https://github.com/nodejs/node/pull/22001
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2018-08-01 18:04:56 +02:00
Anna Henningsen
281e5a3cee
src: clean up agent loop when exiting through destructor
...
Fixes: https://github.com/nodejs/node/issues/22042
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:17:06 +02:00
Anna Henningsen
5e83a2abd0
src: use only one tracing write fs req at a time
...
Concurrent writes to the same fd are generally not ideal,
since it’s not generally guaranteed that data from those
writes will end up on disk in the right order.
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:57 +02:00
Anna Henningsen
25fdab5402
src: use unique_ptr for internal JSON trace writer
...
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:56 +02:00
Anna Henningsen
5c212a61d1
src: plug trace file file descriptor leak
...
Close existing file descriptors before overriding
the field with new ones.
Also, use `nullptr` as the loop for these synchronous
operations, since they do not run on the same thread
as the `uv_run()` call for the previously used loop.
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:55 +02:00
Anna Henningsen
1f5aa5a23c
src: initialize file trace writer on tracing thread
...
Run the initialization for the file trace writer’s `uv_async_t`s
on the same thread as `uv_run()` for their loop to avoid race
conditions.
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:54 +02:00
Anna Henningsen
703c231a02
src: close tracing event loop
...
Clean up resources when tearing down the tracing agent.
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:53 +02:00
Anna Henningsen
eb0cf667ed
src: fix tracing if cwd or file path is inaccessible
...
Otherwise this would have crashed the process.
In particular, checking the return value of an libuv call against `-1`
was invalid to begin with, as libuv uses it to propagate the
error code.
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:52 +02:00
Anna Henningsen
620e46c8b5
src: refactor default trace writer out of agent
...
The agent code is supposed to manage multiple writers/clients.
Adding the default writer into the mix breaks that encapsulation.
Instead, manage default options through a separate "virtual"
default client handle, and keep the file writer management
all to the actual users.
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:51 +02:00
Anna Henningsen
3ac94dc977
src: refactor tracing agent code
...
Avoid unnecessary operations, add a bit of documentation,
and turn the `ClientHandle` smart pointer alias into a real
class.
This should allow de-coupling the unnecessary combination of
a single specific `file_writer` from `Agent`.
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:48 +02:00
Anna Henningsen
ebfb52b14c
src: minor refactor of node_trace_events.cc
...
Avoid unnecessary copies/extra operations & align with our style guide,
and add protection against throwing getters.
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:47 +02:00
Anna Henningsen
78c21bb3d8
src: reduce unnecessary includes
...
A forward declaration suffices and means that the tracing
agent header and its dependencies don’t need to be included
in nearly every Node.js file.
PR-URL: https://github.com/nodejs/node/pull/21867
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2018-08-01 17:16:47 +02:00
Anna Henningsen
8a62cdba33
test: pass through stderr in benchmark tests
...
This helps a lot with debugging failing benchmark tests,
which would otherwise just print an assertion for the
exit code (something like `+1 -0`, which yields almost no
information about a failure).
PR-URL: https://github.com/nodejs/node/pull/21860
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com >
2018-08-01 07:02:43 -07:00
Anna Henningsen
e3a47025ac
fs: reduce memory retention when streaming small files
...
Fixes: https://github.com/nodejs/node/issues/21967
PR-URL: https://github.com/nodejs/node/pull/21968
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-07-29 17:11:30 +02:00
Anna Henningsen
36a15a1f4d
test: remove timeout from test-pipe-stream
...
The timeout is unnecessary and the suspected cause of the following
failure (even though I could not reproduce it locally):
11:53:54 not ok 197 parallel/test-pipe-stream
11:53:54 ---
11:53:54 duration_ms: 6.253
11:53:54 severity: fail
11:53:54 exitcode: 1
11:53:54 stack: |-
11:53:54 assert.js:338
11:53:54 throw err;
11:53:54 ^
11:53:54
11:53:54 AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
11:53:54
11:53:54 assert.ok(have_ping)
11:53:54
11:53:54 at check (/home/iojs/build/workspace/node-test-binary-arm/test/parallel/test-pipe-stream.js:14:12)
11:53:54 at Server.<anonymous> (/home/iojs/build/workspace/node-test-binary-arm/test/parallel/test-pipe-stream.js:61:5)
11:53:54 at Server.emit (events.js:182:13)
11:53:54 at emitCloseNT (net.js:1668:8)
11:53:54 at process._tickCallback (internal/process/next_tick.js:63:19)
(From https://ci.nodejs.org/job/node-test-binary-arm/2235/RUN_SUBSET=5,label=pi3-docker/console .)
PR-URL: https://github.com/nodejs/node/pull/21837
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2018-07-26 13:57:07 +02:00
Anna Henningsen
2db74f20f3
src: add missing cmath include to traced_value.cc
...
Fixes: https://github.com/nodejs/node/issues/21903
PR-URL: https://github.com/nodejs/node/pull/21924
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
2018-07-26 13:08:43 +02:00
Anna Henningsen
aa58e2e717
deps: cherry-pick 555c811 from upstream V8
...
Original commit message:
[api] Switch from `SetBuildEmbedderGraphCallback` to `AddBuildEmbedderGraphCallback`
`SetBuildEmbedderGraphCallback`, unlike `SetWrapperClassInfoProvider`,
assumes a monolithic embedder that can provide all necessary information.
That is not the case for e.g. Node.js, which can e.g. provide multiple Node.js
instances per V8 Isolate, as well as native addons that may allocate resources
on their own.
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Ib53dfde82416dd69934b08623e27d674a483ac2d
Reviewed-on: https://chromium-review.googlesource.com/1082441
Commit-Queue: Ulan Degenbaev <ulan@chromium.org >
Reviewed-by: Ulan Degenbaev <ulan@chromium.org >
Reviewed-by: Yang Guo <yangguo@chromium.org >
Cr-Commit-Position: refs/heads/master@{#53545}
Refs: https://github.com/v8/v8/commit/555c811c0d44d9aaaccf8e76059ed24537b3f012
PR-URL: https://github.com/nodejs/node/pull/21741
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2018-07-26 08:34:26 +02:00
Anna Henningsen
0e4cbde13b
doc: document http2 network error behaviour
...
Fixes: https://github.com/nodejs/node/issues/21836
PR-URL: https://github.com/nodejs/node/pull/21861
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
2018-07-23 17:02:35 +02:00
Anna Henningsen
daa15b54ba
test: fix http2 connection abort test
...
Refs: https://github.com/nodejs/node/issues/21836
Refs: https://github.com/nodejs/node/pull/21561
PR-URL: https://github.com/nodejs/node/pull/21861
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
2018-07-23 17:02:29 +02:00
Anna Henningsen
4f47f62d8e
http2: remove unused nghttp2 error list
...
Remove a list of HTTP2 errors as well as `nghttp2_errname()`
that converted an integer nghttp2 error code to a string
representation.
We already use `nghttp2_strerror()` for this, which
is provided by nghttp2 returns a better error string anyway.
PR-URL: https://github.com/nodejs/node/pull/21827
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2018-07-19 19:45:46 +02:00
Anna Henningsen
2d32a7e90a
src: use offset calc. instead of req->data in node_file
...
A small refactor – this removes one layer of pointer indirection.
(The performance gain is likely negligible, the main point here
being that this encapsulates libuv request management a bit more.)
PR-URL: https://github.com/nodejs/node/pull/21839
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
2018-07-19 12:11:42 +02:00
Anna Henningsen
e9b22e9569
crypto: add better scrypt option aliases
...
Make parameter names available in a human-readable way, for
more accessible/self-documenting usage of the `scrypt` functions.
This implements a review comment from the original PR that has
not been addressed.
Refs: https://github.com/nodejs/node/pull/20816#discussion_r189220776
PR-URL: https://github.com/nodejs/node/pull/21525
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
2018-07-18 14:18:01 +02:00
Anna Henningsen
cf37945b12
src: include cwd in chdir error message
...
Include the current working directory in the error
message for a failing `process.chdir()` since that is
usually information relevant for debugging.
This is semver-major because it moves properties
of the error message object.
Inspired by https://github.com/nodejs/help/issues/1355 .
PR-URL: https://github.com/nodejs/node/pull/21526
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2018-07-17 13:57:11 +02:00
Anna Henningsen
4107bb463e
test: move inspector test back to parallel, unmark flaky
...
After https://github.com/nodejs/node/pull/21182 , the test is
no longer flaky.
Since it doesn’t use a static port, moving it to parallel
seems justified.
PR-URL: https://github.com/nodejs/node/pull/21806
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2018-07-17 13:56:17 +02:00
Anna Henningsen
210fea51f4
test: fix build warnings in bigint N-API test
...
PR-URL: https://github.com/nodejs/node/pull/21796
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Kyle Farnung <kfarnung@microsoft.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2018-07-16 20:53:05 +02:00
Anna Henningsen
9a34c5b8d5
test: refactor test-tls-connect-memleak, move to parallel
...
This enables the test to run as part of the regular test suite.
PR-URL: https://github.com/nodejs/node/pull/21794
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-07-16 20:48:16 +02:00
Anna Henningsen
d06142af36
test: refactor test-net-connect-memleak, move to parallel
...
This enables the test to run as part of the regular test suite.
PR-URL: https://github.com/nodejs/node/pull/21794
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-07-16 20:48:15 +02:00
Anna Henningsen
d37a47754d
test: add gc tracking to common API
...
PR-URL: https://github.com/nodejs/node/pull/21794
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-07-16 20:48:14 +02:00
Anna Henningsen
d94950e960
http2: fix issues with aborted respondWithFile()s
...
PR-URL: https://github.com/nodejs/node/pull/21561
Fixes: https://github.com/nodejs/node/issues/20824
Fixes: https://github.com/nodejs/node/issues/21560
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2018-07-16 20:20:39 +02:00
Anna Henningsen
31ecf630d0
build: account for pure C sources in build-addons-napi
...
PR-URL: https://github.com/nodejs/node/pull/21797
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Jon Moss <me@jonathanmoss.me >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2018-07-16 20:07:34 +02:00
Anna Henningsen
db49589624
console,util: avoid pair array generation in C++
...
Use a plain `[key, value, key, value]`-style list instead
of an array of pairs for inspecting collections.
This also fixes a bug with `console.table()` where
inspecting a non-key-value `MapIterator` would have
led to odd results.
PR-URL: https://github.com/nodejs/node/pull/20831
Refs: https://github.com/nodejs/node/pull/20719#discussion_r189342513
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-07-16 10:46:09 +02:00
Anna Henningsen
1009118d27
test: add heap snapshot tests
...
Add a number of tests that validate that heap snapshots
contain what we expect them to contain, and cross-check
against a JS version of our own embedder graphs.
PR-URL: https://github.com/nodejs/node/pull/21741
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2018-07-15 20:35:44 +02:00
Anna Henningsen
45ad8df318
src: make heap snapshot & embedder graph accessible for tests
...
Add methods that allow inspection of heap snapshots and a JS
version of our own embedder graph.
These can be used in tests and might also prove useful for
ad-hoc debugging. Usage requires `--expose-internals` and
prints a warning similar to our other modules whose primary
purpose is test support.
PR-URL: https://github.com/nodejs/node/pull/21741
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2018-07-15 20:35:41 +02:00
Anna Henningsen
266a7e6258
src: use V8 graph heap snapshot API
...
Transition to a newer, more flexible API for
heap snapshot creation.
This addresses a currently pending deprecation in the V8 API.
PR-URL: https://github.com/nodejs/node/pull/21741
Fixes: https://github.com/nodejs/node/issues/21633
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2018-07-15 20:35:35 +02:00
Anna Henningsen
d2a1408f11
deps: cherry-pick 555c811 from upstream V8
...
Original commit message:
[api] Switch from `SetBuildEmbedderGraphCallback` to `AddBuildEmbedderGraphCallback`
`SetBuildEmbedderGraphCallback`, unlike `SetWrapperClassInfoProvider`,
assumes a monolithic embedder that can provide all necessary information.
That is not the case for e.g. Node.js, which can e.g. provide multiple Node.js
instances per V8 Isolate, as well as native addons that may allocate resources
on their own.
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Ib53dfde82416dd69934b08623e27d674a483ac2d
Reviewed-on: https://chromium-review.googlesource.com/1082441
Commit-Queue: Ulan Degenbaev <ulan@chromium.org >
Reviewed-by: Ulan Degenbaev <ulan@chromium.org >
Reviewed-by: Yang Guo <yangguo@chromium.org >
Cr-Commit-Position: refs/heads/master@{#53545}
Refs: https://github.com/v8/v8/commit/555c811c0d44d9aaaccf8e76059ed24537b3f012
PR-URL: https://github.com/nodejs/node/pull/21741
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2018-07-15 20:35:32 +02:00
Anna Henningsen
4a58725c15
src: add iteration over all base objects to Environment
...
PR-URL: https://github.com/nodejs/node/pull/21741
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2018-07-15 20:35:29 +02:00
Anna Henningsen
1062ea4555
src: add comment on CallbackScope exception behaviour
...
PR-URL: https://github.com/nodejs/node/pull/21743
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-07-14 11:51:54 +02:00
Anna Henningsen
57e301539b
src: enable more detailed memory tracking
...
This will enable more detailed heap snapshots based on
a newer V8 API.
This commit itself is not tied to that API and could
be backported.
PR-URL: https://github.com/nodejs/node/pull/21742
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-07-13 19:53:15 +02:00
Anna Henningsen
36cc5f5caf
test: fix timeouts when running worker tests with --worker
...
These tests have been added after the original workers PR and
time out when run inside a worker by themselves.
This is needed for enabling `--worker` tests in our regular CI.
Refs: https://github.com/nodejs/build/issues/1318
PR-URL: https://github.com/nodejs/node/pull/21791
Reviewed-By: Jon Moss <me@jonathanmoss.me >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2018-07-13 19:22:13 +02:00
Anna Henningsen
ed715ef890
zlib: track memory allocated by zlib
...
Provide a custom memory allocator for zlib, and track
memory allocated by the library with it.
Right now this “only” makes reported external memory
usage (much) more accurate and protects against zlib
memory leaks, but it generally will enable us to give
more accurate memory usage statistics for zlib.
PR-URL: https://github.com/nodejs/node/pull/21608
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-07-10 23:43:10 +02:00
Anna Henningsen
6e16ad7a63
zlib: fix memory leak for unused zlib instances
...
An oversight in an earlier commit led to a memory leak
in the untypical situation that zlib instances are created
but never used, because zlib handles no longer started
out their life as weak handles.
The bug was introduced in bd20110286 .
Refs: https://github.com/nodejs/node/pull/20455
PR-URL: https://github.com/nodejs/node/pull/21607
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2018-07-03 19:22:34 +02:00
Anna Henningsen
64a3fadf71
src: remove StreamBase::kFlagHasWritev
...
Since libuv 1.21.0, pipes on Windows support `writev` on the
libuv side.
This allows for some simplification, and makes the `StreamBase`
API more uniform (multi-buffer `Write()` is always supported now,
including when used by other non-JS consumers like HTTP/2).
PR-URL: https://github.com/nodejs/node/pull/21527
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-06-30 15:52:54 +02:00
Anna Henningsen
a078521a6a
src: remove extra ReadStop() call
...
This is no longer necessary since libuv 1.21.0.
PR-URL: https://github.com/nodejs/node/pull/21528
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-06-30 15:51:40 +02:00
Anna Henningsen
deff8dbf49
test: fix ESM test
...
The previously landed commit was broken and it’s too late
to force-push. Fixing up the test seems to work.
Refs: https://github.com/nodejs/node/pull/21352
PR-URL: https://github.com/nodejs/node/pull/21605
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2018-06-30 14:13:32 +02:00
Anna Henningsen
074e7f88af
build: remove requirement to re-run ./configure
...
Instead of requiring `./configure` to be run again after
the file changed, first try to re-run the configure script
with the arguments with which it was originally run.
Usually, those arguments will either contain no flags,
or all flags that were passed are still supported.
PR-URL: https://github.com/nodejs/node/pull/21371
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
2018-06-29 13:09:25 -07:00
Anna Henningsen
bf360d2e15
src: slightly simplify FSEventWrap
...
We don’t need to track `initialized_`, `HandleWrap` already does
that for us.
PR-URL: https://github.com/nodejs/node/pull/21533
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-06-29 12:02:46 -07:00
Anna Henningsen
018d6186a7
src: add native debugging code to workers
...
Now that we have better native debugging utilities in core,
let’s use them :)
PR-URL: https://github.com/nodejs/node/pull/21423
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: Matheus Marchini <matheus@sthima.com >
2018-06-24 23:04:55 -07:00
Anna Henningsen
15c627f185
http2: track memory allocated by nghttp2
...
Provide a custom memory allocator for nghttp2, and track
memory allocated by the library with it.
This makes the used-memory-per-session estimate more
accurate, and allows us to track memory leaks either
in nghttp2 itself or, more likely, through faulty
usage on our end.
It also allows us to make the per-session memory limit
more accurate in the future; currently, we are not
handling this in an ideal way, and instead let nghttp2
allocate what it wants, even if that goes over our limit.
PR-URL: https://github.com/nodejs/node/pull/21374
Refs: https://github.com/nodejs/node/pull/21373
Refs: https://github.com/nodejs/node/pull/21336
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
2018-06-24 22:54:49 -07:00
Anna Henningsen
7a2e2fb36d
http2: fix memory leak when headers are not emitted
...
When headers are not emitted to JS, e.g. because of an error
before that could happen, we currently still have the vector of
previously received headers lying around, each one holding
a reference count of 1.
To fix the resulting memory leak, release them in the `Http2Stream`
destructor.
Also, clear the vector of headers once they have been emitted –
there’s not need to keep it around, wasting memory.
PR-URL: https://github.com/nodejs/node/pull/21373
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
2018-06-20 22:52:49 +02:00
Anna Henningsen
d362b07e78
test: move net bytes-per-chunk test to parallel
...
This was added in 3217e8e66f as
a regression test for a security patch. We moved it to
`sequential` to lower the risk of creating a flaky test,
because an earlier version of it was failing one some platforms.
There is no known reason why te test should be flaky in this form,
though, and moving it to parallel would be good because it does take
around 3 seconds that would otherwise fully count towards the
test run time.
PR-URL: https://github.com/nodejs/node/pull/21322
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-06-20 22:50:23 +02:00
Anna Henningsen
7aa95670a1
src: fix debugging for multiple categories
...
Fix parsing of e.g. `NODE_DEBUG_NATIVE=worker,messaging`.
PR-URL: https://github.com/nodejs/node/pull/21422
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-06-20 22:48:54 +02:00
Anna Henningsen
1e54c24132
http2: fix memory leak for uncommon headers
...
Fix a memory leak that occurs with header names that are
short and not present in the static table of default headers.
PR-URL: https://github.com/nodejs/node/pull/21336
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
2018-06-17 00:12:16 +02:00
Anna Henningsen
7b46e177ba
lib,src: make StatWatcher a HandleWrap
...
Wrapping libuv handles is what `HandleWrap` is there for.
This allows a decent reduction of state tracking machinery
by moving active-ness tracking to JS, and removing all
interaction with garbage collection.
Refs: https://github.com/nodejs/node/pull/21093
PR-URL: https://github.com/nodejs/node/pull/21244
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2018-06-14 13:19:17 +02:00
Anna Henningsen
65b2e4b6fa
test: improve statwatcher async_hooks test
...
Modify the `fs.watchFile()` async hooks test to be more
accurate; currently, it relies on undocumented methods
and the fact that they use `MakeCallback()` even though
there is always a JS stack below.
PR-URL: https://github.com/nodejs/node/pull/21244
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2018-06-14 13:19:07 +02:00
Anna Henningsen
2a08925896
n-api: name CallbackBundle function fields
...
Use field names rather than indices.
Refs: https://github.com/nodejs/node/pull/21072
PR-URL: https://github.com/nodejs/node/pull/21240
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
2018-06-14 13:13:20 +02:00
Anna Henningsen
690475958e
src: use %zx in printf for size_t
...
This fixes a compiler warning on Windows.
PR-URL: https://github.com/nodejs/node/pull/21323
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com >
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com >
2018-06-14 12:50:40 +02:00