voidzero-dev / voidzero-dev/vite-plus

`--cache`: fspy `seccomp(NEW_LISTENER)` returns EBUSY when ancestor has user-notify listener (WSL2)

Open
#1,643 4 comments 4 reactions 1 assignee Claimed by @wan9chi View on GitHub
bug pending triage
Dominant language
Rust
Stars
5.8k
Forks
261
Avg merge
1d 34m
Merged PRs (30d)
135

Description

### Describe the bug

When running `vp run --cache build`, the `--cache` flag is throwing an odd error `Error: spawn EBUSY`.

Claude is telling me that this might be environmental, so I'd want to check first if this is a vp issue before trying to create a minimally reproducible repo. Claude wrote a bunch of stuff, but it reads like Unix jargon to me, so I'll spare you guys the "analysis".

**Symptom**
Any task run under vp run --cache that spawns the esbuild service binary fails with:

```bash
Error: spawn EBUSY
at ChildProcess.spawn (node:internal/child_process:421:11)
at ensureServiceIsRunning (.../esbuild/lib/main.js:1978)
```

When running `vp run build` without `--cache`, the command runs as expected

**Tried**
- Killing all node processes, and running the vp command with --cache again. Same issue
- Installing latest vp command tools `curl -fsSL https://vite.plus | bash`. Same issue
- Turning it on and off again `wsl --shutdown`. Fixes the issue

Not sure why restarting WSL fixes it? Another of my developers who works in WSL is also experiencing the same issue, so it doesn't seem isolated to my machine.

### Reproduction

https://github.com/david-pw

### Steps to reproduce

**Minimal repro**

In any package whose build invokes esbuild (e.g. storybook build loading .storybook/main.ts):

vp run -F build # works
vp run --cache -F build # fails with spawn EBUSY

### System Info

```shell
Environment
- vp v0.1.22 (also reproduced with 0.1.21); local vite-plus v0.1.20
- WSL2 Ubuntu 22.04.5, kernel 6.6.114.1-microsoft-standard-WSL2
- Node v24.11.1
- Root FS ext4 (/dev/sdd); /tmp is also ext4 (not tmpfs), repo on /home/...
- Baseline Seccomp: 2 on every process inherited from /sbin/init (standard WSL2 + systemd)

VITE+ - The Unified Toolchain for the Web

Environment:
Version 24.11.1
Source .node-version
Source Path /home/david-pw/dev/MyProject-product/MyProject.Tui/.node-version
Project Root /home/david-pw/dev/MyProject-product/MyProject.Tui

Tool Paths:
node /home/david-pw/.vite-plus/js_runtime/node/24.11.1/bin/node
npm /home/david-pw/.vite-plus/js_runtime/node/24.11.1/bin/npm
npx /home/david-pw/.vite-plus/js_runtime/node/24.11.1/bin/npx

VITE+ - The Unified Toolchain for the Web

vp v0.1.22

Local vite-plus:
vite-plus v0.1.20

Tools:
vite v8.0.10
rolldown v1.0.0-rc.17
vitest v4.1.5
oxfmt v0.46.0
oxlint v1.61.0
oxlint-tsgolint v0.22.0
tsdown v0.21.10

Environment:
Package manager pnpm v10.29.2
Node.js v24.11.1 (.node-version)
```

### Used Package Manager

pnpm

### Logs

```shell
➜ MyProject ✗ vp run --cache build
VITE+ - The Unified Toolchain for the Web

~/packages/tui-react$ storybook build

┌ Building storybook v10.2.10

◇ Cleaning outputDir: storybook-static

■ SB_CORE-SERVER_0007 (MainFileEvaluationError): Storybook couldn't
│ evaluate your .storybook/main.ts file.

│ Original error:
│ Error: spawn EBUSY
│ at ChildProcess.spawn (node:internal/child_process:421:11)
│ at Object.spawn (node:child_process:796:9)
│ at ensureServiceIsRunning
│ (/home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/esbuild@0.27.3/node_modules/esbuild/lib/main.js:1978:29)
│ at transform
│ (/home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/esbuild@0.27.3/node_modules/esbuild/lib/main.js:1878:37)
│ at load
│ (file:///home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/storybook@10.2.10_@testing-library+dom@10.4.0_prettier@3.8.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/storybook/dist/bin/loader.js:77:113)
│ at async nextLoad (node:internal/modules/esm/hooks:785:22)
│ at async AsyncLoaderHooksOnLoaderHookWorker.load
│ (node:internal/modules/esm/hooks:416:20)
│ at async MessagePort.handleMessage
│ (node:internal/modules/esm/worker:251:18)
│ at loadMainConfig
│ (file:///home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/storybook@10.2.10_@testing-library+dom@10.4.0_prettier@3.8.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/storybook/dist/_node-chunks/chunk-URMZXQZT.js:11709:11)
│ at async buildStaticStandalone
│ (file:///home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/storybook@10.2.10_@testing-library+dom@10.4.0_prettier@3.8.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/storybook/dist/core-server/index.js:6239:16)
│ at async withTelemetry
│ (file:///home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/storybook@10.2.10_@testing-library+dom@10.4.0_prettier@3.8.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/storybook/dist/_node-chunks/chunk-S3MWHNYJ.js:218:12)
│ at async build
│ (file:///home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/storybook@10.2.10_@testing-library+dom@10.4.0_prettier@3.8.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/storybook/dist/bin/core.js:2679:3)
│ at async _Command.
│ (file:///home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/storybook@10.2.10_@testing-library+dom@10.4.0_prettier@3.8.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/storybook/dist/bin/core.js:2821:7)

▲ Failed to load preset:
│ "/home/david-pw/dev/MyProject-product/MyProject.Tui/packages/tui-react/.storybook/main.ts"

■ Error: spawn EBUSY
│ at ChildProcess.spawn (node:internal/child_process:421:11)
│ at Object.spawn (node:child_process:796:9)
│ at ensureServiceIsRunning
│ (/home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/esbuild@0.27.3/node_modules/esbuild/lib/main.js:1978:29)
│ at transform
│ (/home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/esbuild@0.27.3/node_modules/esbuild/lib/main.js:1878:37)
│ at load
│ (file:///home/david-pw/dev/MyProject-product/MyProject.Tui/node_modules/.pnpm/storybook@10.2.10_@testing-library+dom@10.4.0_prettier@3.8.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/storybook/dist/bin/loader.js:77:113)
│ at async nextLoad (node:internal/modules/esm/hooks:785:22)
│ at async AsyncLoaderHooksOnLoaderHookWorker.load
│ (node:internal/modules/esm/hooks:416:20)
│ at async MessagePort.handleMessage
│ (node:internal/modules/esm/worker:251:18)

└ Storybook exited with an error
```

### Validations

- [x] Read the [Contributing Guidelines](https://github.com/voidzero-dev/vite-plus/blob/main/CONTRIBUTING.md).
- [x] Check that there isn't [already an issue](https://github.com/voidzero-dev/vite-plus/issues) for the same bug.
- [x] Confirm this is a Vite+ issue and not an upstream issue (Vite, Vitest, tsdown, Rolldown, or Oxc).
- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.