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

src: skip inspector wait in internal workers #54219

Merged
merged 1 commit into from
Aug 7, 2024

Conversation

legendecas
Copy link
Member

Internal workers are essential to load user scripts and bootstrapped
with internal entrypoints. They should not be waiting for inspectors
even when --inspect-brk and --inspect-wait were specified, and avoid
blocking main thread to bootstrap.

IsolateData can be created with a specified PerIsolateOptions instead of
creating a copy from the per_process namespace. This also avoids
creating a copy bypassing the parent env's modified options, like
creating a worker thread from a worker thread.

Fixes: #53681

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels Aug 5, 2024
@legendecas legendecas added inspector Issues and PRs related to the V8 inspector protocol worker Issues and PRs related to Worker support. labels Aug 5, 2024
Internal workers are essential to load user scripts and bootstrapped
with internal entrypoints. They should not be waiting for inspectors
even when `--inspect-brk` and `--inspect-wait` were specified, and avoid
blocking main thread to bootstrap.

IsolateData can be created with a specified PerIsolateOptions instead of
creating a copy from the per_process namespace. This also avoids
creating a copy bypassing the parent env's modified options, like
creating a worker thread from a worker thread.
@cola119 cola119 added the request-ci Add this label to start a Jenkins CI on a PR. label Aug 6, 2024
Copy link

codecov bot commented Aug 6, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 87.11%. Comparing base (c6aeddf) to head (04697fc).
Report is 34 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #54219      +/-   ##
==========================================
+ Coverage   87.09%   87.11%   +0.01%     
==========================================
  Files         647      647              
  Lines      181882   181708     -174     
  Branches    34924    34873      -51     
==========================================
- Hits       158415   158290     -125     
+ Misses      16751    16727      -24     
+ Partials     6716     6691      -25     
Files Coverage Δ
src/api/environment.cc 75.82% <100.00%> (-0.24%) ⬇️
src/env-inl.h 96.19% <ø> (-0.02%) ⬇️
src/env.cc 85.24% <100.00%> (-0.01%) ⬇️
src/env.h 97.87% <ø> (ø)
src/node_options-inl.h 81.08% <100.00%> (+0.43%) ⬆️
src/node_options.h 98.15% <100.00%> (+0.04%) ⬆️
src/node_worker.cc 84.35% <100.00%> (+0.56%) ⬆️

... and 25 files with indirect coverage changes

@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 6, 2024
@nodejs-github-bot
Copy link
Collaborator

@legendecas legendecas added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. commit-queue Add this label to land a pull request using GitHub Actions. labels Aug 6, 2024
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Aug 7, 2024
@nodejs-github-bot nodejs-github-bot merged commit 2bcf999 into nodejs:main Aug 7, 2024
59 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 2bcf999

@legendecas legendecas deleted the worker/internal-inspect branch August 7, 2024 22:21
targos pushed a commit that referenced this pull request Aug 14, 2024
Internal workers are essential to load user scripts and bootstrapped
with internal entrypoints. They should not be waiting for inspectors
even when `--inspect-brk` and `--inspect-wait` were specified, and avoid
blocking main thread to bootstrap.

IsolateData can be created with a specified PerIsolateOptions instead of
creating a copy from the per_process namespace. This also avoids
creating a copy bypassing the parent env's modified options, like
creating a worker thread from a worker thread.

PR-URL: #54219
Fixes: #53681
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
@RafaelGSS RafaelGSS mentioned this pull request Aug 19, 2024
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++. inspector Issues and PRs related to the V8 inspector protocol lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. worker Issues and PRs related to Worker support.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NodeJS 20 --import, --inspect-brk and Chrome DevTools don't work together (works in NodeJS 18)
5 participants