GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — lib: account for cwd access from snapshot serialization cb by addaleax · Pull Request #51901 · nodejs/node

Conversation

@addaleax

@addaleax addaleax commented Feb 27, 2024

Copy link
Copy Markdown
Member

Functions registered with addSerializeCallback() can access and call process.cwd(). b7d836e accounted for the fact that it is necessary to reset the cwd cache after the snapshot builder script has run, but did not account for possible accesses from serialization callbacks. To properly account for these, add a deserialization callback as well.

As a related drive-by fix, also mention the execution order of callbacks in the documentation.

Refs: #49684

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

marco-ippolito and bricss reacted with heart emoji
All reactions
  • ❤️ 2 reactions
@addaleax
lib: account for cwd access from snapshot serialization cb
b9195b6
Functions registered with `addSerializeCallback()` can access and call
`process.cwd()`. b7d836e accounted for the fact that it is
necessary to reset the cwd cache after the snapshot builder script has
run, but did not account for possible accesses from serialization
callbacks. To properly account for these, add a deserialization
callback as well.

As a related drive-by fix, also mention the execution order of
callbacks in the documentation.

Refs: nodejs#49684
@addaleax addaleax added the snapshot Issues and PRs related to the startup snapshot. label Feb 27, 2024
@addaleax
addaleax requested a review from joyeecheung February 27, 2024 20:50
@nodejs-github-bot

nodejs-github-bot commented Feb 27, 2024

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/startup
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot nodejs-github-bot added lib / src Issues and PRs involving general changes in the lib/ or src/ directories. needs-ci PRs that need a full CI run. labels Feb 27, 2024
joyeecheung
joyeecheung approved these changes Feb 27, 2024
View reviewed changes
@joyeecheung joyeecheung added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Feb 27, 2024
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Feb 27, 2024
@nodejs-github-bot

nodejs-github-bot commented Feb 27, 2024

Copy link
Copy Markdown
Collaborator

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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

targos
targos approved these changes Feb 28, 2024
View reviewed changes
@addaleax addaleax added the commit-queue PRs queued for automated landing through the Commit Queue. label Feb 28, 2024
marco-ippolito
marco-ippolito approved these changes Feb 28, 2024
View reviewed changes
@nodejs-github-bot nodejs-github-bot removed the commit-queue PRs queued for automated landing through the Commit Queue. label Feb 29, 2024
@nodejs-github-bot
nodejs-github-bot merged commit 40565e9 into nodejs:main Feb 29, 2024
@nodejs-github-bot

nodejs-github-bot commented Feb 29, 2024

Copy link
Copy Markdown
Collaborator

Landed in 40565e9

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

marco-ippolito pushed a commit that referenced this pull request Mar 1, 2024
@addaleax @marco-ippolito
lib: account for cwd access from snapshot serialization cb
af32d43
Functions registered with `addSerializeCallback()` can access and call
`process.cwd()`. b7d836e accounted for the fact that it is
necessary to reset the cwd cache after the snapshot builder script has
run, but did not account for possible accesses from serialization
callbacks. To properly account for these, add a deserialization
callback as well.

As a related drive-by fix, also mention the execution order of
callbacks in the documentation.

Refs: #49684
PR-URL: #51901
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
@marco-ippolito marco-ippolito mentioned this pull request Mar 1, 2024
v21.7.0 proposal #51932
Merged
@addaleax
addaleax deleted the snapshot-cwd-accessed-from-inside-serialize-callback branch March 1, 2024 13:10
richardlau pushed a commit that referenced this pull request Mar 25, 2024
@addaleax @richardlau
lib: account for cwd access from snapshot serialization cb
dcbf88f
Functions registered with `addSerializeCallback()` can access and call
`process.cwd()`. b7d836e accounted for the fact that it is
necessary to reset the cwd cache after the snapshot builder script has
run, but did not account for possible accesses from serialization
callbacks. To properly account for these, add a deserialization
callback as well.

As a related drive-by fix, also mention the execution order of
callbacks in the documentation.

Refs: #49684
PR-URL: #51901
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
@richardlau richardlau mentioned this pull request Mar 25, 2024
v20.12.0 proposal #52212
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@joyeecheung joyeecheung joyeecheung approved these changes
@marco-ippolito marco-ippolito marco-ippolito approved these changes
+1 more reviewer
@targos targos targos approved these changes
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

lib / src Issues and PRs involving general changes in the lib/ or src/ directories. needs-ci PRs that need a full CI run. snapshot Issues and PRs related to the startup snapshot.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

5 participants

@addaleax @nodejs-github-bot @targos @joyeecheung @marco-ippolito
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.