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

Investigate flaky test-fs-watch-recursive on OS X #8511

Closed
Trott opened this issue Sep 13, 2016 · 4 comments
Closed

Investigate flaky test-fs-watch-recursive on OS X #8511

Trott opened this issue Sep 13, 2016 · 4 comments
Labels
flaky-test Issues and PRs related to the tests with unstable failures on the CI. fs Issues and PRs related to the fs subsystem / file system. macos Issues and PRs related to the macOS platform / OSX. test Issues and PRs related to the tests.

Comments

@Trott
Copy link
Member

Trott commented Sep 13, 2016

https://ci.nodejs.org/job/node-test-commit-osx/5015/nodes=osx1010/console:

not ok 600 parallel/test-fs-watch-recursive
# TIMEOUT

@nodejs/testing

@Trott Trott added fs Issues and PRs related to the fs subsystem / file system. test Issues and PRs related to the tests. macos Issues and PRs related to the macOS platform / OSX. labels Sep 13, 2016
@Trott
Copy link
Member Author

Trott commented Oct 21, 2016

Still seeing this (e.g., https://ci.nodejs.org/job/node-test-commit-osx/5733/nodes=osx1010/console). See it from time to time locally too.

@Trott
Copy link
Member Author

Trott commented Oct 26, 2016

Another one: https://ci.nodejs.org/job/node-test-commit-osx/5813/nodes=osx1010/console

I see it locally from time to time, but not when I'm trying to make it fail (by running it over and over). Would appreciate any insights on making it fail on demand.

@jasnell
Copy link
Member

jasnell commented Oct 26, 2016

spotting this more often locally also. It's already happened three or four times today.

@Trott
Copy link
Member Author

Trott commented Oct 26, 2016

Now that 60a78ae has landed, I am able to duplicate this failure like this on OS X (after increasing my ulimit -n above the OS X default):

tools/test.py --repeat=256 -j 256  parallel/test-fs-watch-recursive

Fix coming shortly. I'm optimistic that what causes the issue above is what causes it in general.

Trott added a commit to Trott/io.js that referenced this issue Oct 26, 2016
The test was sometimes timing out due to a race condition. In OS X,
events for `fs.watch()` might only start showing up after a delay. This
is a limitation of the operating system. To work around that, there was
a timer in the test that delayed the writing of the file by 100ms.
However, sometimes that was not enough, and so the event never fired,
and the test timed out.

Change the timer to an interval so that it fires repeatedly until it is
picked up. This change only affects OS X.

Fixes: nodejs#8511
@Trott Trott closed this as completed in fd54df1 Oct 29, 2016
evanlucas pushed a commit that referenced this issue Nov 3, 2016
The test was sometimes timing out due to a race condition. In OS X,
events for `fs.watch()` might only start showing up after a delay. This
is a limitation of the operating system. To work around that, there was
a timer in the test that delayed the writing of the file by 100ms.
However, sometimes that was not enough, and so the event never fired,
and the test timed out.

Change the timer to an interval so that it fires repeatedly until it is
picked up. This change only affects OS X.

Fixes: #8511
PR-URL: #9303
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
MylesBorins pushed a commit that referenced this issue Nov 22, 2016
The test was sometimes timing out due to a race condition. In OS X,
events for `fs.watch()` might only start showing up after a delay. This
is a limitation of the operating system. To work around that, there was
a timer in the test that delayed the writing of the file by 100ms.
However, sometimes that was not enough, and so the event never fired,
and the test timed out.

Change the timer to an interval so that it fires repeatedly until it is
picked up. This change only affects OS X.

Fixes: #8511
PR-URL: #9303
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
MylesBorins pushed a commit that referenced this issue Nov 22, 2016
The test was sometimes timing out due to a race condition. In OS X,
events for `fs.watch()` might only start showing up after a delay. This
is a limitation of the operating system. To work around that, there was
a timer in the test that delayed the writing of the file by 100ms.
However, sometimes that was not enough, and so the event never fired,
and the test timed out.

Change the timer to an interval so that it fires repeatedly until it is
picked up. This change only affects OS X.

Fixes: #8511
PR-URL: #9303
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
@BridgeAR BridgeAR added the flaky-test Issues and PRs related to the tests with unstable failures on the CI. label Feb 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flaky-test Issues and PRs related to the tests with unstable failures on the CI. fs Issues and PRs related to the fs subsystem / file system. macos Issues and PRs related to the macOS platform / OSX. test Issues and PRs related to the tests.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants