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

Possible regression in Node v12.11.0's Proxy #29730

Closed
alcuadrado opened this issue Sep 26, 2019 · 11 comments
Closed

Possible regression in Node v12.11.0's Proxy #29730

alcuadrado opened this issue Sep 26, 2019 · 11 comments
Labels
confirmed-bug Issues with confirmed bugs. v8 engine Issues and PRs related to the V8 dependency.

Comments

@alcuadrado
Copy link

  • Version: v12.11.0
  • process.versions:
process.versions
{
  node: '12.11.0',
  v8: '7.7.299.11-node.12',
  uv: '1.32.0',
  zlib: '1.2.11',
  brotli: '1.0.7',
  ares: '1.15.0',
  modules: '72',
  nghttp2: '1.39.2',
  napi: '5',
  llhttp: '1.1.4',
  http_parser: '2.8.0',
  openssl: '1.1.1c',
  cldr: '35.1',
  icu: '64.2',
  tz: '2019a',
  unicode: '12.1'
}
  • Platform: Darwin pmbp 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64 x86_64
  • Subsystem: V8

Running this in node v12.11.0 fails:

Object.getPrototypeOf(new Proxy(Object.create(null), {
  getPrototypeOf(target) {
    return Reflect.getPrototypeOf(target)
  }
}))

Pasting it in node's REPL gives this error:

Thrown:
TypeError: 'getPrototypeOf' on proxy: trap returned neither object nor null
    at Function.getPrototypeOf (<anonymous>)

Expected behavior: it should just print null.

@alcuadrado
Copy link
Author

Running it with v12.10.0 works just fine.

@addaleax
Copy link
Member

@nodejs/v8

@addaleax addaleax added the confirmed-bug Issues with confirmed bugs. label Sep 26, 2019
@alcuadrado
Copy link
Author

alcuadrado commented Sep 26, 2019

BTW, this bug is also present in Chrome 77, and not in Chrome 76.

PS: Reported it to v8 https://bugs.chromium.org/p/v8/issues/detail?id=9781

@Hakerh400
Copy link
Contributor

Bisected to v8/v8@4e17a6b

@targos
Copy link
Member

targos commented Sep 27, 2019

Just confirming that Chrome 78 (beta) and 79 (canary) are also affected.

@tcf909
Copy link

tcf909 commented Oct 4, 2019

Is 12.x going to support the fix in v8 7.8? (thought I read some place the 12.x branches floating patch was only through 7.7)

Anything we can do in the meantime without waiting for a full v8 7.8 release (which the v8 fix is slated for)?

@targos
Copy link
Member

targos commented Oct 4, 2019

@tcf909 can you point me to the fix that is in V8 7.8?

@hashseed
Copy link
Member

hashseed commented Oct 4, 2019

@schuay @verwaest

@tcf909
Copy link

tcf909 commented Oct 5, 2019

@targos https://bugs.chromium.org/p/v8/issues/detail?id=9781

If you look at the tags it is tagged merge-request-78

@tcf909
Copy link

tcf909 commented Oct 5, 2019

Also, since this is so core, might be nice to have a test in the future to smooth out v8 changes in the lts branch.

targos added a commit to targos/node that referenced this issue Oct 22, 2019
Original commit message:

    Add missing null condition in Proxy GetPrototypeof

    Bug: v8:9781
    Change-Id: I1f82a828f103cc2aa3f9553214f6b4867ffc3b17
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829897
    Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
    Reviewed-by: Georg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64049}

Refs: v8/v8@c721203
Fixes: nodejs#29730
@targos
Copy link
Member

targos commented Oct 22, 2019

Backport: #30065

@targos targos closed this as completed in 08448d9 Oct 25, 2019
targos added a commit that referenced this issue Oct 28, 2019
Original commit message:

    Add missing null condition in Proxy GetPrototypeof

    Bug: v8:9781
    Change-Id: I1f82a828f103cc2aa3f9553214f6b4867ffc3b17
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829897
    Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
    Reviewed-by: Georg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64049}

Refs: v8/v8@c721203
Fixes: #29730

PR-URL: #30065
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
targos added a commit that referenced this issue Nov 8, 2019
Original commit message:

    Add missing null condition in Proxy GetPrototypeof

    Bug: v8:9781
    Change-Id: I1f82a828f103cc2aa3f9553214f6b4867ffc3b17
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829897
    Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
    Reviewed-by: Georg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64049}

Refs: v8/v8@c721203
Fixes: #29730

PR-URL: #30065
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
targos added a commit that referenced this issue Nov 10, 2019
Original commit message:

    Add missing null condition in Proxy GetPrototypeof

    Bug: v8:9781
    Change-Id: I1f82a828f103cc2aa3f9553214f6b4867ffc3b17
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829897
    Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
    Reviewed-by: Georg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64049}

Refs: v8/v8@c721203
Fixes: #29730

PR-URL: #30065
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
targos added a commit that referenced this issue Nov 10, 2019
Original commit message:

    Add missing null condition in Proxy GetPrototypeof

    Bug: v8:9781
    Change-Id: I1f82a828f103cc2aa3f9553214f6b4867ffc3b17
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829897
    Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
    Reviewed-by: Georg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64049}

Refs: v8/v8@c721203
Fixes: #29730

PR-URL: #30065
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
targos added a commit that referenced this issue Nov 11, 2019
Original commit message:

    Add missing null condition in Proxy GetPrototypeof

    Bug: v8:9781
    Change-Id: I1f82a828f103cc2aa3f9553214f6b4867ffc3b17
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829897
    Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
    Reviewed-by: Georg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64049}

Refs: v8/v8@c721203
Fixes: #29730

PR-URL: #30065
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
confirmed-bug Issues with confirmed bugs. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants