Skip to content

test(node): add watcher churn stress target#604

Closed
ChengShiLiu16 wants to merge 1 commit into
dmtrKovalenko:mainfrom
ChengShiLiu16:codex/node-watcher-stress-603
Closed

test(node): add watcher churn stress target#604
ChengShiLiu16 wants to merge 1 commit into
dmtrKovalenko:mainfrom
ChengShiLiu16:codex/node-watcher-stress-603

Conversation

@ChengShiLiu16

Copy link
Copy Markdown

Summary

Adds a focused Node SDK watcher churn stress target for the macOS FSEvents / debouncer crash reported in #603.

This does not claim to fix the crash. It gives maintainers a closer repro/diagnostic loop for the failing path: Node SDK + watcher enabled + concurrent filesystem churn + concurrent searches.

Changes

  • Add packages/fff-node/test/watcher-churn-stress.mjs
    • creates a temp watched tree
    • starts FileFinder with the watcher enabled
    • waits for scan and watcher readiness
    • mutates files with create/write/rename/delete churn
    • concurrently runs file, directory, and grep searches
    • writes per-iteration fff logs under /tmp
  • Add make test-node-watcher-stress
  • Add make build-c-lib-prof, make prepare-node-prof, and make test-node-watcher-stress-prof
    • uses the existing profile.prof profile so macOS crashes can be reproduced with debuginfo/symbols retained

Validation

Local:

  • node --check packages/fff-node/test/watcher-churn-stress.mjs
  • npm ci --ignore-scripts
  • cd packages/fff-node && npm run build
  • git diff --check
  • make -n test-node-watcher-stress-prof

Not run locally:

  • make test-node-watcher-stress
  • make test-node-watcher-stress-prof

Reason: the local Rust toolchain currently has no usable cargo component and rustup rolls back while installing due to a rust-analyzer component conflict. The new Makefile targets expand correctly and should run in a working Rust environment / CI.

Refs #603

@dmtrKovalenko

Copy link
Copy Markdown
Owner
image

not sure what you mean but this is not reproducible for me not for mac not on linux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants