Skip to content

thread 'biome::workspace_worker_x' has overflowed its stack #7728

@gc

Description

@gc

Environment information

CLI:
  Version:                      2.2.5
  Color support:                true

Platform:
  CPU Architecture:             x86_64
  OS:                           windows

Environment:
  BIOME_LOG_PATH:               unset
  BIOME_LOG_PREFIX_NAME:        unset
  BIOME_CONFIG_PATH:            unset
  BIOME_THREADS:                unset
  NO_COLOR:                     unset
  TERM:                         xterm-256color
  JS_RUNTIME_VERSION:           v24.8.0
  JS_RUNTIME_NAME:              node
  NODE_PACKAGE_MANAGER:         npm/11.6.0

Biome Configuration:
  Status:                       Loaded successfully
  Path:                         biome.json
  Formatter enabled:            true
  Linter enabled:               true
  Assist enabled:               true
  VCS enabled:                  false

Workspace:
  Open Documents:               0

What happened?

It appears that a corrupt/invalid JSON file (of a sufficient size) causes the 'has overflowed its stack' error. Obviously, I shouldn't have a bad json file laying around, but I accidentally created it and didn't know it was there, ideally it would be handled more gracefully.

Minimal Reproduction (https://github.com/gc/biome-crash)

This is a barebones biome setup, with evil.json causing the crash, alternatively if you just copy this file to somewhere you run biome that should work. The playground doesn't like me trying to paste in this text (it hangs badly)

git clone https://github.com/gc/biome-crash.git

cd biome-crash

npm install

npm run lint (Runs biome check)
> biome check --log-level=info

  2025-10-11T00:59:19.239702Z  INFO  Configuration file loaded: Some("C:\\dev\\biome-crash\\biome.json"), diagnostics detected 0
    at crates\biome_cli\src\commands\mod.rs:900 on main

  2025-10-11T00:59:19.243489Z  INFO  Pulled 0 diagnostic(s), skipped 0 diagnostic(s) from C:\dev\biome-crash\biome.json
    at crates\biome_service\src\workspace\server.rs:1342 on biome::workspace_worker_3

  2025-10-11T00:59:19.243596Z  INFO  Pulled 0 diagnostic(s), skipped 0 diagnostic(s) from C:\dev\biome-crash\biome.json
    at crates\biome_service\src\workspace\server.rs:1342 on biome::workspace_worker_3

  2025-10-11T00:59:19.243672Z  INFO  Pulled 0 diagnostic(s), skipped 0 diagnostic(s) from C:\dev\biome-crash\src\good.json
    at crates\biome_service\src\workspace\server.rs:1342 on biome::workspace_worker_4

  2025-10-11T00:59:19.243674Z  INFO  Pulled 0 diagnostic(s), skipped 0 diagnostic(s) from C:\dev\biome-crash\package.json
    at crates\biome_service\src\workspace\server.rs:1342 on biome::workspace_worker_5

  2025-10-11T00:59:19.243850Z  INFO  Pulled 0 diagnostic(s), skipped 0 diagnostic(s) from C:\dev\biome-crash\package.json
    at crates\biome_service\src\workspace\server.rs:1342 on biome::workspace_worker_5

  2025-10-11T00:59:19.243762Z  INFO  Pulled 0 diagnostic(s), skipped 0 diagnostic(s) from C:\dev\biome-crash\src\good.json
    at crates\biome_service\src\workspace\server.rs:1342 on biome::workspace_worker_4


thread 'biome::workspace_worker_0' has overflowed its stack

Note that evil.json doesn't show up in the output at all, confusing me into thinking good.json was the culprit.

Expected result

To not crash, and instead skip the file and continue on, OR to more gracefully handle the error then exit/stop.

Code of Conduct

  • I agree to follow Biome's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    S-Needs triageStatus: this issue needs to be triaged

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions