-
Notifications
You must be signed in to change notification settings - Fork 36.4k
Description
code --install-extension crashes when called rapidly in succession
We have been using this command to install extension for several years without problems. But recently our install script has been failing due to this issue.
Environment
- VS Code version: 1.102.0
Commit:cb0c47c0cfaad0757385834bd89d410c78a856c0
Architecture:x64 - OS: Ubuntu 24.04 (installed via
.deb) - Shell: Bash
Reproduction Steps
When repeatedly running the following command in rapid succession:
code --install-extension {{extension}}VS Code eventually crashes with a fatal v8::ToLocalChecked Empty MaybeLocal error.
Example:
FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal
----- Native stack trace -----
----- JavaScript stack trace -----
1: getPackageScopeConfig (node:internal/modules/package_json_reader:160:33)
2: getPackageJSONURL (node:internal/modules/package_json_reader:237:25)
3: packageResolve (node:internal/modules/esm/resolve:778:81)
4: moduleResolve (node:internal/modules/esm/resolve:864:18)
5: defaultResolve (node:internal/modules/esm/resolve:994:11)
6: nextResolve (node:internal/modules/esm/hooks:748:28)
7: resolve (data:text/javascript;base64,...):13:10)
8: nextResolve (node:internal/modules/esm/hooks:748:28)
9: resolve (node:internal/modules/esm/hooks:240:30)
10: handleMessage (node:internal/modules/esm/worker:199:24)
Aborted (core dumped)Expected Behavior
The command should:
Check if the extension is installed.
Return a message that it is already installed (as it does initially).
Never crash or dump core, even if invoked rapidly.
Actual Behavior
After several fast consecutive runs, the command crashes with:
FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal
----- Native stack trace -----
...
Aborted (core dumped)This behavior is consistently reproducible when executing the command 10–12 times quickly in a row. And no matter what extension is being installed.
Full Output Snippet
user@computer:~$ code --install-extension ms-python.black-formatter
Installing extensions...
Extension 'ms-python.black-formatter' v2025.2.0 is already installed. ...
(repeated several times...)
user@computer:~$ code --install-extension ms-python.black-formatter
Installing extensions...
Extension 'ms-python.black-formatter' v2025.2.0 is already installed. ...
FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal
----- Native stack trace -----
----- JavaScript stack trace -----
1: getPackageScopeConfig (node:internal/modules/package_json_reader:160:33)
2: getPackageJSONURL (node:internal/modules/package_json_reader:237:25)
3: packageResolve (node:internal/modules/esm/resolve:778:81)
4: moduleResolve (node:internal/modules/esm/resolve:864:18)
5: defaultResolve (node:internal/modules/esm/resolve:994:11)
6: nextResolve (node:internal/modules/esm/hooks:748:28)
7: resolve (data:text/javascript;base64,...):13:10)
8: nextResolve (node:internal/modules/esm/hooks:748:28)
9: resolve (node:internal/modules/esm/hooks:240:30)
10: handleMessage (node:internal/modules/esm/worker:199:24)
Aborted (core dumped)Notes
This may indicate a race condition or lack of thread/process safety when managing Marketplace queries or extension states via CLI.
Adding 1 second wait between installs seams to resolve the issue.