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

Flaky FiberRefSpec Test #1936

Open
adamgfraser opened this issue Oct 8, 2019 · 4 comments
Open

Flaky FiberRefSpec Test #1936

adamgfraser opened this issue Oct 8, 2019 · 4 comments
Labels
flaky tests help wanted Extra attention is needed tests

Comments

@adamgfraser
Copy link
Contributor

@mlangc Can you take a look?

[info] - FiberRefSpec
[info]   - Create a new FiberRef with a specified value and check if:
[info]     - the value of the winner is inherited when racing two ZIOs with raceAll
[info]       (update2,update1) did not satisfy equalTo((update1,update1))

https://circleci.com/gh/zio/zio/32289?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

@mlangc
Copy link
Contributor

mlangc commented Oct 9, 2019

I'll look into it today or tomorrow evening.

@mlangc
Copy link
Contributor

mlangc commented Oct 9, 2019

@adamgfraser can you reproduce this locally? I've tried really hard (including running the test thousands of times sequentially and in parallel - both while my workstation was idle and under high load using different JVMs) but I could not reproduce the failure.

@adamgfraser
Copy link
Contributor Author

@mlangc I can't. It definitely happened per the CI logs and I double checked that this was on a branch with looseTimeAndCpu implemented with Live[Clock] but I am also unable to reproduce.

@mlangc
Copy link
Contributor

mlangc commented Oct 9, 2019

Hmm.... I've experimented with different numbers in Schedule.recurs in looseTimeAndCpu, and the smallest number where I could reproduce the issue using nonFlaky(10000) was 32. That being said, I see three possible solutions:

  1. Bump the value of recurs to 200 or even higher, and see if that helps.
  2. Let the looser wait on a promise, that does not get succeeded before the race is over, as discussed on discord (aka cheating).
  3. Document that the test is flaky by nature, as we cannot control the operation system process scheduler, and leave everything as is.

@ghostdogpr ghostdogpr added the help wanted Extra attention is needed label Nov 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flaky tests help wanted Extra attention is needed tests
Projects
None yet
Development

No branches or pull requests

4 participants