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

deps: cherry-pick d9fbfeb from upstream V8 #23886

Closed
wants to merge 1 commit into from

Conversation

kjin
Copy link
Contributor

@kjin kjin commented Oct 25, 2018

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-bot nodejs-github-bot added the v8 engine Issues and PRs related to the V8 dependency. label Oct 25, 2018
@@ -11,7 +11,7 @@
#define V8_MAJOR_VERSION 7
#define V8_MINOR_VERSION 0
#define V8_BUILD_NUMBER 276
#define V8_PATCH_LEVEL 28
#define V8_PATCH_LEVEL 29
Copy link
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
Contributor Author

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.

Copy link
Contributor

@refack refack left a comment

Choose a reason for hiding this comment

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

RSLGTM

@refack refack 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
Contributor

refack commented Oct 26, 2018

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/

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

refack commented Oct 26, 2018

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

@refack refack 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
Copy link
Contributor Author

kjin commented Oct 26, 2018

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

@Trott
Copy link
Member

Trott commented Nov 6, 2018

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

@alexkozy
Copy link
Member

alexkozy commented Nov 6, 2018

@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
Copy link
Contributor Author

kjin commented Nov 6, 2018

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

@kjin kjin force-pushed the v8-float-d9fbfeb branch 2 times, most recently from e5bb4b7 to bff312e Compare November 8, 2018 00:44
@kjin
Copy link
Contributor Author

kjin commented Nov 8, 2018

@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
Contributor

refack commented Nov 8, 2018

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
Copy link
Contributor Author

kjin commented Nov 8, 2018

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
Contributor

refack commented Nov 8, 2018

@refack
Copy link
Contributor

refack commented Nov 8, 2018

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@{#56095}
@kjin
Copy link
Contributor Author

kjin commented Nov 29, 2018

@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
Copy link
Contributor Author

kjin commented Jan 3, 2019

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inspector Issues and PRs related to the V8 inspector protocol v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants