Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: rspack serve throws Maximum call stack size exceeded when using JS APIs and a multi-config #8079

Closed
mxmason opened this issue Oct 10, 2024 · 0 comments · Fixed by web-infra-dev/rspack-dev-server#9
Labels
bug Something isn't working pending triage The issue/PR is currently untouched.

Comments

@mxmason
Copy link

mxmason commented Oct 10, 2024

System Info

  System:
    OS: macOS 14.5
    CPU: (8) arm64 Apple M2
    Memory: 124.34 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.1 - ~/.nvm/versions/node/v20.11.1/bin/node
    Yarn: 1.22.22 - ~/.nvm/versions/node/v20.11.1/bin/yarn
    npm: 10.2.4 - ~/.nvm/versions/node/v20.11.1/bin/npm
    pnpm: 8.15.6 - ~/.nvm/versions/node/v20.11.1/bin/pnpm
    bun: 1.1.12 - ~/.bun/bin/bun
  Browsers:
    Chrome: 129.0.6668.91
    Safari: 17.5

Details

rspack can't compile in serve mode if the config meets these two conditions:

  • it creates a server using the JS APIs, and
  • its config file exports 2 or more configs

With configs like this, running rspack serve produces the following error:

RangeError: Maximum call stack size exceeded
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:23:57)
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:27:38)
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:27:38)
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:27:38)
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:27:38)
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:27:38)
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:27:38)
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:27:38)
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:27:38)
    at Module._resolveFilename.Module._resolveFilename [as /<user>dev/rspack-repro-serve/node_modules/.pnpm/webpack-dev-server@5.0.4_webpack-cli@5.1.4_webpack@5.95.0/node_modules/webpack-dev-server/lib/Server.js] (/<user>dev/rspack-repro-serve/node_modules/.pnpm/@rspack+dev-server@1.0.7_@rspack+core@1.0.8_webpack-cli@5.1.4_webpack@5.95.0/node_modules/@rspack/dev-server/dist/alias.js:27:38)

Reproduce link

https://github.com/mxmason/rspack-repro-serve

Reproduce Steps

See the attached reproduction for a repository that has uses an array of configs and serves with the JS APIs. In that repository, do the following:

  1. run pnpm dev:rspack
  2. note that the Maximum call stack size exceeded error appears

Note

Starting a server via the cli, with pnpm dev:rspack, works just fine. This multi-compiler scenario only fails if the server is created via the JS APIs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working pending triage The issue/PR is currently untouched.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant