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

src: move v8::HandleScope call to Emit #20045

Closed
wants to merge 1 commit into from

Conversation

ryzokuken
Copy link
Contributor

Move v8::HandleScope call to Emit removing it from previous locations
where it was added to avoid crashing (constructor and destructor of
AsyncWrap) for a more general and fool-proof solution.

Ref: #19972 (comment)

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

cc @addaleax @hashseed

@nodejs-github-bot nodejs-github-bot added the c++ Issues and PRs that require attention from people who are familiar with C++. label Apr 15, 2018
@addaleax
Copy link
Member

addaleax commented Apr 15, 2018

CI: https://ci.nodejs.org/job/node-test-commit/17773/
Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/156

(Not sure if the benchmark CI works, had to specify async_hooks by manually editing the build parameter HTML form…)

@BridgeAR
Copy link
Member

@addaleax are you certain you ran the correct benchmarks? I think you wanted to run async_hooks, no?

@addaleax
Copy link
Member

@BridgeAR Yeah, that benchmark run missed its target. Maybe I screwed up editing the HTML.

Anyway, when trying to enter async_hooks in the rebuild interface I get a server error, claiming that as an invalid value. :(

@nodejs/build Could you turn category for the microbenchmark tasks into a text field, or update the list of categories?

@ryzokuken
Copy link
Contributor Author

@addaleax would you like to try again with the benchmark CI?

@ryzokuken
Copy link
Contributor Author

Rerunning normal CI.

@ryzokuken
Copy link
Contributor Author

@ryzokuken ryzokuken added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Apr 17, 2018
ryzokuken added a commit to ryzokuken/node that referenced this pull request Apr 17, 2018
Remove redundant calls to v8::HandleScope in the contructor and
destructor for the AsyncScope class

Refs: nodejs#19972 (comment)
Refs: nodejs#20045
@ryzokuken
Copy link
Contributor Author

@ryzokuken
Copy link
Contributor Author

Okay, we have 13:00:08 not ok 191 parallel/test-child-process-exec-timeout.

@richardlau
Copy link
Member

@richardlau
Copy link
Member

not ok 191 parallel/test-child-process-exec-timeout
  ---
  duration_ms: 0.330
  severity: fail
  exitcode: 1
  stack: |-
    assert.js:76
      throw new AssertionError(obj);
      ^
    
    AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
    + expected - actual
    
    - 'SIGSEGV'
    + 'SIGTERM'
        at cp.exec.common.mustCall (/home/iojs/build/workspace/node-test-commit-linux/nodes/fedora-last-latest-x64/test/parallel/test-child-process-exec-timeout.js:34:12)
        at /home/iojs/build/workspace/node-test-commit-linux/nodes/fedora-last-latest-x64/test/common/index.js:474:15
        at ChildProcess.exithandler (child_process.js:289:5)
        at ChildProcess.emit (events.js:182:13)
        at maybeClose (internal/child_process.js:944:16)
        at Process.ChildProcess._handle.onexit (internal/child_process.js:233:5)
  ...

@ryzokuken
Copy link
Contributor Author

ryzokuken commented Apr 18, 2018

Reran CI: https://ci.nodejs.org/job/node-test-pull-request/14370/

(To make sure it wasn't just a flaky test)

@ryzokuken
Copy link
Contributor Author

ryzokuken commented Apr 18, 2018

Again, a total random failure:

not ok 495 parallel/test-cluster-setup-master
  ---
  duration_ms: 120.220
  severity: fail
  exitcode: -15
  stack: |-
    timeout
  ...

Somebody help?

@ryzokuken
Copy link
Contributor Author

Honestly, the osx log doesn't even specify what went wrong, I think (https://ci.nodejs.org/job/node-test-commit-osx/nodes=osx1010/17933/consoleFull)

Move v8::HandleScope call to Emit removing it from previous locations
where it was added to avoid crashing (constructor and destructor of
AsyncWrap) for a more general and fool-proof solution.

Ref: nodejs#19972 (comment)
@ryzokuken
Copy link
Contributor Author

Restarting CI after rebasing on top of current master.

CI: https://ci.nodejs.org/job/node-test-pull-request/14375/

@ryzokuken
Copy link
Contributor Author

Restarting after OSX was fixed in #20139.

CI: https://ci.nodejs.org/job/node-test-pull-request/14394/

@ryzokuken
Copy link
Contributor Author

@Trott OSX passes for this one! 🎉

Another random failure? damn. BSD never failed on this one. Lemme rebuild.

@ryzokuken
Copy link
Contributor Author

23:55:31 not ok 2150 sequential/test-debugger-debug-brk
23:55:31   ---
23:55:31   duration_ms: 0.540
23:55:31   severity: fail
23:55:31   exitcode: 1
23:55:31   stack: |-
23:55:31     assert.js:77
23:55:31       throw new AssertionError(obj);
23:55:31       ^
23:55:31     
23:55:31     AssertionError [ERR_ASSERTION]: '/usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/out/Release/node --inspect --debug-brk /usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/fixtures/empty.js' should not quit
23:55:31         at ChildProcess.fail (/usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/sequential/test-debugger-debug-brk.js:19:29)
23:55:31         at ChildProcess.emit (events.js:182:13)
23:55:31         at Process.ChildProcess._handle.onexit (internal/child_process.js:222:12)

Completely unrelated, rebuilding.

@Trott
Copy link
Member

Trott commented Apr 20, 2018

Re-running just FreeBSD: https://ci.nodejs.org/job/node-test-commit-freebsd/17164/

@ryzokuken
Copy link
Contributor Author

@Trott it passed! Should I make an issue for a flaky test?

BTW, I'm landing this. It has been open for 5 days and has been approved by a ton of people.

@ryzokuken
Copy link
Contributor Author

Landed in e32eddc

@ryzokuken ryzokuken closed this Apr 20, 2018
ryzokuken added a commit that referenced this pull request Apr 20, 2018
Move v8::HandleScope call to Emit removing it from previous locations
where it was added to avoid crashing (constructor and destructor of
AsyncWrap) for a more general and fool-proof solution.

Ref: #19972 (comment)

PR-URL: #20045
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
@Trott
Copy link
Member

Trott commented Apr 20, 2018

Should I make an issue for a flaky test?

If an issue doesn't exist, that would be helpful. We should always do that, but I know I don't because...so many flaky tests...only so many hours to spend in the Node.js issue tracker a day, you know? :-D

In that particular case, flakiness might be because some other process is taking the predefined port in the test? Not sure, just a guess.

ryzokuken added a commit to ryzokuken/node that referenced this pull request Apr 20, 2018
jasnell pushed a commit that referenced this pull request Apr 20, 2018
Move v8::HandleScope call to Emit removing it from previous locations
where it was added to avoid crashing (constructor and destructor of
AsyncWrap) for a more general and fool-proof solution.

Ref: #19972 (comment)

PR-URL: #20045
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. c++ Issues and PRs that require attention from people who are familiar with C++.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet