Skip to content

Conversation

@targos
Copy link
Member

@targos targos commented Oct 29, 2025

No description provided.

@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/gyp
  • @nodejs/security-wg
  • @nodejs/v8-update

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency. labels Oct 29, 2025
@targos

This comment was marked as resolved.

Copy link
Contributor

@cjihrig cjihrig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RSLGTM

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@targos

This comment was marked as resolved.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@targos

This comment was marked as resolved.

@legendecas

This comment was marked as resolved.

@legendecas

This comment was marked as resolved.

targos and others added 11 commits November 12, 2025 14:03
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 14.3.

Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
PR-URL: nodejs#54077
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
It's causing linker errors with node.lib in node-gyp and potentially
breaks other 3rd party tools

PR-URL: nodejs#56238
Refs: nodejs#55784
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
GCC emits warnings because of the trailing backslashes.

PR-URL: nodejs#58070
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
PR-URL: nodejs#58070
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
illumos pointers are VA48, can allocate from the top of the 64-bit range
as well.

PR-URL: nodejs#59805
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
In illumos, madvise(3C) now takes `void *` for its first argument
post-illumos#14418, but uses `caddr_t` pre-illumos#14418. This fix will
detect if the illumos mman.h file in use is pre-or-post-illumos#14418 so
builds can work either way.

PR-URL: nodejs#58237
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Original commit message:

    remove ppc and s390 from the host_arch list

    We only support ppc64 and s390x.
    Same changes is applied to depot_tools:
    http://crrev.com/c/7100932

    Change-Id: I1e4b660a1e46d1c609189301e8fd977fb7434748
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7102361
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Milad Farazmand <mfarazma@ibm.com>
    Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#103488}

Refs: v8/v8@2e4c5cf
Fixes: nodejs/build#4184
Co-authored-by: Michaël Zasso <targos@protonmail.com>
PR-URL: nodejs#60654
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
Original commit message:

    [wasm] Fix DCHECK in AtomicWait after memory growth

    With the changes in crrev.com/c/7003085, calling memory.grow()
    via the JS API didn't immediately update the memory's array buffer
    any more, which triggered a DCHECK in the runtime functions for
    atomic waits. This patch restores immediate updating of the buffer
    for the current isolate, which maintains the other CL's goal to
    not allocate on loop back edges.

    Fixed: 454991459
    Change-Id: Id633cebb9ac24606bc0d8a3df703c74531d3c8a0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7100806
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#103431}

Refs: v8/v8@4780079
@targos
Copy link
Member Author

targos commented Nov 12, 2025

V8 CI is broken: https://ci.nodejs.org/job/node-test-commit-v8-linux/6849/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/console

@targos
Copy link
Member Author

targos commented Nov 12, 2025

It's not V8 CI. It's GCC compatibility.

abmusse and others added 3 commits November 12, 2025 15:53
Original commit message:

    Fix gcc build

    For json-parser.h:

    ```
    ../../src/json/json-parser.h:298:13: error: explicit specialization in
    non-namespace scope 'class v8::internal::JsonParser<Char>'
      298 |   template <>
          |             ^
    ../../src/json/json-parser.h:299:18: error: template-id
    'IsNextToken<v8::internal::JsonToken::EOS>' in declaration of primary template
      299 |   V8_INLINE bool IsNextToken<JsonToken::EOS>() {
          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    ```

    For wasm-objects.cc:
    ```
    ../../src/wasm/wasm-objects.cc:2522:45: error: no matching function for call to
    'v8::internal::WasmDispatchTable::SetForNonWrapper<v8::internal::WasmDispatchTable>(
     v8::internal::WasmDispatchTable&, int&, v8::internal::Tagged<v8::internal::
     Union<v8::internal::Smi, v8::internal::WasmTrustedInstanceData> >&,
     v8::internal::WasmCodePointer&, v8::internal::wasm::CanonicalTypeIndex&,
     v8::internal::WasmDispatchTable::NewOrExistingEntry&)'
    ```

    ```
    error: no matching function for call to 'v8::internal::WasmDispatchTable::
    SetForWrapper<v8::internal::WasmDispatchTable>(v8::internal::WasmDispatchTable&,
    int&, v8::internal::Tagged<v8::internal::WasmImportData>&, std::shared_ptr<v8::
    internal::wasm::WasmImportWrapperHandle>&, v8::internal::wasm::
    CanonicalTypeIndex&, v8::internal::WasmDispatchTable::NewOrExistingEntry&)'
    ```

    For the fix fully qualify calls to SetForWrapper and SetForNonWrapper with
    ::v8::internal:: to avoid accidental lookup of class member names.
    This resolves template resolution errors caused by unqualified
    calls inside WasmDispatchTable and WasmDispatchTableForImports
    member functions.

    Change-Id: I687935a05dc754db686deaa0f93079d350aae07e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7107891
    Reviewed-by: Patrick Thier <pthier@chromium.org>
    Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
    Commit-Queue: Milad Farazmand <mfarazma@ibm.com>
    Cr-Commit-Position: refs/heads/main@{#103547}

Refs: v8/v8@151d0a4
Co-authored-by: Michaël Zasso <targos@protonmail.com>
@targos
Copy link
Member Author

targos commented Nov 12, 2025

I found v8/v8@151d0a4

@nodejs-github-bot
Copy link
Collaborator

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/6851/

@nodejs-github-bot
Copy link
Collaborator

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/6851/

@nodejs-github-bot
Copy link
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/70152/

@nodejs-github-bot
Copy link
Collaborator

V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/6851/

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member Author

targos commented Nov 13, 2025

This is ready @nodejs/tsc @nodejs/v8-update

@legendecas legendecas added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Nov 13, 2025
@targos targos added the semver-major PRs that contain breaking changes and should be released in the next major version. label Nov 13, 2025
targos added a commit that referenced this pull request Nov 13, 2025
PR-URL: #60488
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
targos added a commit that referenced this pull request Nov 13, 2025
PR-URL: #60488
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
@targos
Copy link
Member Author

targos commented Nov 13, 2025

Landed in c208ffc...092a448

targos added a commit that referenced this pull request Nov 13, 2025
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 14.3.

Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
PR-URL: #60488
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
@targos targos closed this Nov 13, 2025
targos pushed a commit that referenced this pull request Nov 13, 2025
Original commit message:

    [wasm] Fix DCHECK in AtomicWait after memory growth

    With the changes in crrev.com/c/7003085, calling memory.grow()
    via the JS API didn't immediately update the memory's array buffer
    any more, which triggered a DCHECK in the runtime functions for
    atomic waits. This patch restores immediate updating of the buffer
    for the current isolate, which maintains the other CL's goal to
    not allocate on loop back edges.

    Fixed: 454991459
    Change-Id: Id633cebb9ac24606bc0d8a3df703c74531d3c8a0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7100806
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#103431}

Refs: v8/v8@4780079
PR-URL: #60488
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
targos added a commit that referenced this pull request Nov 13, 2025
Original commit message:

    Fix gcc build

    For json-parser.h:

    ```
    ../../src/json/json-parser.h:298:13: error: explicit specialization in
    non-namespace scope 'class v8::internal::JsonParser<Char>'
      298 |   template <>
          |             ^
    ../../src/json/json-parser.h:299:18: error: template-id
    'IsNextToken<v8::internal::JsonToken::EOS>' in declaration of primary template
      299 |   V8_INLINE bool IsNextToken<JsonToken::EOS>() {
          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    ```

    For wasm-objects.cc:
    ```
    ../../src/wasm/wasm-objects.cc:2522:45: error: no matching function for call to
    'v8::internal::WasmDispatchTable::SetForNonWrapper<v8::internal::WasmDispatchTable>(
     v8::internal::WasmDispatchTable&, int&, v8::internal::Tagged<v8::internal::
     Union<v8::internal::Smi, v8::internal::WasmTrustedInstanceData> >&,
     v8::internal::WasmCodePointer&, v8::internal::wasm::CanonicalTypeIndex&,
     v8::internal::WasmDispatchTable::NewOrExistingEntry&)'
    ```

    ```
    error: no matching function for call to 'v8::internal::WasmDispatchTable::
    SetForWrapper<v8::internal::WasmDispatchTable>(v8::internal::WasmDispatchTable&,
    int&, v8::internal::Tagged<v8::internal::WasmImportData>&, std::shared_ptr<v8::
    internal::wasm::WasmImportWrapperHandle>&, v8::internal::wasm::
    CanonicalTypeIndex&, v8::internal::WasmDispatchTable::NewOrExistingEntry&)'
    ```

    For the fix fully qualify calls to SetForWrapper and SetForNonWrapper with
    ::v8::internal:: to avoid accidental lookup of class member names.
    This resolves template resolution errors caused by unqualified
    calls inside WasmDispatchTable and WasmDispatchTableForImports
    member functions.

    Change-Id: I687935a05dc754db686deaa0f93079d350aae07e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7107891
    Reviewed-by: Patrick Thier <pthier@chromium.org>
    Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
    Commit-Queue: Milad Farazmand <mfarazma@ibm.com>
    Cr-Commit-Position: refs/heads/main@{#103547}

Refs: v8/v8@151d0a4
Co-authored-by: Michaël Zasso <targos@protonmail.com>
PR-URL: #60488
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
targos added a commit that referenced this pull request Nov 13, 2025
Refs: v8/v8@599866f
PR-URL: #60488
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
targos added a commit that referenced this pull request Nov 13, 2025
Refs: v8/v8@e2e6dd8
PR-URL: #60488
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
@targos targos deleted the v8-143 branch November 13, 2025 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no pending requests for changes, and a CI started. build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. semver-major PRs that contain breaking changes and should be released in the next major version. v8 engine Issues and PRs related to the V8 dependency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.