Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v21.6.0 proposal #51342

Merged
merged 112 commits into from
Jan 15, 2024
Merged

v21.6.0 proposal #51342

merged 112 commits into from
Jan 15, 2024

Conversation

RafaelGSS
Copy link
Member

@RafaelGSS RafaelGSS commented Jan 2, 2024

2024-01-15, Version 21.6.0 (Current), @RafaelGSS

New connection attempt events

Three new events were added in the net.createConnection flow:

  • connectionAttempt: Emitted when a new connection attempt is established. In case of Happy Eyeballs, this might emitted multiple times.
  • connectionAttemptFailed: Emitted when a connection attempt failed. In case of Happy Eyeballs, this might emitted multiple times.
  • connectionAttemptTimeout: Emitted when a connection attempt timed out. In case of Happy Eyeballs, this will not be emitted for the last attempt. This is not emitted at all if Happy Eyeballs is not used.

Additionally, a previous bug has been fixed where a new connection attempt could have been started after a previous one failed and after the connection was destroyed by the user.
This led to a failed assertion.

Contributed by Paolo Insogna in #51045.

Changes to the Permission Model

Node.js 21.6.0 comes with several fixes for the experimental permission model and two new semver-minor commits.
We're adding a new flag --allow-addons to enable addon usage when using the Permission Model.

$ node --experimental-permission --allow-addons

Contributed by Rafael Gonzaga in #51183

And relative paths are now supported through the --allow-fs-* flags.
Therefore, with this release one can use:

$ node --experimental-permission --allow-fs-read=./index.js

To give only read access to the entrypoint of the application.

Contributed by Rafael Gonzaga and Carlos Espa in #50758

Support configurable snapshot through --build-snapshot-config flag

We are adding a new flag --build-snapshot-config to configure snapshots through a custom JSON configuration file.

$ node --build-snapshot-config=/path/to/myconfig.json

When using this flag, additional script files provided on the command line will
not be executed and instead be interpreted as regular command line arguments.

These changes were contributed by Joyee Cheung and Anna Henningsen in #50453

Other Notable Changes

  • [c31ed51373] - (SEMVER-MINOR) timers: export timers.promises (Marco Ippolito) #51246

Commits

  • [13a1241b83] - assert,crypto: make KeyObject and CryptoKey testable for equality (Filip Skokan) #50897
  • [4dcc5114aa] - benchmark: remove dependency on unshipped tools (Adam Majer) #51146
  • [2eb41f86b3] - build: fix for VScode "Reopen in Container" (Serg Kryvonos) #51271
  • [e03ac83c19] - build: fix arm64 cross-compilation (Michaël Zasso) #51256
  • [cd61fce34e] - build: add -flax-vector-conversions to V8 build (Michaël Zasso) #51257
  • [e5017a522e] - crypto: update CryptoKey symbol properties (Filip Skokan) #50897
  • [c0d2e8be11] - deps: update corepack to 0.24.0 (Node.js GitHub Bot) #51318
  • [24a9a72492] - deps: update acorn to 8.11.3 (Node.js GitHub Bot) #51317
  • [e53cbb22c2] - deps: update ngtcp2 and nghttp3 (James M Snell) #51291
  • [f00f1204f1] - deps: update brotli to 1.1.0 (Node.js GitHub Bot) #50804
  • [a41dca0c51] - deps: update zlib to 1.3.0.1-motley-40e35a7 (Node.js GitHub Bot) #51274
  • [efa12a89c6] - deps: update simdutf to 4.0.8 (Node.js GitHub Bot) #51000
  • [25eba3d20b] - deps: V8: cherry-pick de611e69ad51 (Keyhan Vakil) #51200
  • [a07d6e23e4] - deps: update simdjson to 3.6.3 (Node.js GitHub Bot) #51104
  • [6d1bfcb2dd] - deps: update googletest to 530d5c8 (Node.js GitHub Bot) #51191
  • [75e5615c43] - deps: update acorn-walk to 8.3.1 (Node.js GitHub Bot) #50457
  • [3ecc7dcc00] - deps: update acorn-walk to 8.3.0 (Node.js GitHub Bot) #50457
  • [e2f8d741c8] - deps: update zlib to 1.3.0.1-motley-dd5fc13 (Node.js GitHub Bot) #51105
  • [4a5d3bda72] - doc: the GN files should use Node's license (Cheng Zhao) #50694
  • [84127514ba] - doc: improve localWindowSize event descriptions (Davy Landman) #51071
  • [8ee882a49c] - doc: mark --jitless as experimental (Antoine du Hamel) #51247
  • [876743ece1] - doc: run license-builder (github-actions[bot]) #51199
  • [ec6fcff009] - doc: fix limitations and known issues in pm (Rafael Gonzaga) #51184
  • [c13a5c0373] - doc: mention node:wasi in the Threat Model (Rafael Gonzaga) #51211
  • [4b19e62444] - doc: remove ambiguous 'considered' (Rich Trott) #51207
  • [5453abd6ad] - doc: set exit code in custom test runner example (Matteo Collina) #51056
  • [f9d4e07faf] - doc: remove version from maintaining-dependencies.md (Antoine du Hamel) #51195
  • [df8927a073] - doc: mention native addons are restricted in pm (Rafael Gonzaga) #51185
  • [e636d83914] - doc: correct note on behavior of stats.isDirectory (Nick Reilingh) #50946
  • [1c71435c2a] - doc: fix TestsStream parent class (Jungku Lee) #51181
  • [2c227b0d64] - doc: fix simdjson wrong link (Marco Ippolito) #51177
  • [efa13e1943] - (SEMVER-MINOR) doc: add documentation for --build-snapshot-config (Anna Henningsen) #50453
  • [941aedc6fc] - errors: fix stacktrace of SystemError (uzlopak) #49956
  • [47548d9e61] - esm: fix hint on invalid module specifier (Antoine du Hamel) #51223
  • [091098f40a] - fs: fix fs.promises.realpath for long paths on Windows (翠 / green) #51032
  • [e5a8fa01aa] - fs: make offset, position & length args in fh.read() optional (Pulkit Gupta) #51087
  • [c87e5d51cc] - fs: add missing jsdoc parameters to readSync (Yagiz Nizipli) #51225
  • [e24249cf37] - fs: remove internalModuleReadJSON binding (Yagiz Nizipli) #51224
  • [7421467812] - fs: improve mkdtemp performance for buffer prefix (Yagiz Nizipli) #51078
  • [5b229d775f] - fs: validate fd synchronously on c++ (Yagiz Nizipli) #51027
  • [c7a135962d] - http: remove misleading warning (Luigi Pinca) #51204
  • [a325746ff4] - http: do not override user-provided options object (KuthorX) #33633
  • [89eee7763f] - http2: addtl http/2 settings (Marten Richter) #49025
  • [624142947f] - lib: fix use of --frozen-intrinsics with --jitless (Antoine du Hamel) #51248
  • [8f845eb001] - lib: move function declaration outside of loop (Sanjaiyan Parthipan) #51242
  • [ed7305e49b] - lib: reduce overhead of SafePromiseAllSettledReturnVoid calls (Antoine du Hamel) #51243
  • [291265ce27] - lib: expose default prepareStackTrace (Chengzhong Wu) #50827
  • [8ff6bc45ca] - lib,permission: handle buffer on fs.symlink (Rafael Gonzaga) #51212
  • [416b4f8063] - (SEMVER-MINOR) lib,src,permission: port path.resolve to C++ (Rafael Gonzaga) #50758
  • [6648a5c576] - meta: notify tsc on changes in SECURITY.md (Rafael Gonzaga) #51259
  • [83a99ccedd] - meta: update artifact actions to v4 (Michaël Zasso) #51219
  • [b621ada69a] - module: move the CJS exports cache to internal/modules/cjs/loader (Joyee Cheung) #51157
  • [e4be5b60f0] - (SEMVER-MINOR) net: add connection attempt events (Paolo Insogna) #51045
  • [3a492056e2] - node-api: type tag external values without v8::Private (Chengzhong Wu) #51149
  • [b2135ae7dc] - node-api: segregate nogc APIs from rest via type system (Gabriel Schulhof) #50060
  • [8f4325dcd5] - permission: fix wildcard when children > 1 (Rafael Gonzaga) #51209
  • [7ecf99404e] - quic: update quic impl to use latest ngtcp2/nghttp3 (James M Snell) #51291
  • [5b32e21f3b] - quic: add quic internalBinding, refine Endpoint, add types (James M Snell) #51112
  • [3310095bea] - repl: fix prepareStackTrace frames array order (Chengzhong Wu) #50827
  • [a0ff00b526] - src: avoid draining platform tasks at FreeEnvironment (Chengzhong Wu) #51290
  • [115e0585cd] - src: add fast api for Histogram (James M Snell) #51296
  • [29b81576c6] - src: refactor GetCreationContext calls (Yagiz Nizipli) #51287
  • [54dd978400] - src: enter isolate before destructing IsolateData (Ben Noordhuis) #51138
  • [864ecb0dfa] - src: do not treat all paths ending with node_modules as such (Michaël Zasso) #51269
  • [df31c8114c] - src: eliminate duplicate code in histogram.cc (James M Snell) #51263
  • [17c73e6d0c] - src: fix unix abstract socket path for trace event (theanarkh) #50858
  • [96d64edc94] - src: use BignumPointer and use BN_clear_free (James M Snell) #50454
  • [8a2dd93a14] - src: implement FastByteLengthUtf8 with simdutf::utf8_length_from_latin1 (Daniel Lemire) #50840
  • [e54ddf898f] - (SEMVER-MINOR) src: support configurable snapshot (Joyee Cheung) #50453
  • [a69c7d7bc3] - (SEMVER-MINOR) src,permission: add --allow-addon flag (Rafael Gonzaga) #51183
  • [e7925e66fc] - src,stream: improve WriteString (ywave620) #51155
  • [82de6603af] - stream: fix code style (Mattias Buelens) #51168
  • [e443953656] - stream: fix cloned webstreams not being unref'd (James M Snell) #51255
  • [757a84c9ea] - test: fix flaky conditions for ppc64 SEA tests (Richard Lau) #51422
  • [85ee2f7255] - test: replace forEach() with for...of (Alexander Jones) #50608
  • [549e4b4142] - test: replace forEach with for...of (Ospite Privilegiato) #50787
  • [ef44f9bef2] - test: replace foreach with for of (lucacapocci94-dev) #50790
  • [652af45485] - test: replace forEach() with for...of (Jia) #50610
  • [684dd9db2f] - test: fix inconsistency write size in test-fs-readfile-tostring-fail (Jungku Lee) #51141
  • [aaf710f535] - test: replace forEach test-http-server-multiheaders2 (Marco Mac) #50794
  • [57c64550cc] - test: replace forEach with for-of in test-webcrypto-export-import-ec (Chiara Ricciardi) #51249
  • [88e865181b] - test: move to for of loop in test-http-hostname-typechecking.js (Luca Del Puppo) #50782
  • [3db376f67a] - test: skip test-watch-mode-inspect on arm (Michael Dawson) #51210
  • [38232d1c52] - test: replace forEach with for of in file test-trace-events-net.js (Ianna83) #50789
  • [f1cb58355a] - test: replace forEach() with for...of in test/parallel/test-util-log.js (Edoardo Dusi) #50783
  • [9bfd84c117] - test: replace forEach with for of in test-trace-events-api.js (Andrea Pavone) #50784
  • [7e9834915a] - test: replace forEach with for-of in test-v8-serders.js (Mattia Iannone) #50791
  • [b6f232e841] - test: add URL tests to fs-read in pm (Rafael Gonzaga) #51213
  • [8a2178c5f5] - test: use tmpdir.refresh() in test-esm-loader-resolve-type.mjs (Luigi Pinca) #51206
  • [7e9a0b192a] - test: use tmpdir.refresh() in test-esm-json.mjs (Luigi Pinca) #51205
  • [d7c2572fe0] - test: fix flakiness in worker*.test-free-called (Jithil P Ponnan) #51013
  • [979cebc955] - test_runner: fixed test object is incorrectly passed to setup() (Pulkit Gupta) #50982
  • [63db82abe6] - test_runner: fixed to run after hook if before throws an error (Pulkit Gupta) #51062
  • [c31ed51373] - (SEMVER-MINOR) timers: export timers.promises (Marco Ippolito) #51246
  • [fc10f889eb] - tools: update lint-md-dependencies to rollup@4.9.2 (Node.js GitHub Bot) #51320
  • [d5a5f12d15] - tools: fix dep_updaters dir updates (Michaël Zasso) #51294
  • [bdcb5ed510] - tools: update inspector_protocol to c488ba2 (cola119) #51293
  • [69a46add77] - tools: update inspector_protocol to 9b4a4aa (cola119) #51293
  • [e325f49d19] - tools: update inspector_protocol to 2f51e05 (cola119) #51293
  • [60d804851b] - tools: update inspector_protocol to d7b099b (cola119) #51293
  • [d18168489f] - tools: update inspector_protocol to 912eb68 (cola119) #51293
  • [ef4f46fc39] - tools: update inspector_protocol to 547c5b8 (cola119) #51293
  • [c3126fc016] - tools: update inspector_protocol to ca525fc (cola119) #51293
  • [917d887dde] - tools: update lint-md-dependencies to rollup@4.9.1 (Node.js GitHub Bot) #51276
  • [37594918e0] - tools: check timezone current version (Marco Ippolito) #51178
  • [d0d2faf899] - tools: update lint-md-dependencies to rollup@4.9.0 (Node.js GitHub Bot) #51193
  • [c96ef6533c] - tools: update eslint to 8.56.0 (Node.js GitHub Bot) #51194
  • [f4f781d493] - util: pass invalidSubtypeIndex instead of trimmedSubtype to error (Gaurish Sethia) #51264
  • [867b484429] - watch: clarify that the fileName parameter can be null (Luigi Pinca) #51305
  • [56e8969b65] - watch: fix null fileName on windows systems (vnc5) #49891
  • [3f4fd6efbb] - watch: fix infinite loop when passing --watch=true flag (Pulkit Gupta) #51160

joyeecheung and others added 30 commits January 2, 2024 15:05
- Add support for --build-snapshot-config which allows passing
  snapshot configurations via a JSON configuration file.
- Add support for node::SnapshotConfig in the embedder API

The initial configurable options are:

- "builder" (SnapshotConfig::builder_script_path): path to the
  builder script.
- "withoutCodeCache" (SnapshotFlags::kWithoutCodeCache): disable
  code cache generation.

PR-URL: #50453
Refs: #42566
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
PR-URL: #50453
Refs: #42566
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
PR-URL: #51105
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
PR-URL: #51177
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #51160
Fixes: #51159
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
PR-URL: #50897
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #50897
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #51062
Refs: #50842
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Raz Luvaton <rluvaton@gmail.com>
Currently, node.js http/2 is limited in sending SETTINGs,
that are currently implemented by nghttp2.
However, nghttp2 has the ability to send arbitary SETTINGs,
that are not known beforehand.
This patch adds this feature including a fall back mechanism,
if a SETTING is implemented in a later nghttp2 or node version.

Fixes: #1337
PR-URL: #49025
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
PR-URL: #51181
Fixes: #51174
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
PR-URL: #50946
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #51027
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
PR-URL: #51185
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: #51194
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
We define a new type called `node_api_nogc_env` as the `const` version
of `napi_env` and `node_api_nogc_finalize` as a variant of
`napi_finalize` that accepts a `node_api_nogc_env` as its first
argument.

We then modify those APIs which do not affect GC state as accepting a
`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to
accept `node_api_nogc_finalize` callbacks. Thus, the only way to attach
a `napi_finalize` callback, wherein Node-APIs affecting GC state may be
called is to call `node_api_post_finalizer` from a
`node_api_nogc_finalize` callback.

In keeping with the process of introducing new Node-APIs, this feature
is guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs
already marked as stable, it is additionally guared by
`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to
adoption. Nevertheless, both guards must be removed upon releasing a
new version of Node-API.

PR-URL: #50060
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: #33633
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: James M Snell <jasnell@gmail.com>
Those create unreasonable maintenance burden as updating one dependency
will conflict with another one. It's unclear we get much value out from
duplicating this information in this document, so this commit removes it

PR-URL: #51195
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
PR-URL: #51193
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
PR-URL: #50457
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
PR-URL: #50457
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
PR-URL: #50840
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
The issue arises from the `getFreeCallCount()` function yielding the
initial value of 0. Upon instantiation of the `Worker` object, it
increments to 1. In the case of this flaky test, if the creation of the
`Worker` object is faster, the subsequent `getFreeCallCount()` call
always returns 1 instead of the expected 0.

Fixes: #51003
PR-URL: #51013
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: #51056
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #51078
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
PR-URL: #51191
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
PR-URL: #51104
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: #51178
Refs: #51107
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Use `tmpdir.refresh()` in `test/es-module/test-esm-json.mjs` so that
the temporary directory is removed when the test exits.

PR-URL: #51205
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Use `tmpdir.refresh()` in
`test/es-module/test-esm-loader-resolve-type.mjs` so that the temporary
directory is removed when the test exits.

PR-URL: #51206
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
PR-URL: #51207
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jan 5, 2024
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@RafaelGSS
Copy link
Member Author

@nodejs/single-executable-admins I need some help with failing tests on plinux-rhel8-ppc64le

@mcollina
Copy link
Member

mcollina commented Jan 8, 2024

Can you include #51290? It should be landing now.

@RafaelGSS
Copy link
Member Author

RafaelGSS commented Jan 9, 2024

@joyeecheung could the SIGSEV errors be related to your changes in node_sea.cc? I took a look and it doesn't seem to refer to an invalid memory address.

@joyeecheung
Copy link
Member

There have been some known flakes from SEA on that platform for a while, see #50740 I suspect it may be more of a bug of postject (alignment issues?) but it is difficult to chase down.

@joyeecheung
Copy link
Member

Wait, it's on PowerPC, sea tests should be skipped there.

@targos
Copy link
Member

targos commented Jan 9, 2024

@joyeecheung not since #48111

@joyeecheung
Copy link
Member

We marked them as flaky again since #50750 and #50828

@richardlau
Copy link
Member

richardlau commented Jan 10, 2024

We marked them as flaky again since #50750 and #50828

Ah I think I see some issues:

  1. The status file doesn't list test_single_executable_application_disable_experimental_sea_warning.
  2. The conditions in the status file won't match (somehow I missed that test: use ppc and ppc64 to skip SEA tests on PowerPC #50828 changed $arch to $system.

PR: #51422

legendecas and others added 3 commits January 11, 2024 10:10
At the point of `FreeEnvironment` and onwards, no JavaScript execution
associated with the Environment should be triggered.

Avoid draining platform tasks that can trigger JavaScript execution in
`FreeEnvironment`. The holder of `node::Environment` should immediately
call `node::MultiIsolatePlatform::UnregisterIsolate` and
`v8::Isolate::Dispose` to cancel pending foreground tasks and join
concurrent tasks after the environment was freed.

`NodePlatform` can properly handle the case in `RunForegroundTask` when
an Isolate out-lives its associated `node::Environment`.

PR-URL: #51290
Fixes: #47748
Fixes: #49344
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
In test status files, `$system` will be the OS and not the arch (which
would be `$arch`).

Add missing single-executable-application test to the list of tests
marked flaky on Linux ppc64le.

PR-URL: #51422
Refs: #50828
Refs: #50740
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Notable changes:

doc:
  * (SEMVER-MINOR) add documentation for --build-snapshot-config (Anna Henningsen) #50453
lib,src,permission:
  * (SEMVER-MINOR) port path.resolve to C++ (Rafael Gonzaga) #50758
net:
  * (SEMVER-MINOR) add connection attempt events (Paolo Insogna) #51045
src:
  * (SEMVER-MINOR) support configurable snapshot (Joyee Cheung) #50453
src,permission:
  * (SEMVER-MINOR) add --allow-addon flag (Rafael Gonzaga) #51183
timers:
  * (SEMVER-MINOR) export timers.promises (Marco Ippolito) #51246

PR-URL: #51342
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
@RafaelGSS RafaelGSS added the request-ci Add this label to start a Jenkins CI on a PR. label Jan 11, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jan 11, 2024
@nodejs-github-bot
Copy link
Collaborator

@bricss
Copy link

bricss commented Jan 12, 2024

It would be phenomenal if #51431 could be pulled in 🙄

@RafaelGSS RafaelGSS merged commit f38a9a5 into v21.x Jan 15, 2024
52 checks passed
@RafaelGSS RafaelGSS deleted the v21.6.0-proposal branch January 15, 2024 14:48
RafaelGSS added a commit that referenced this pull request Jan 15, 2024
RafaelGSS added a commit that referenced this pull request Jan 15, 2024
Notable changes:

doc:
  * (SEMVER-MINOR) add documentation for --build-snapshot-config (Anna Henningsen) #50453
lib,src,permission:
  * (SEMVER-MINOR) port path.resolve to C++ (Rafael Gonzaga) #50758
net:
  * (SEMVER-MINOR) add connection attempt events (Paolo Insogna) #51045
src:
  * (SEMVER-MINOR) support configurable snapshot (Joyee Cheung) #50453
src,permission:
  * (SEMVER-MINOR) add --allow-addon flag (Rafael Gonzaga) #51183
timers:
  * (SEMVER-MINOR) export timers.promises (Marco Ippolito) #51246

PR-URL: #51342
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
RafaelGSS added a commit to nodejs/nodejs.org that referenced this pull request Jan 15, 2024
github-merge-queue bot pushed a commit to nodejs/nodejs.org that referenced this pull request Jan 15, 2024
Medhansh404 pushed a commit to Medhansh404/node that referenced this pull request Jan 19, 2024
Notable changes:

doc:
  * (SEMVER-MINOR) add documentation for --build-snapshot-config (Anna Henningsen) nodejs#50453
lib,src,permission:
  * (SEMVER-MINOR) port path.resolve to C++ (Rafael Gonzaga) nodejs#50758
net:
  * (SEMVER-MINOR) add connection attempt events (Paolo Insogna) nodejs#51045
src:
  * (SEMVER-MINOR) support configurable snapshot (Joyee Cheung) nodejs#50453
src,permission:
  * (SEMVER-MINOR) add --allow-addon flag (Rafael Gonzaga) nodejs#51183
timers:
  * (SEMVER-MINOR) export timers.promises (Marco Ippolito) nodejs#51246

PR-URL: nodejs#51342
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Issues and PRs related to Node.js releases.
Projects
None yet
Development

Successfully merging this pull request may close these issues.