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

deps: update V8 to 6.8 #21079

Closed
wants to merge 18 commits into
base: master
from

Conversation

@targos
Member

targos commented Jun 1, 2018

ETA: July 24th

/cc @nodejs/v8-update @nodejs/tsc

@targos targos requested a review from nodejs/tsc as a code owner Jun 1, 2018

@targos targos removed the build label Jun 1, 2018

@mmarchini

This comment has been minimized.

Show comment
Hide comment
@mmarchini

mmarchini Jun 1, 2018

Member

Just an FYI (not a blocker): llnode is not ready for V8 6.8 yet, but I believe we'll finish the changes needed before June 24th.

PR if anyone is interested: nodejs/llnode#201

Member

mmarchini commented Jun 1, 2018

Just an FYI (not a blocker): llnode is not ready for V8 6.8 yet, but I believe we'll finish the changes needed before June 24th.

PR if anyone is interested: nodejs/llnode#201

@psmarshall

This comment has been minimized.

Show comment
Hide comment
@psmarshall

psmarshall Jun 1, 2018

Contributor

We will need the V8 ABI compat patch to make the ABI look like 6.7 - I'll work on that in about 2 weeks and link it here.

Contributor

psmarshall commented Jun 1, 2018

We will need the V8 ABI compat patch to make the ABI look like 6.7 - I'll work on that in about 2 weeks and link it here.

@targos

This comment has been minimized.

Show comment
Hide comment
@targos

targos Jun 1, 2018

Member

macOS issue is a compiler issue. It is fixed in versions 10.11 and 10.12: https://ci.nodejs.org/job/node-test-commit-osx-targos/3/

@mhdawson

Member

targos commented Jun 1, 2018

macOS issue is a compiler issue. It is fixed in versions 10.11 and 10.12: https://ci.nodejs.org/job/node-test-commit-osx-targos/3/

@mhdawson

@ofrobots

This comment has been minimized.

Show comment
Hide comment
@ofrobots

ofrobots Jun 1, 2018

Contributor

@psmarshall The V8 6.7 compat patch is not needed for this to land on master, but it would still be good to have it sooner rather than later.

Contributor

ofrobots commented Jun 1, 2018

@psmarshall The V8 6.7 compat patch is not needed for this to land on master, but it would still be good to have it sooner rather than later.

@targos targos referenced this pull request Jun 4, 2018

Closed

macOS build failure #63

@mhdawson

This comment has been minimized.

Show comment
Hide comment
@mhdawson

mhdawson Jun 5, 2018

Member

We'll need to adjust the OSX machines for testing/release @gdams can you help to get an OSX 10.11 machine setup for release? @rvagg we should also schedule a talk with @gdams about OSX and mac stadium.

Member

mhdawson commented Jun 5, 2018

We'll need to adjust the OSX machines for testing/release @gdams can you help to get an OSX 10.11 machine setup for release? @rvagg we should also schedule a talk with @gdams about OSX and mac stadium.

static void BackgroundRunner(void* data) {
namespace {
static void WorkerThreadMain(void* data) {
TRACE_EVENT_METADATA1("__metadata", "thread_name", "name",
"BackgroundTaskRunner");

This comment has been minimized.

@targos

targos Jun 10, 2018

Member

Do we have to change this? @nodejs/trace-events

@targos

targos Jun 10, 2018

Member

Do we have to change this? @nodejs/trace-events

This comment has been minimized.

@ofrobots

ofrobots Jun 10, 2018

Contributor

It makes sense to change this to match the concept name actually used by V8, that is, 'WorkerThread'. However, things going to get really confusing since we also have worker_threads from #20876.

One of these concepts needs to be renamed for sanity's sake. /cc @addaleax

@ofrobots

ofrobots Jun 10, 2018

Contributor

It makes sense to change this to match the concept name actually used by V8, that is, 'WorkerThread'. However, things going to get really confusing since we also have worker_threads from #20876.

One of these concepts needs to be renamed for sanity's sake. /cc @addaleax

This comment has been minimized.

@ofrobots

ofrobots Jun 10, 2018

Contributor

One option would be to use something like 'PlatformWorkerThread' here.

@ofrobots

ofrobots Jun 10, 2018

Contributor

One option would be to use something like 'PlatformWorkerThread' here.

@hashseed

This comment has been minimized.

Show comment
Hide comment
@hashseed

hashseed Jun 10, 2018

Member

@psmarshall The V8 6.7 compat patch is not needed for this to land on master, but it would still be good to have it sooner rather than later.

Peter will work on this next week.

Member

hashseed commented Jun 10, 2018

@psmarshall The V8 6.7 compat patch is not needed for this to land on master, but it would still be good to have it sooner rather than later.

Peter will work on this next week.

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack Jun 10, 2018

Member

macOS issue is a compiler issue. It is fixed in versions 10.11 and 10.12: ci.nodejs.org/job/node-test-commit-osx-targos/3

Googling and digging brought up this: https://stackoverflow.com/questions/23791060/c-thread-local-storage-clang-503-0-40-mac-osx

Might be helpful if someone from Apple would comment if simply updating xcode will solve this (cough @gibfahn cough)

Member

refack commented Jun 10, 2018

macOS issue is a compiler issue. It is fixed in versions 10.11 and 10.12: ci.nodejs.org/job/node-test-commit-osx-targos/3

Googling and digging brought up this: https://stackoverflow.com/questions/23791060/c-thread-local-storage-clang-503-0-40-mac-osx

Might be helpful if someone from Apple would comment if simply updating xcode will solve this (cough @gibfahn cough)

@mhdawson

This comment has been minimized.

Show comment
Hide comment
@mhdawson

mhdawson Jun 19, 2018

Member

Issue for OSX in build repo: nodejs/build#1358

Member

mhdawson commented Jun 19, 2018

Issue for OSX in build repo: nodejs/build#1358

@jasnell

rubber stamp LGTM

@targos

This comment has been minimized.

Show comment
Hide comment
Member

targos commented Jul 4, 2018

@psmarshall psmarshall referenced this pull request Jul 5, 2018

Closed

[v10.x] deps: update V8 to 6.8 #21668

2 of 2 tasks complete
@mcollina

rubber stamp LGTM once CI passes.

@targos

This comment has been minimized.

Show comment
Hide comment
Member

targos commented Jul 24, 2018

@targos

This comment has been minimized.

Show comment
Hide comment
@targos

targos Jul 25, 2018

Member

CI is green and Chrome 68 was released yesterday. This is now just blocked on nodejs/build#1409.

Member

targos commented Jul 25, 2018

CI is green and Chrome 68 was released yesterday. This is now just blocked on nodejs/build#1409.

@refack

This comment has been minimized.

Show comment
Hide comment
@refack
Member

refack commented Jul 25, 2018

nodejs/build#1409 landed (just with support for master ATM).
So https://ci.nodejs.org/job/node-test-commit-osx/20003/

targos added a commit that referenced this pull request Jul 29, 2018

src: rename WorkerThreadMain to PlatformWorkerThread
Refs: #21079 (comment)

PR-URL: #21982
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
@motss

This comment has been minimized.

Show comment
Hide comment
@motss

motss Aug 2, 2018

May I ask which node version this is targeting?

motss commented Aug 2, 2018

May I ask which node version this is targeting?

MylesBorins added a commit that referenced this pull request Aug 10, 2018

deps: update V8 to 6.8.275.24
Backport-PR-URL: #21668
PR-URL: #21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>

MylesBorins added a commit that referenced this pull request Aug 10, 2018

build: reset embedder string to "-node.0"
Backport-PR-URL: #21668
PR-URL: #21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>

MylesBorins added a commit that referenced this pull request Aug 10, 2018

deps: update v8.gyp and run Torque
Synchronize source files list with upstream's BUILD.gn.

Teach v8.gyp to build and run torque, V8's DSL for generating builtins.

On Windows, the torque binary needs to be compiled and linked
with exception semantics and assume V8 is embedded.

Fixes: nodejs/node-v8#57

Co-Authored-By: Ben Noordhuis <info@bnoordhuis.nl>
Co-Authored-By: Refael Ackermann <refack@gmail.com>

Backport-PR-URL: #21668
PR-URL: #21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>

MylesBorins added a commit that referenced this pull request Aug 10, 2018

deps: cherry-pick aa6ce3e from upstream V8
Original commit message:

    [log][api] introduce public CodeEventListener API

    Introduce a new public API called CodeEventListener to allow embedders
    to better support external profilers and other diagnostic tools without
    relying on unsupported methods like --perf-basic-prof.

    Bug: v8:7694
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: I063cc965394d59401358757634c9ea84c11517e9
    Co-authored-by: Daniel Beckert <daniel@sthima.com.br>
    Reviewed-on: https://chromium-review.googlesource.com/1028770
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Hannes Payer <hpayer@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53382}

Refs: v8/v8@aa6ce3e

Backport-PR-URL: #21668
PR-URL: #21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>

MylesBorins added a commit that referenced this pull request Aug 10, 2018

test: fix scriptParsed event expectations
As per Node.js docs, vm.Script instance is not bound to any context.

However, this test was expecting otherwise and depended on
implementation details which are going to change.

Refs: https://chromium-review.googlesource.com/c/v8/v8/+/1013581

Backport-PR-URL: #21668
PR-URL: #21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>

MylesBorins added a commit that referenced this pull request Aug 10, 2018

test: update postmortem metadata test
This commit updates the following postmortem metadata constant:

- v8dbg_context_idx_closure
  - Renamed: v8dbg_context_idx_scope_info
  - V8 commit: v8/v8@39496a9#diff-f3f182b0510ba2ee39ae87e421ff110b

Fixes: nodejs/node-v8#59

Backport-PR-URL: #21668
PR-URL: #21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>

rvagg added a commit that referenced this pull request Aug 13, 2018

2018-08-15, Version 10.9.0 (Current)
Notable changes:

* deps: Upgrade V8 from 6.7 to 6.8 (Michaël Zasso) #21079
  * Memory reduction and performance improvements, details at:
    https://v8project.blogspot.com/2018/06/v8-release-68.html
* fs: Implement a fs.mkdir() recursive option, similar to the mkdirp npm package
  or mkdir -p on the command line (Benjamin Coe) #21875
* http: http.get() and http.request() (and https variants) can now accept three
  arguments to allow for a URL and an options object (Sam Ruby) #21616

@rvagg rvagg referenced this pull request Aug 13, 2018

Merged

Release proposal: v10.9.0 #22295

rvagg added a commit that referenced this pull request Aug 13, 2018

2018-08-15, Version 10.9.0 (Current)
Notable changes:

* deps: Upgrade V8 from 6.7 to 6.8 (Michaël Zasso) #21079
  * Memory reduction and performance improvements, details at:
    https://v8project.blogspot.com/2018/06/v8-release-68.html
* fs: Implement a fs.mkdir() recursive option, similar to the mkdirp npm package
  or mkdir -p on the command line (Benjamin Coe) #21875
* http: http.get() and http.request() (and https variants) can now accept three
  arguments to allow for a URL and an options object (Sam Ruby) #21616

rvagg added a commit that referenced this pull request Aug 15, 2018

2018-08-15, Version 10.9.0 (Current)
Notable changes:

* deps: Upgrade V8 from 6.7 to 6.8 (Michaël Zasso) #21079
  * Memory reduction and performance improvements, details at:
    https://v8project.blogspot.com/2018/06/v8-release-68.html
* fs: Implement a fs.mkdir() recursive option, similar to the mkdirp npm package
  or mkdir -p on the command line (Benjamin Coe) #21875
* http: http.get() and http.request() (and https variants) can now accept three
  arguments to allow for a URL and an options object (Sam Ruby) #21616
* Added new collaborators
  * Sam Ruby (https://github.com/rubys)
  * George Adams (https://github.com/gdams)

rvagg added a commit that referenced this pull request Aug 16, 2018

2018-08-15, Version 10.9.0 (Current)
Notable changes:

* buffer:
  * Fix out-of-bounds (OOB) write in `Buffer.write()` for UCS-2 encoding
    (CVE-2018-12115)
  * Fix unintentional exposure of uninitialized memory in `Buffer.alloc()`
    (CVE-2018-7166)
* deps:
  * Upgrade to OpenSSL 1.1.0i, fixing:
    - Client DoS due to large DH parameter (CVE-2018-0732)
    - ECDSA key extraction via local side-channel (CVE not assigned)
  * Upgrade V8 from 6.7 to 6.8 (Michaël Zasso) #21079
    - Memory reduction and performance improvements, details at:
      https://v8project.blogspot.com/2018/06/v8-release-68.html
* http: `http.get()` and `http.request()` (and `https` variants) can now accept
  three arguments to allow for a `URL` _and_ an `options` object
  (Sam Ruby) #21616
* Added new collaborators
  * Sam Ruby (https://github.com/rubys)
  * George Adams (https://github.com/gdams)

rvagg added a commit that referenced this pull request Aug 16, 2018

2018-08-15, Version 10.9.0 (Current)
Notable changes:

* buffer:
  * Fix out-of-bounds (OOB) write in `Buffer.write()` for UCS-2 encoding
    (CVE-2018-12115)
  * Fix unintentional exposure of uninitialized memory in `Buffer.alloc()`
    (CVE-2018-7166)
* deps:
  * Upgrade to OpenSSL 1.1.0i, fixing:
    - Client DoS due to large DH parameter (CVE-2018-0732)
    - ECDSA key extraction via local side-channel (CVE not assigned)
  * Upgrade V8 from 6.7 to 6.8 (Michaël Zasso) #21079
    - Memory reduction and performance improvements, details at:
      https://v8project.blogspot.com/2018/06/v8-release-68.html
* http: `http.get()` and `http.request()` (and `https` variants) can now accept
  three arguments to allow for a `URL` _and_ an `options` object
  (Sam Ruby) #21616
* Added new collaborators
  * Sam Ruby (https://github.com/rubys)
  * George Adams (https://github.com/gdams)

nornagon added a commit to electron/node that referenced this pull request Sep 18, 2018

backport: src: use modern v8::Platform worker threads APIs
Precursor to removing deprecated APIs on the v8 side @
https://chromium-review.googlesource.com/c/v8/v8/+/1045310

PR-URL: nodejs/node#21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
(cherry-picked from 0f3c2c64d2fe73394e5a40c79f626d9d09c7cd5d)

@targos targos added this to Backported in v10.x Sep 23, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment