FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

src: always signal V8 for intercepted properties by targos · Pull Request #42963 · nodejs/node · GitHub

/ node Public

src: always signal V8 for intercepted properties - #42963

Merged
nodejs-github-bot merged 1 commit into
nodejs:masterfrom
targos:fix-42962
May 6, 2022
Merged

src: always signal V8 for intercepted properties#42963
nodejs-github-bot merged 1 commit into
nodejs:masterfrom
targos:fix-42962

Conversation

targos commented May 4, 2022

Copy link
Copy Markdown
Member

Closes: #42962

nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. vm Issues and PRs related to the vm subsystem. labels May 4, 2022
Comment thread test/parallel/test-vm-global-setter.js Outdated
targos added author ready PRs that have at least one approval, no outstanding review comments, and a CI started. request-ci Add this label to start a Jenkins CI on a PR. labels May 4, 2022
github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label May 4, 2022

This comment was marked as outdated.

Copy link
Copy Markdown
Collaborator

Copy link
Copy Markdown
Collaborator

domenic commented May 6, 2022

Copy link
Copy Markdown
Contributor

Thanks so much for the prompt fix! Gentle ping to ask for this to get merged :)

aduh95 added the commit-queue Add this label to land a pull request using GitHub Actions. label May 6, 2022
nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label May 6, 2022
nodejs-github-bot merged commit 2dbf169 into nodejs:master May 6, 2022

Copy link
Copy Markdown
Collaborator

Landed in 2dbf169

targos deleted the fix-42962 branch May 7, 2022 05:10
RafaelGSS pushed a commit that referenced this pull request May 10, 2022
Closes: #42962

PR-URL: #42963
Fixes: #42962
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
RafaelGSS mentioned this pull request May 10, 2022

Copy link
Copy Markdown

This caused a regression in vm.runInContext() which renders v18 unusable for uglify-js fuzzer testing.

See #43129

juanarbol pushed a commit that referenced this pull request May 31, 2022
Closes: #42962

PR-URL: #42963
Fixes: #42962
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
danielleadams pushed a commit that referenced this pull request Jun 27, 2022
Closes: #42962

PR-URL: #42963
Fixes: #42962
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>

dubzzz commented Dec 26, 2022
edited
Loading

Copy link
Copy Markdown
Contributor

It seems to be the cause of a regression in jest 🤔 (not 100% sure but it's a good candidate)

More details on #45983 (including the link to jest issue)

dubzzz commented Feb 1, 2023

Copy link
Copy Markdown
Contributor

Regarding to the regression posted recently, I opened a PR to fix it. Here is the fix I suggest: #46458

dubzzz added a commit to dubzzz/node that referenced this pull request Feb 1, 2023
A regression has been introduced in node 18.2.0,
it makes the following snippet fails while it used to work in the past:

```
const assert = require('assert');
const vm = require('vm');
const global = vm.runInContext('this', vm.createContext());
const totoSymbol = Symbol.for('toto');
Object.defineProperty(global, totoSymbol, {
  enumerable: true,
  writable: true,
  value: 4,
  configurable: true,
});
assert(Object.getOwnPropertySymbols(global).includes(totoSymbol));
```

Regression introduced by: nodejs#42963.
So I basically attempted to start understanding what it changed to make
it fix the initial issue while not breaking the symbol related one.

Fixes: nodejs#45983
nodejs-github-bot pushed a commit that referenced this pull request Feb 4, 2023
A regression has been introduced in node 18.2.0,
it makes the following snippet fails while it used to work in the past:

```
const assert = require('assert');
const vm = require('vm');
const global = vm.runInContext('this', vm.createContext());
const totoSymbol = Symbol.for('toto');
Object.defineProperty(global, totoSymbol, {
  enumerable: true,
  writable: true,
  value: 4,
  configurable: true,
});
assert(Object.getOwnPropertySymbols(global).includes(totoSymbol));
```

Regression introduced by: #42963.
So I basically attempted to start understanding what it changed to make
it fix the initial issue while not breaking the symbol related one.

Fixes: #45983
PR-URL: #46458
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>

dubzzz commented Feb 14, 2023
edited
Loading

Copy link
Copy Markdown
Contributor

For the record, I opened a second fix. This time it should patch and fix all the issues raised following the merge of this PR: #46615

My previous fix was not enough and was not patching all remaining issues.

MylesBorins pushed a commit that referenced this pull request Feb 18, 2023
A regression has been introduced in node 18.2.0,
it makes the following snippet fails while it used to work in the past:

```
const assert = require('assert');
const vm = require('vm');
const global = vm.runInContext('this', vm.createContext());
const totoSymbol = Symbol.for('toto');
Object.defineProperty(global, totoSymbol, {
  enumerable: true,
  writable: true,
  value: 4,
  configurable: true,
});
assert(Object.getOwnPropertySymbols(global).includes(totoSymbol));
```

Regression introduced by: #42963.
So I basically attempted to start understanding what it changed to make
it fix the initial issue while not breaking the symbol related one.

Fixes: #45983
PR-URL: #46458
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
danielleadams pushed a commit that referenced this pull request Apr 11, 2023
A regression has been introduced in node 18.2.0,
it makes the following snippet fails while it used to work in the past:

```
const assert = require('assert');
const vm = require('vm');
const global = vm.runInContext('this', vm.createContext());
const totoSymbol = Symbol.for('toto');
Object.defineProperty(global, totoSymbol, {
  enumerable: true,
  writable: true,
  value: 4,
  configurable: true,
});
assert(Object.getOwnPropertySymbols(global).includes(totoSymbol));
```

Regression introduced by: #42963.
So I basically attempted to start understanding what it changed to make
it fix the initial issue while not breaking the symbol related one.

Fixes: #45983
PR-URL: #46458
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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 outstanding review comments, and a CI started. c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. vm Issues and PRs related to the vm subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

vm module regression in v18: setting properties on global proxy breaks jsdom

7 participants


Back | FazBrowse Home | New Git URL