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

deps: backport ff7d70b from V8's upstream #2959

Closed
wants to merge 1 commit into from

Conversation

misterdjules
Copy link

Original commit message:

Update BitField3 type in gen-postmortem-metadata.py

Since https://codereview.chromium.org/272163002, BitField3 is a raw
uint32 field, and not a SMI anymore.

Update tools/gen-postmortem-metadata.py so that post-mortem tools can
work with versions of V8 that shipped after that change.

This change was merged in github.com/joyent/node right before node
v0.12.0 was released.

R=[email protected]

TEST=mdb_v8, a post-mortem debugging tool running on SmartOS, has been
using this change since Node.js v0.12.0 was released

BUG=

Review URL: https://codereview.chromium.org/1296743003

Cr-Commit-Position: refs/heads/master@{#30839}

This is necessary to allow mdb_v8 to work properly with node v4.x, so this would need to be backported to the v4.x branch.

/cc @nodejs/post-mortem

Original commit message:

  Update BitField3 type in gen-postmortem-metadata.py

  Since https://codereview.chromium.org/272163002, BitField3 is a raw
  uint32 field, and not a SMI anymore.

  Update tools/gen-postmortem-metadata.py so that post-mortem tools can
  work with versions of V8 that shipped after that change.

  This change was merged in github.com/joyent/node right before node
  v0.12.0 was released.

  [email protected]

  TEST=mdb_v8, a post-mortem debugging tool running on SmartOS,  has been
  using this change since Node.js v0.12.0 was released

  BUG=

  Review URL: https://codereview.chromium.org/1296743003

  Cr-Commit-Position: refs/heads/master@{nodejs#30839}
@misterdjules misterdjules added the v8 engine Issues and PRs related to the V8 dependency. label Sep 18, 2015
@rvagg
Copy link
Member

rvagg commented Sep 19, 2015

lgtm

@ofrobots
Copy link
Contributor

LGTM.

@misterdjules
Copy link
Author

Tests running here: https://ci.nodejs.org/job/node-test-commit/634/.

@rvagg
Copy link
Member

rvagg commented Sep 19, 2015

@misterdjules: summary for changelog? does this give us back mdb support when using your external code?

@misterdjules
Copy link
Author

@rvagg A summary for the changelog could be: V8: update post-mortem metadata to allow post-mortem debugging tools to find and inspect JavaScript objects that use dictionary properties.

This change does not solve all problems that need to be solved to get proper mdb support back. However, it makes things slightly better. Basically, it allows mdb_v8 to recognize JavaScript objects that use dictionary properties, and as a result more valid JavaScript objects will be listed by ::findjsobjects.

The sooner we can get this change in the better as mdb_v8 relies on that information being present in node binaries. Binaries for v4.0 and v4.1 releases could be supported by hardcoding this information in mdb_v8, but the less node versions we have to support with similar workarounds the better. See TritonDataCenter/mdb_v8#34 for the corresponding issue in joyent/mdb_v8.

For a better picture or the current state of mdb_v8 support for node v4.x, see TritonDataCenter/mdb_v8#33.

@misterdjules
Copy link
Author

All tests pass except on pi1-raspbian-wheezy, which seems to have been flaky in the past.

misterdjules pushed a commit that referenced this pull request Sep 20, 2015
Original commit message:

  Update BitField3 type in gen-postmortem-metadata.py

  Since https://codereview.chromium.org/272163002, BitField3 is a raw
  uint32 field, and not a SMI anymore.

  Update tools/gen-postmortem-metadata.py so that post-mortem tools can
  work with versions of V8 that shipped after that change.

  This change was merged in github.com/joyent/node right before node
  v0.12.0 was released.

  [email protected]

  TEST=mdb_v8, a post-mortem debugging tool running on SmartOS,  has been
  using this change since Node.js v0.12.0 was released

  BUG=

  Review URL: https://codereview.chromium.org/1296743003

  Cr-Commit-Position: refs/heads/master@{#30839}

PR: #2959
PR-URL: #2959
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
@misterdjules
Copy link
Author

Landed in 4e028bd.

misterdjules pushed a commit that referenced this pull request Sep 22, 2015
Original commit message:

  Update BitField3 type in gen-postmortem-metadata.py

  Since https://codereview.chromium.org/272163002, BitField3 is a raw
  uint32 field, and not a SMI anymore.

  Update tools/gen-postmortem-metadata.py so that post-mortem tools can
  work with versions of V8 that shipped after that change.

  This change was merged in github.com/joyent/node right before node
  v0.12.0 was released.

  [email protected]

  TEST=mdb_v8, a post-mortem debugging tool running on SmartOS,  has been
  using this change since Node.js v0.12.0 was released

  BUG=

  Review URL: https://codereview.chromium.org/1296743003

  Cr-Commit-Position: refs/heads/master@{#30839}

PR: #2959
PR-URL: #2959
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
@rvagg rvagg mentioned this pull request Sep 22, 2015
rvagg added a commit that referenced this pull request Sep 22, 2015
Notable changes

* buffer: Fixed a bug introduced in v4.1.0 where allocating a new
  zero-length buffer can result in the next allocation of a TypedArray
  in JavaScript not being zero-filled. In certain circumstances this
  could result in data leakage via reuse of memory space in
  TypedArrays, breaking the normally safe assumption that TypedArrays
  should be always zero-filled. (Trevor Norris) #2931.
* http: Guard against response-splitting of HTTP trailing headers
  added via response.addTrailers() by removing new-line ([\r\n])
  characters from values. Note that standard header values are already
  stripped of new-line characters. The expected security impact is low
  because trailing headers are rarely used. (Ben Noordhuis) #2945.
* npm: Upgrade to npm 2.14.4 from 2.14.3, see release notes for full
  details (Kat Marchán) #2958
  - Upgrades graceful-fs on multiple dependencies to no longer rely on
    monkey-patching fs
  - Fix npm link for pre-release / RC builds of Node
* v8: Update post-mortem metadata to allow post-mortem debugging tools
  to find and inspect:
  - JavaScript objects that use dictionary properties
    (Julien Gilli) #2959
  - ScopeInfo and thus closures (Julien Gilli) #2974
rvagg added a commit that referenced this pull request Sep 23, 2015
Notable changes

* buffer: Fixed a bug introduced in v4.1.0 where allocating a new
  zero-length buffer can result in the next allocation of a TypedArray
  in JavaScript not being zero-filled. In certain circumstances this
  could result in data leakage via reuse of memory space in
  TypedArrays, breaking the normally safe assumption that TypedArrays
  should be always zero-filled. (Trevor Norris) #2931.
* http: Guard against response-splitting of HTTP trailing headers
  added via response.addTrailers() by removing new-line ([\r\n])
  characters from values. Note that standard header values are already
  stripped of new-line characters. The expected security impact is low
  because trailing headers are rarely used. (Ben Noordhuis) #2945.
* npm: Upgrade to npm 2.14.4 from 2.14.3, see release notes for full
  details (Kat Marchán) #2958
  - Upgrades graceful-fs on multiple dependencies to no longer rely on
    monkey-patching fs
  - Fix npm link for pre-release / RC builds of Node
* v8: Update post-mortem metadata to allow post-mortem debugging tools
  to find and inspect:
  - JavaScript objects that use dictionary properties
    (Julien Gilli) #2959
  - ScopeInfo and thus closures (Julien Gilli) #2974

PR-URL: #2995
@misterdjules misterdjules added the post-mortem Issues and PRs related to the post-mortem diagnostics of Node.js. label Sep 24, 2015
@MylesBorins
Copy link
Contributor

landed in lts-v4.x-staging as 8da3da4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
post-mortem Issues and PRs related to the post-mortem diagnostics of Node.js. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants