test: is sequential/test-fs-watch flaky on macOSΒ #12900
Copy link
Copy link
Closed
Labels
fsIssues and PRs related to file-system APIs and the fs module.Issues and PRs related to file-system APIs and the fs module.macosIssues and PRs related to the macOS platform.Issues and PRs related to the macOS platform.testIssues and PRs related to Node.js core tests and test infrastructure.Issues and PRs related to Node.js core tests and test infrastructure.
Description
- Version:
master - Platform:
macOS - Subsystem: test
https://ci.nodejs.org/job/node-test-commit-osx/9629/nodes=osx1010/tapResults/
1393 sequential/test-fs-watch
duration_ms
60.74
severity
fail
stack
timeout
/cc @nodejs/platform-macos
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
fsIssues and PRs related to file-system APIs and the fs module.Issues and PRs related to file-system APIs and the fs module.macosIssues and PRs related to the macOS platform.Issues and PRs related to the macOS platform.testIssues and PRs related to Node.js core tests and test infrastructure.Issues and PRs related to Node.js core tests and test infrastructure.
Activity
aashil commentedon May 8, 2017
I would like to work on this issue.
refack commentedon May 8, 2017
@aashil Go for it π₯
aashil commentedon May 15, 2017
@refack I tried running this test using
./node test/sequential/test-fs-watch.jsand I got nothing. I assume the test ran with no errors?aqrln commentedon May 15, 2017
@aashil it did. You can try something like
python tools/test.py --mode=release --repeat=10000 sequential/test-fs-watchand see if it starts failing after a couple of minutes of running. However, a better strategy might be to examine its source code and try to find out the reason analytically and not empirically.refack commentedon May 15, 2017
Since it was a timeout issue that happens only occasionally, it might be hard to reproduce empirically...
Trott commentedon May 15, 2017
I can replicate the issue reasonably reliably by doing the following:
test/paralleltools/test.py --mode=release --repeat=64 -j 16 test/parallel/test-fs-watch.jsWhen I run it that way, it runs successfully a lot but also times out a lot.
I have not investigated further at this time, but this all suggests that the test is flaky when the system is under load and/or when the test is competing with other processes for specific resources.
aashil commentedon May 15, 2017
I was able to replicate the issue after suggestions from @aqrln and @Trott I will look into this in more detail.
aashil commentedon May 16, 2017
@Trott @refack @aqrln Shouldn't the behavior of the test be the same when running via
tools/test.pyand running via a script which runs./node test/sequential/test-fs-watch.jsgiven number of times? With the latter approach I haveconsole.logstatements set up at different points which would help me identify which command in the test times out but, the tests never time out, which makes me think if the timeout is specific to calling via tools/test.py Do you have an alternative or a better approach to debug the test?Trott commentedon May 16, 2017
@aashil No.
tools/test.py --mode=release --repeat=64 -j 16 test/parallel/test-fs-watch.jswill run those tests in parallel../node test/sequential/test-fs-watch.jsa given number of times will run them sequentially.aqrln commentedon May 16, 2017
@aashil besides that, right, it is
tools/test.pywatching that a test does not exceed the maximal timeframe. However, you can see if it would fail because of that even without the test harness, because if a test fails with timeout, it usually means that it has hung.MylesBorins commentedon May 16, 2017
looks like we might have an AIX failure for this on v6.x
https://ci.nodejs.org/job/node-test-commit-aix/5888/nodes=aix61-ppc64/console
gibfahn commentedon May 18, 2017
For posterity this turned out to be unrelated (see #13070)
refack commentedon Jun 27, 2017
Stress
macOS: https://ci.nodejs.org/job/node-stress-single-test/1312/nodes=osx1010/Stress
AIX: https://ci.nodejs.org/job/node-stress-single-test/1311/nodes=aix61-ppc64/refack commentedon Jun 28, 2017
Stress passed (when run as parallel with refack@63ef897):
macOS:
AIX:
Closing for now