Comments (5)
Maybe we can ignore the invalid args when the execArgv
is inherited from parent ? Only throw an error when the user pass execArgv
explicitly, like here.
from node.
If "execArgv
must always be passed otherwise your worker might break" is intentional, then:
- it shouldn't be affected by whether the
env: {}
option is passed or not - Node.js should probably warn when not passing
execArgv
, as a library might pass tests but it cannot control what CLI options the app that it's used into uses
The docs say that "By default, options are inherited from the parent thread". The behavior before #52827 was (when defining env
) that process-wide options are inherited and thread-local options are not. The new behavior is that thread-local options are inherited, and process-wide options just crash.
Neither of the two behaviors seem ideal and neither matches the docs (when env
is defined), but broken for broken it's better to keep the old broken to avoid breaking existing code.
When not passing env
, both thread-local and process-wide options are inherited.
or filter forbidden cli options from parent thread and pass it into worker options 🤷
Node.js doesn't expose a list of options that are forbidden, so it's impossible to do so (see #52827)
from node.
Would it be possible to revert #52827 until a better fix is found? (i.e. the worker should just ignore unsupported argv that are passed implicitly rather than explicitly, or argv should be filtered before being passed to the worker)
from node.
It seems like this behavior is quite intentional, as per docs:
execArgv
<string[]> List of node CLI options passed to the worker. V8 options (such as--max-old-space-size
) and options that affect the process (such as--title
) are not supported. If set, this is provided as process.execArgv inside the worker. By default, options are inherited from the parent thread.
And a simple workaround is to add execArgv: []
to the worker's options
🕵️ or filter forbidden cli options from parent thread and pass it into worker options
🤷
from node.
How about adding some code to fix this by filtering out unwanted cli options
by default? 🤔
from node.
Related Issues (20)
- Issue with loadEnvFile in ESM HOT 1
- Support load balancing HTTP requests across worker threads HOT 10
- WASM crashes on Node v22.2.0 if it reaches the new Buffer() deprecation warning HOT 2
- Node incorrectly responds 400 to invalid data sent after requests with `Connection: close` HOT 7
- watch with test not picking up new test files HOT 8
- T
- 'ERR_INTERNAL_ASSERTION' Using DOTENV plugin in Angular: 17.3.0and NodeJs v20.13.1
- ESM mistaken for CJS despite --experimental-detect-module HOT 7
- intl.datetimeformat comma removed after version 20.11.1 HOT 8
- test-buffer-failed-alloc-typed-arrays test failures HOT 4
- wasi fast calls causes segfault on x86_64-linux when running a wasm32-wasi module
- Accept `Blob`s anywhere where a `Buffer` is currently accepted for writing HOT 1
- /usr/local/lib/nodejs
- Node.js
- parseArgs with type: "boolean" and default: true does not allow a false value HOT 4
- yarn install dependency package throw error"error Error: incorrect data check at Zlib.zlibOnError [as onerror] (node:zlib:189:17)" HOT 2
- ESM loader hooks in Workers no longer working since Node.js 22.2 HOT 7
- `fs.watch` doesn't listen changes of file containing JSON stringified if changes happen too quickly (behavior different with non JSON) HOT 1
- Node 20.13 --watch option breaks loader / preload of modules HOT 3
- `node:test` custom reporters get `test:stdout` and `test:stderr` events before `test:dequeue` HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node.