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

repl: show lexically scoped vars in tab completion #16591

Closed
wants to merge 2 commits into
base: master
from

Conversation

@targos
Member

targos commented Oct 29, 2017

Use the V8 inspector protocol to query the list of lexically scoped
variables (defined with let, const or class).

Fixes: #983

This is not ready to be merged. I still have to add tests and handle the case in which the inspector is already open.
Completion is working but there is one issue: every time tab is pressed, this message is printed to the console:

Debugger listening on ws://127.0.0.1:9229/uuid
For help see https://nodejs.org/en/docs/inspector

Can I prevent that from happening?

@addaleax

This is really cool, thank you! I can look into a PR for the stderr message if you like

Show outdated Hide outdated lib/repl.js Outdated
Show outdated Hide outdated lib/repl.js Outdated
@TimothyGu

The conflict with existing connections is a blocker for me.

Show outdated Hide outdated lib/repl.js Outdated
Show outdated Hide outdated lib/repl.js Outdated
Show outdated Hide outdated lib/repl.js Outdated
@targos

This comment has been minimized.

Show comment
Hide comment
@targos

targos Oct 30, 2017

Member

I can look into a PR for the stderr message if you like

@addaleax Thanks, but now that I don't start the server, there is no message :)

Member

targos commented Oct 30, 2017

I can look into a PR for the stderr message if you like

@addaleax Thanks, but now that I don't start the server, there is no message :)

@TimothyGu

An idea I've been toying around with is always have an internal reference to the currently open inspector.Session, so that we can internally use that for side-effect-free operations like this. Doesn't have to be in this PR though.

Show outdated Hide outdated lib/repl.js Outdated
Show outdated Hide outdated lib/repl.js Outdated
@targos

This comment has been minimized.

Show comment
Hide comment
@targos

targos Oct 30, 2017

Member

I am having trouble writing the test (see 0980529 for current state).

I think the problem is that the test repl does not run in the main context, so Runtime.globalLexicalScopeNames returns an empty array. It is possible to optionally pass an ExecutionContextId to the command. I just have no idea how to get this id.

/cc @nodejs/v8-inspector

Member

targos commented Oct 30, 2017

I am having trouble writing the test (see 0980529 for current state).

I think the problem is that the test repl does not run in the main context, so Runtime.globalLexicalScopeNames returns an empty array. It is possible to optionally pass an ExecutionContextId to the command. I just have no idea how to get this id.

/cc @nodejs/v8-inspector

@@ -24,6 +24,7 @@
const common = require('../common');
const assert = require('assert');
const fixtures = require('../common/fixtures');
const hasInspector = process.config.variables.v8_enable_inspector === 1;

This comment has been minimized.

@Fishrock123

Fishrock123 Oct 30, 2017

Member

This doesn't seem to be used?

@Fishrock123

Fishrock123 Oct 30, 2017

Member

This doesn't seem to be used?

This comment has been minimized.

@targos

targos Oct 30, 2017

Member

I'm going to use it when I figure out how to make the test work

@targos

targos Oct 30, 2017

Member

I'm going to use it when I figure out how to make the test work

@eugeneo

This comment has been minimized.

Show comment
Hide comment
@eugeneo

eugeneo Nov 20, 2017

Contributor

Soft non-LGTM.

Wouldn't this make it harder/impossible to use modules that rely on Inspector APIs in the REPL? Also, I wonder how common it is for the users to want to connect inspector to REPL node instance.

Please note that https://bugs.chromium.org/p/chromium/issues/detail?id=129539 is fixed now. I would prefer to give Chrome some time to detect/fix any related issues and then add concurrent inspector sessions support to Node, probably in Node10 timeframe.

@TimothyGu

An idea I've been toying around with is always have an internal reference to the currently open
inspector.Session, so that we can internally use that for side-effect-free operations like this. Doesn't
have to be in this PR though.

This would require cooperation from other API clients. They may rely on specific inspector session state (e.g. one client may rely on a breakpoint while another one might disable all the breakpoints for some time). Multi-session will be a cleaner solution.

Contributor

eugeneo commented Nov 20, 2017

Soft non-LGTM.

Wouldn't this make it harder/impossible to use modules that rely on Inspector APIs in the REPL? Also, I wonder how common it is for the users to want to connect inspector to REPL node instance.

Please note that https://bugs.chromium.org/p/chromium/issues/detail?id=129539 is fixed now. I would prefer to give Chrome some time to detect/fix any related issues and then add concurrent inspector sessions support to Node, probably in Node10 timeframe.

@TimothyGu

An idea I've been toying around with is always have an internal reference to the currently open
inspector.Session, so that we can internally use that for side-effect-free operations like this. Doesn't
have to be in this PR though.

This would require cooperation from other API clients. They may rely on specific inspector session state (e.g. one client may rely on a breakpoint while another one might disable all the breakpoints for some time). Multi-session will be a cleaner solution.

@TimothyGu

This comment has been minimized.

Show comment
Hide comment
@TimothyGu

TimothyGu Nov 20, 2017

Member

Multi-session will be a cleaner solution.

Certainly. Just wasn't sure about the timeline of such support in V8, and it could be a useful addition if such support in V8 will be a long time in coming.

Member

TimothyGu commented Nov 20, 2017

Multi-session will be a cleaner solution.

Certainly. Just wasn't sure about the timeline of such support in V8, and it could be a useful addition if such support in V8 will be a long time in coming.

@targos

This comment has been minimized.

Show comment
Hide comment
@targos

targos Nov 20, 2017

Member

@eugeneo

Wouldn't this make it harder/impossible to use modules that rely on Inspector APIs in the REPL?

I am not exactly sure what your concern is. If an inspector session is already open, the completion should behave as it does now. If not, I connect just to get the names and disconnect immediately. The function is synchronous, so I don't see how it can affect other modules?

IMO this is better than nothing, while we wait for multi-session support.

Member

targos commented Nov 20, 2017

@eugeneo

Wouldn't this make it harder/impossible to use modules that rely on Inspector APIs in the REPL?

I am not exactly sure what your concern is. If an inspector session is already open, the completion should behave as it does now. If not, I connect just to get the names and disconnect immediately. The function is synchronous, so I don't see how it can affect other modules?

IMO this is better than nothing, while we wait for multi-session support.

@Fishrock123

This comment has been minimized.

Show comment
Hide comment
@Fishrock123
Member

Fishrock123 commented Nov 23, 2017

cc @nodejs/v8-inspector again, any idea about #16591 (comment)?

@TimothyGu

This comment has been minimized.

Show comment
Hide comment
@TimothyGu

TimothyGu Nov 24, 2017

Member

@targos You can get the ExecutionContextIds by listening for Runtime.executionContextCreated events, and then pass in Runtime.enable so that created events start coming in. You also get some extra information about the context in the form of ExecutionContextDescription, and you'll be able to filter out the main context by looking at the name field of the description. After that, Runtime.disable would stop new Runtime.executionContextCreated events from coming in.

However, if there are more than two contexts in play (i.e. one main, more than one REPL context), you would have to execute Runtime.enable first and wait until all the Runtime.executionContextCreated for existing contexts are gone, then wait for a final executionContextCreated event when the REPL context for which the ID is desired is created.

Member

TimothyGu commented Nov 24, 2017

@targos You can get the ExecutionContextIds by listening for Runtime.executionContextCreated events, and then pass in Runtime.enable so that created events start coming in. You also get some extra information about the context in the form of ExecutionContextDescription, and you'll be able to filter out the main context by looking at the name field of the description. After that, Runtime.disable would stop new Runtime.executionContextCreated events from coming in.

However, if there are more than two contexts in play (i.e. one main, more than one REPL context), you would have to execute Runtime.enable first and wait until all the Runtime.executionContextCreated for existing contexts are gone, then wait for a final executionContextCreated event when the REPL context for which the ID is desired is created.

@targos targos removed the in progress label Nov 24, 2017

@targos

This comment has been minimized.

Show comment
Hide comment
@targos
Member

targos commented Nov 24, 2017

@TimothyGu thank you, this was very informative!

I think I finally got it right.

CI: https://ci.nodejs.org/job/node-test-pull-request/11687/
V8: https://ci.nodejs.org/job/node-test-commit-v8-linux/1076/

@BridgeAR

JS part LGTM

@BridgeAR

This comment has been minimized.

Show comment
Hide comment
@BridgeAR

BridgeAR Dec 10, 2017

Member

@targos this needs a rebase. And would you be so kind and start a new CI? I guess the failed tests were not an issue but it would be good to be able to look at it again.

Member

BridgeAR commented Dec 10, 2017

@targos this needs a rebase. And would you be so kind and start a new CI? I guess the failed tests were not an issue but it would be good to be able to look at it again.

Show outdated Hide outdated lib/internal/util/inspector.js Outdated
Show outdated Hide outdated lib/repl.js Outdated
@targos

This comment has been minimized.

Show comment
Hide comment
@targos

This comment has been minimized.

Show comment
Hide comment
@targos

targos Dec 19, 2017

Member

@BridgeAR I just added a test for inspector in the repl. PTAL

Member

targos commented Dec 19, 2017

@BridgeAR I just added a test for inspector in the repl. PTAL

targos added some commits Dec 21, 2017

deps: cherry-pick 50f7455 from upstream V8
Original commit message:

    [inspector] added Runtime.globalLexicalScopeNames method

    The method returns names for all available top-level scope variables
    in giving context.

    R=dgozman@chromium.org,jgruber@chromium.org

    Bug: chromium:681333
    Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: I2d0b600e1afbfef9087f53ea9c26abe1e112047c
    Reviewed-on: https://chromium-review.googlesource.com/719409
    Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48618}

Refs: v8/v8@50f7455

PR-URL: #16591
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
repl: show lexically scoped vars in tab completion
Use the V8 inspector protocol, if available, to query the list of
lexically scoped variables (defined with `let`, `const` or `class`).

PR-URL: #16591
Fixes: #983
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
@targos

This comment has been minimized.

Show comment
Hide comment

@targos targos deleted the targos:repl-lexical-scope branch Dec 21, 2017

targos added a commit that referenced this pull request Dec 21, 2017

deps: cherry-pick 50f7455 from upstream V8
Original commit message:

    [inspector] added Runtime.globalLexicalScopeNames method

    The method returns names for all available top-level scope variables
    in giving context.

    R=dgozman@chromium.org,jgruber@chromium.org

    Bug: chromium:681333
    Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: I2d0b600e1afbfef9087f53ea9c26abe1e112047c
    Reviewed-on: https://chromium-review.googlesource.com/719409
    Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48618}

Refs: v8/v8@50f7455

PR-URL: #16591
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

targos added a commit that referenced this pull request Dec 21, 2017

repl: show lexically scoped vars in tab completion
Use the V8 inspector protocol, if available, to query the list of
lexically scoped variables (defined with `let`, `const` or `class`).

PR-URL: #16591
Fixes: #983
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

@addaleax addaleax removed the author ready label Dec 29, 2017

MylesBorins added a commit that referenced this pull request Jan 8, 2018

repl: show lexically scoped vars in tab completion
Use the V8 inspector protocol, if available, to query the list of
lexically scoped variables (defined with `let`, `const` or `class`).

PR-URL: #16591
Fixes: #983
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

MylesBorins added a commit that referenced this pull request Jan 9, 2018

repl: show lexically scoped vars in tab completion
Use the V8 inspector protocol, if available, to query the list of
lexically scoped variables (defined with `let`, `const` or `class`).

PR-URL: #16591
Fixes: #983
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

MylesBorins added a commit that referenced this pull request Jan 9, 2018

deps: cherry-pick 50f7455 from upstream V8
Original commit message:

    [inspector] added Runtime.globalLexicalScopeNames method

    The method returns names for all available top-level scope variables
    in giving context.

    R=dgozman@chromium.org,jgruber@chromium.org

    Bug: chromium:681333
    Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: I2d0b600e1afbfef9087f53ea9c26abe1e112047c
    Reviewed-on: https://chromium-review.googlesource.com/719409
    Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48618}

Refs: v8/v8@50f7455

PR-URL: #16591
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

MylesBorins added a commit that referenced this pull request Jan 9, 2018

repl: show lexically scoped vars in tab completion
Use the V8 inspector protocol, if available, to query the list of
lexically scoped variables (defined with `let`, `const` or `class`).

PR-URL: #16591
Fixes: #983
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: Coming Soon

@MylesBorins MylesBorins referenced this pull request Jan 10, 2018

Merged

v9.4.0 proposal #18069

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069
@MylesBorins

This comment has been minimized.

Show comment
Hide comment
@MylesBorins

MylesBorins Jan 10, 2018

Member

This is breaking arm64 odroid on 9.x

https://ci.nodejs.org/job/node-test-commit-arm/13011/nodes=ubuntu1604-arm64_odroid_c2/

g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/v8/src/v8_base.target.mk:598: recipe for target '/home/iojs/build/workspace/node-test-commit-arm/nodes/ubuntu1604-arm64_odroid_c2/out/Release/obj.target/v8_base/deps/v8/src/api.o' failed
make[2]: *** [/home/iojs/build/workspace/node-test-commit-arm/nodes/ubuntu1604-arm64_odroid_c2/out/Release/obj.target/v8_base/deps/v8/src/api.o] Error 4
make[2]: *** Waiting for unfinished jobs....
rm fa4b5595818ee3c6b8e353e33594a7e9a94ec498.intermediate
Makefile:89: recipe for target 'node' failed
make[1]: *** [node] Error 2
Makefile:457: recipe for target 'build-ci' failed
make: *** [build-ci] Error 2
Build step 'Conditional steps (multiple)' marked build as failure
Run condition [Always] enabling perform for step [[]]
TAP Reports Processing: START
Looking for TAP results report in workspace using pattern: *.tap
Did not find any matching files. Setting build result to FAILURE.
Checking ^not ok
Jenkins Text Finder: File set '*.tap' is empty
Notifying upstream projects of job completion
Finished: FAILURE

I've opted to back it out of the v9.4.0

please backport if you can

Member

MylesBorins commented Jan 10, 2018

This is breaking arm64 odroid on 9.x

https://ci.nodejs.org/job/node-test-commit-arm/13011/nodes=ubuntu1604-arm64_odroid_c2/

g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/v8/src/v8_base.target.mk:598: recipe for target '/home/iojs/build/workspace/node-test-commit-arm/nodes/ubuntu1604-arm64_odroid_c2/out/Release/obj.target/v8_base/deps/v8/src/api.o' failed
make[2]: *** [/home/iojs/build/workspace/node-test-commit-arm/nodes/ubuntu1604-arm64_odroid_c2/out/Release/obj.target/v8_base/deps/v8/src/api.o] Error 4
make[2]: *** Waiting for unfinished jobs....
rm fa4b5595818ee3c6b8e353e33594a7e9a94ec498.intermediate
Makefile:89: recipe for target 'node' failed
make[1]: *** [node] Error 2
Makefile:457: recipe for target 'build-ci' failed
make: *** [build-ci] Error 2
Build step 'Conditional steps (multiple)' marked build as failure
Run condition [Always] enabling perform for step [[]]
TAP Reports Processing: START
Looking for TAP results report in workspace using pattern: *.tap
Did not find any matching files. Setting build result to FAILURE.
Checking ^not ok
Jenkins Text Finder: File set '*.tap' is empty
Notifying upstream projects of job completion
Finished: FAILURE

I've opted to back it out of the v9.4.0

please backport if you can

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

deps: cherry-pick 50f7455 from upstream V8
Original commit message:

    [inspector] added Runtime.globalLexicalScopeNames method

    The method returns names for all available top-level scope variables
    in giving context.

    R=dgozman@chromium.org,jgruber@chromium.org

    Bug: chromium:681333
    Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: I2d0b600e1afbfef9087f53ea9c26abe1e112047c
    Reviewed-on: https://chromium-review.googlesource.com/719409
    Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48618}

Refs: v8/v8@50f7455

PR-URL: #16591
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

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

repl: show lexically scoped vars in tab completion
Use the V8 inspector protocol, if available, to query the list of
lexically scoped variables (defined with `let`, `const` or `class`).

PR-URL: #16591
Fixes: #983
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069
@MylesBorins

This comment has been minimized.

Show comment
Hide comment
@MylesBorins

MylesBorins Jan 10, 2018

Member

Never mind... I don't think failure is related as https://ci.nodejs.org/job/node-test-commit-arm/13013/ passed with this Pr included. I've added it back to the release.

Member

MylesBorins commented Jan 10, 2018

Never mind... I don't think failure is related as https://ci.nodejs.org/job/node-test-commit-arm/13013/ passed with this Pr included. I've added it back to the release.

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

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    #16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    #17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    #17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    #16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    #17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    #17672
* http2:
  - implement maxSessionMemory (James M Snell)
    #17967
  - add initial support for originSet (James M Snell)
    #17935
  - add altsvc support (James M Snell)
    #17917
  - perf_hooks integration (James M Snell)
    #17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) #17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    #17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    #13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    #16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    #12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    #12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    #17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    #16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: #18069

msoechting added a commit to hpicgs/node that referenced this pull request Feb 5, 2018

deps: cherry-pick 50f7455 from upstream V8
Original commit message:

    [inspector] added Runtime.globalLexicalScopeNames method

    The method returns names for all available top-level scope variables
    in giving context.

    R=dgozman@chromium.org,jgruber@chromium.org

    Bug: chromium:681333
    Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: I2d0b600e1afbfef9087f53ea9c26abe1e112047c
    Reviewed-on: https://chromium-review.googlesource.com/719409
    Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48618}

Refs: v8/v8@50f7455

PR-URL: nodejs#16591
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

msoechting added a commit to hpicgs/node that referenced this pull request Feb 5, 2018

repl: show lexically scoped vars in tab completion
Use the V8 inspector protocol, if available, to query the list of
lexically scoped variables (defined with `let`, `const` or `class`).

PR-URL: nodejs#16591
Fixes: nodejs#983
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

msoechting added a commit to hpicgs/node that referenced this pull request Feb 5, 2018

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    nodejs#16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    nodejs#17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    nodejs#17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    nodejs#16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    nodejs#17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    nodejs#17672
* http2:
  - implement maxSessionMemory (James M Snell)
    nodejs#17967
  - add initial support for originSet (James M Snell)
    nodejs#17935
  - add altsvc support (James M Snell)
    nodejs#17917
  - perf_hooks integration (James M Snell)
    nodejs#17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) nodejs#17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    nodejs#17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    nodejs#13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    nodejs#16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    nodejs#12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    nodejs#12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    nodejs#17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    nodejs#16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: nodejs#18069

msoechting added a commit to hpicgs/node that referenced this pull request Feb 7, 2018

deps: cherry-pick 50f7455 from upstream V8
Original commit message:

    [inspector] added Runtime.globalLexicalScopeNames method

    The method returns names for all available top-level scope variables
    in giving context.

    R=dgozman@chromium.org,jgruber@chromium.org

    Bug: chromium:681333
    Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: I2d0b600e1afbfef9087f53ea9c26abe1e112047c
    Reviewed-on: https://chromium-review.googlesource.com/719409
    Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48618}

Refs: v8/v8@50f7455

PR-URL: nodejs#16591
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

msoechting added a commit to hpicgs/node that referenced this pull request Feb 7, 2018

repl: show lexically scoped vars in tab completion
Use the V8 inspector protocol, if available, to query the list of
lexically scoped variables (defined with `let`, `const` or `class`).

PR-URL: nodejs#16591
Fixes: nodejs#983
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>

msoechting added a commit to hpicgs/node that referenced this pull request Feb 7, 2018

2019-01-10 Version 9.4.0 (Current)
Notable change:

* async_hooks:
  - deprecate AsyncHooks Sensitive API and runInAsyncIdScope. Neither
    API were documented. (Andreas Madsen)
    nodejs#16972
* deps:
  - update nghttp2 to 1.29.0 (James M Snell)
    nodejs#17908
  - upgrade npm to 5.6.0 (Kat Marchán)
    nodejs#17535
  - cherry-pick 50f7455 from upstream V8 (Michaël Zasso)
    nodejs#16591
* events:
  - remove reaches into _events internals (Anatoli Papirovski)
    nodejs#17440
* http:
  - add rawPacket in err of `clientError` event (XadillaX)
    nodejs#17672
* http2:
  - implement maxSessionMemory (James M Snell)
    nodejs#17967
  - add initial support for originSet (James M Snell)
    nodejs#17935
  - add altsvc support (James M Snell)
    nodejs#17917
  - perf_hooks integration (James M Snell)
    nodejs#17906
  - Refactoring and cleanup of Http2Session and Http2Stream destroy
    (James M Snell) nodejs#17406
* net:
  - remove Socket.prototype.write (Anna Henningsen)
    nodejs#17644
  - remove Socket.prototype.listen (Ruben Bridgewater)
    nodejs#13735
* repl:
  - show lexically scoped vars in tab completion (Michaël Zasso)
    nodejs#16591
* stream:
  - rm {writeable/readable}State.length (Calvin Metcalf)
    nodejs#12857
  - add flow and buffer properties to streams (Calvin Metcalf)
    nodejs#12855
* util:
  - allow wildcards in NODE_DEBUG variable (Tyler)
    nodejs#17609
* zlib:
  - add ArrayBuffer support (Jem Bezooyen)
    nodejs#16042
* Addedew collaborator**
  - [starkwang](https://github.com/starkwang) Weijia Wang
* Addedew TSC member**
  - [danbev](https://github.com/danbev) Daniel Bevenius

PR-URL: nodejs#18069
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment