Skip to content

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

Closed
ryzokuken wants to merge 1 commit into
nodejs:masterfrom
ryzokuken:bugfix/v8-handlescope
Closed

src: move v8::HandleScope call to Emit#20045
ryzokuken wants to merge 1 commit into
nodejs:masterfrom
ryzokuken:bugfix/v8-handlescope

Conversation

@ryzokuken

Copy link
Copy Markdown
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

addaleax commented Apr 15, 2018

Copy link
Copy Markdown
Member

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
Copy Markdown
Member

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

@addaleax

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

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

@ryzokuken

Copy link
Copy Markdown
Contributor Author

Rerunning normal CI.

@ryzokuken

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

@ryzokuken

Copy link
Copy Markdown
Contributor Author

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

@richardlau

Copy link
Copy Markdown
Member

@richardlau

Copy link
Copy Markdown
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

ryzokuken commented Apr 18, 2018

Copy link
Copy Markdown
Contributor Author

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

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

@ryzokuken

ryzokuken commented Apr 18, 2018

Copy link
Copy Markdown
Contributor Author

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
Copy Markdown
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)

@ryzokuken ryzokuken force-pushed the bugfix/v8-handlescope branch from 171f3d8 to b9b7b01 Compare April 19, 2018 04:04
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
Copy Markdown
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
Copy Markdown
Contributor Author

Restarting after OSX was fixed in #20139.

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

@ryzokuken

Copy link
Copy Markdown
Contributor Author

@Trott OSX passes for this one! 🎉

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

@ryzokuken

Copy link
Copy Markdown
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

Trott commented Apr 20, 2018

Copy link
Copy Markdown
Member

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

@ryzokuken

Copy link
Copy Markdown
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
Copy Markdown
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

Trott commented Apr 20, 2018

Copy link
Copy Markdown
Member

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.