Skip to content

[Bug]: When multiple Rsbuild instances are started in parallel (e.g., Turborepo serve), the dev server may become unresponsive #7388

@yizixu

Description

@yizixu

Version

System:
    OS: Windows 11 10.0.26200
    CPU: (24) x64 Intel(R) Core(TM) i7-14650HX
    Memory: 9.00 GB / 31.71 GB
  Browsers:
    Chrome: 146.0.7680.155
    Edge: Chromium (143.0.3650.80)
  NpmPackages:
    "@rsbuild/core": "^1.7.2",
    "@rsbuild/plugin-babel": "^1.0.6",
    "@rsbuild/plugin-css-minimizer": "^1.1.0",
    "@rsbuild/plugin-node-polyfill": "^1.4.2",
    "@rsbuild/plugin-sass": "^1.4.0",
    "@rsbuild/plugin-vue2": "^1.0.5",
    "@rsbuild/plugin-vue2-jsx": "^1.0.4",

Details

问题描述

在并行启动多个 Rsbuild 开发服务时(例如通过 Turborepo 执行 turbo run serve,并对多个包使用 --filter),会随机有一部分应用在启动或编译阶段卡住。每次运行受影响的子应用不固定

期望行为

并行启动时,所有开发服务应能稳定完成启动;若失败,应给出明确错误,而不是长时间无响应。

实际行为

部分应用会随机卡住,不会输出ready。重新执行时,卡住的应用集合可能变化。

Image

Reproduce link

内部项目不便提供,如果确实需要,我可以用AI写一个

Reproduce Steps

复现步骤

大致步骤

  1. Monorepo 内多个包,各自 serve 脚本会启动 Rsbuild 开发服务(例如 rsbuild dev,部分场景下前面还有本地反向代理或端口工具)。
  2. 并行启动多个应用,例如:turbo run serve --filter=<包1> --filter=<包2> ...,并发数足够同时跑完所选任务(我们曾使用 --concurrency=20)。
  3. 多次重复执行;观察是否间歇性出现部分应用卡住。

已尝试的排查

  • 调整 Turborepo 的 --concurrency:并没有用
  • 验证portless端口占用问题:端口都能正常访问
  • 切换到以前未使用portless的分支:也存在部分应用卡死的问题
  • 单独只起一个应用:一般可正常启动

感谢维护团队的时间与帮助。

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions