Skip to content

Update V8 before the release of v19.0.0 #44650

Description

@targos

Currently, V8 on main is at version 10.2.154.15 (the same as v18.x).
The stable V8 version today is 10.5 and 10.7 will be stable on Oct 18 (the release date of Node.js 19.0.0).

Unfortunately, a few issues have been preventing us from upgrading for months and they are still unresolved.
Keeping V8 up to date is essential to Node.js' success in the long term, so it would be very unfortunate to release v19.0.0 without a newer version.

Here are the issues blocking the upgrade:

CI is still running with the latest canary (https://ci.nodejs.org/job/node-test-commit/56400/). I hope it won't find other issues.

/cc @nodejs/collaborators @nodejs/tsc @nodejs/v8 any help will be appreciated.

Activity

  1. added
    help wantedIssues that need assistance from volunteers or PRs that need help to proceed.
    v8 engineIssues and PRs related to the V8 dependency.
    on Sep 15, 2022
  2. JakobJingleheimer commented on Sep 15, 2022

    @JakobJingleheimer
    Member

    These are all C/C++ related issues, right? (If so, sorry, I haven't used that in ~10-15 years 😞)

  3. bnoordhuis commented on Sep 15, 2022

    @bnoordhuis
    Member

    Only "Build error Windows" seems like a showstopper, that's a tier 1 platform. I'll take a look.

    The other platforms are not tier 1. It's okay to go ahead and release v19.0.0 without binaries for them and fix it later.

    W.r.t. nodejs/node-v8#236: #44049 - just needs minor fix-ups for Windows, IIRC.

  4. Flarna commented on Sep 15, 2022

    @Flarna
    Member

    I guess the "crashes with debug build" are also relevant for release binaries as these checks are an indication that something wrong is done.

  5. bnoordhuis commented on Sep 15, 2022

    @bnoordhuis
    Member

    They are, but I don't think it's really serious and something we can fix over time.

    The problem is well-known (calling into the runtime when it's tearing down) and there's a sledgehammer fix if necessary:

    diff --git a/src/env-inl.h b/src/env-inl.h
    index e04c0c2cf17..49c16340a67 100644
    --- a/src/env-inl.h
    +++ b/src/env-inl.h
    @@ -607,7 +607,9 @@ void Environment::RequestInterrupt(Fn&& cb) {
     }
     
     inline bool Environment::can_call_into_js() const {
    -  return can_call_into_js_ && !is_stopping();
    +  return can_call_into_js_ &&
    +         !is_stopping() &&
    +         !isolate_->IsExecutionTerminating();
     }
     
     inline void Environment::set_can_call_into_js(bool can_call_into_js) {
  6. bnb commented on Sep 15, 2022

    @bnb
    Contributor

    10.7 will be stable on Oct 18 (the release date of Node.js 19.0.0).

    Question for curiosity, absolutely not blocking: is this potentially worth shifting 19.0.0 back a week for?

  7. mcollina commented on Sep 15, 2022

    @mcollina
    SponsorMember

    I'd go one step further: we should wait releasing v19 until this is sorted.

  8. mhdawson commented on Sep 15, 2022

    @mhdawson
    Member

    @mcollina I'm not sure about dealying v19. If we can't resolve in the next month then it could be months more before we do. Since v19 is not going to be promoted to LTS I think its a bit less crucial to have the latest LTS.

    I do agree that keeping V8 up to date is important but delaying v19 for a long time would have consequences for our LTS release, as by policy LTS has to happen after the new current, and also by policy things need to bake in Current, so Node.js 18 would stagnate. We've worked quite hard to make our releases predictable and to stick to the target dates.

  9. mhdawson commented on Sep 15, 2022

    @mhdawson
    Member

    And to clarify, I'm not necessary concerned about a 1 week slip to give us a week, but delaying indefintely is a concern.

  10. srl295 commented on Sep 15, 2022

    @srl295
    Member

    Hi folks.

    Since v19 is not going to be promoted to LTS I think its a bit less crucial to have the latest LTS

    if v19 is not LTS would it be possible to bring the v8 bump in a later 19.x.x ? (a week later) then there would at least give the new v8 time to bake.

  11. aduh95 commented on Sep 15, 2022

    @aduh95
    Contributor

    if v19 is not LTS would it be possible to bring the v8 bump in a later 19.x.x ? (a week later) then there would at least give the new v8 time to bake.

    Current versions of Node.js are subject to semver as much as LTS ones, if upgrading V8 is a breaking change (and it likely will be), it won't be able to land. There are of course ways to workaround this (e.g. by applying patches on top of V8 to address the breaking changes), and the TSC can also decide to disregard semver rules and land it even if it's breaking (there's precedent for it), but it would be better for everyone to have an up-to-date version of V8 already on main by the time we release v19.0.0.

    Maybe discussions regarding the release schedule should be taken to nodejs/Release, and we should keep this issue focus on fixing the V8 issues.

  12. bnb commented on Sep 15, 2022

    @bnb
    Contributor

    if v19 is not LTS would it be possible to bring the v8 bump in a later 19.x.x ? (a week later) then there would at least give the new v8 time to bake.

    IMO no we should not do mid-line upgrade, it'd need to go into 20 (which would be 6 months away).

  13. mhdawson commented on Sep 16, 2022

    @mhdawson
    Member

    @bahamat can you help resolve the smartos issue?

  14. bahamat commented on Sep 16, 2022

    @bahamat

    @mhdawson Yes, I’ll see what we can do.

  15. added a commit that references this issue on May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedIssues that need assistance from volunteers or PRs that need help to proceed.v8 engineIssues and PRs related to the V8 dependency.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions