Skip to content

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

@david-pw

Description

@david-pw

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:

  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

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

➜  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.<anonymous>
│  (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

Metadata

Metadata

Assignees

Type

Priority

None yet

Effort

None yet

Target date

None yet

Start date

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions