Skip to content

deps: cherry-pick d9fbfeb from upstream V8 - #23886

Closed
kjin wants to merge 1 commit into
nodejs:masterfrom
kjin:v8-float-d9fbfeb
Closed

deps: cherry-pick d9fbfeb from upstream V8#23886
kjin wants to merge 1 commit into
nodejs:masterfrom
kjin:v8-float-d9fbfeb

Conversation

@kjin

@kjinkjin commented Oct 25, 2018

Copy link
Copy Markdown
Contributor

Original commit message:

inspector: return [[StableObjectId]] as internal property
This property might be useful for fast '===' check.
R=dgozman@chromium.org,yangguo@chromium.org
Bug: none
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Iabc3555ce1ec2c14cf0ccd40b7d964ae144e7352
Reviewed-on: https://chromium-review.googlesource.com/1226411
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56095}

This commit allows us to determine the structure of circular objects through inspector (before, there was no surefire way to know if you entered an infinite loop while recursively iterating through an object's properties, because each object returned through the inspector was given a unique, monotonically increasing ID.

Hopefully, this change can make it into v10 and v11 at the very least.

cc/ @ak239@ofrobots

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

@nodejs-github-botnodejs-github-bot added the v8 engine Issues and PRs related to the V8 dependency. label Oct 25, 2018
Comment threaddeps/v8/include/v8-version.h Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This doesn't look right... 7.0.276.29 is: v8/v8@7.0.276.28...7.0.276.29

Please follow https://github.com/nodejs/node/blob/master/doc/guides/maintaining-V8.md#maintenance-process for backports. If V8 7.0 is an abandoned branch, then bump the v8_embedder_string number in common.gypi.

cc @nodejs/v8

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Oops, not sure why I thought this was the number to increment. I've changed it back and incremented the patch level in common.gypi.

I think @ak239 mentioned to me in the past that it would be better not to land this on V8 7.0.

@refackrefack left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

RSLGTM

@refackrefack added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Oct 26, 2018
@refack

Copy link
Copy Markdown
Contributor

Let's see if this needs changes to node's test suite as well:
PR CI: https://ci.nodejs.org/job/node-test-pull-request/18177/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/1791/

@refackrefack added the inspector Issues and PRs related to the V8 inspector protocol label Oct 26, 2018
@refack

Copy link
Copy Markdown
Contributor

Fails across the board for the V8 CI, e.g. https://ci.nodejs.org/job/node-test-commit-v8-linux/1791/nodes=benchmark,v8test=v8test/testReport/junit/(root)/v8tests/inspector_runtime_stable_object_id/

Failed: v8tests.inspector/runtime/stable-object-id
Stacktrace
stdout:
Checks that protocol returns the same RemoteObjectId for the same object
Running test: testGlobal
Compare global evaluated twice: true
Running test: testObject
Compare object evaluated twice: true
Running test: testObjectInArray
Compare first and second element: true
Running test: testObjectOnPause
Compare global and this: true
Compare global and global on pause: false
Compare a and a on pause: true
Command: /home/iojs/build/workspace/node-test-commit-v8-linux/nodes/benchmark/v8test/v8test/deps/v8/out.gn/x64.release/inspector-test /home/iojs/build/workspace/node-test-commit-v8-linux/nodes/benchmark/v8test/v8test/deps/v8/test/inspector/protocol-test.js /home/iojs/build/workspace/node-test-commit-v8-linux/nodes/benchmark/v8test/v8test/deps/v8/test/inspector/runtime/stable-object-id.js --random-seed=-1778458991 --nohard-abort

@refackrefack removed the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Oct 26, 2018
@kjin

kjin commented Oct 26, 2018

Copy link
Copy Markdown
ContributorAuthor

@ak239 do you know why these tests might be failing? Is there a pre-requisite change that would also need to get floated?

@Trott

Trott commented Nov 6, 2018

Copy link
Copy Markdown
Member

Is work ongoing with this? (If so, it could use a rebase to get rid of the merge conflict.)

@alexkozy

Copy link
Copy Markdown
Member

@kjin I missed this PR, feel free to ping me using email next time.
I believe that issue here is that v8 does not contain my another patch. Feel free to remove this line from test output: Compare global and global on pause and merge this PR.

@kjin

kjin commented Nov 6, 2018

Copy link
Copy Markdown
ContributorAuthor

@ak239 Thanks for the update! I'll go ahead and do so.

@kjin
kjinforce-pushed the v8-float-d9fbfeb branch 2 times, most recently from e5bb4b7 to bff312eCompareNovember 8, 2018 00:44
@kjin

kjin commented Nov 8, 2018

Copy link
Copy Markdown
ContributorAuthor

@Trott@refack I've rebased and removed the failing test as per @ak239's instructions. Not sure if Travis CI represents the extent of CI needed but it seems like it is green.

@refack

Copy link
Copy Markdown
Contributor

Not sure if Travis CI represents the extent of CI needed but it seems like it is green.

Travis is just quick sanity, we need validation from out CI cluster:
PR CI: https://ci.nodejs.org/job/node-test-pull-request/18427/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/1826/

@kjin

kjin commented Nov 8, 2018

Copy link
Copy Markdown
ContributorAuthor

Seems like there was a line I forgot to change. @refack, would you mind running it again? Also, do you know how I can run the V8 tests locally?

@refack

Copy link
Copy Markdown
Contributor

@refack

Copy link
Copy Markdown
Contributor

Also, do you know how I can run the V8 tests locally?

If you look at the few first lines of the CI's console output
You'll see:

./configure
make -j 8 test-v8 V=1 DESTCPU=x64 ARCH=x64.release ENABLE_V8_TAP=True V8_EXTRA_TEST_OPTIONS=--progress=dots --timeout=120

Most importantly is make test-v8. Just FYI it pulls the test tooling from the V8 repo with depot_tools.

Original commit message:
inspector: return [[StableObjectId]] as internal property
This property might be useful for fast '===' check.
R=dgozman@chromium.org,yangguo@chromium.org
Bug: none
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Iabc3555ce1ec2c14cf0ccd40b7d964ae144e7352
Reviewed-on: https://chromium-review.googlesource.com/1226411
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{nodejs#56095}
@kjin

kjin commented Nov 29, 2018

Copy link
Copy Markdown
ContributorAuthor

@refack@ryzokuken@jasnell I believe this is ready to be landed... (pushes have just been to upgrade the V8 embedder string in common.gypi)

@kjin

kjin commented Jan 3, 2019

Copy link
Copy Markdown
ContributorAuthor

Seems like landing V8 7.1 on master has superseded this PR... closing.

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

Labels

inspectorIssues and PRs related to the V8 inspector protocolv8 engineIssues and PRs related to the V8 dependency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@kjin@refack@Trott@alexkozy@jasnell@richardlau@ryzokuken@nodejs-github-bot