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

Races in dial queue tests #239

Closed
anacrolix opened this issue Jan 31, 2019 · 7 comments
Closed

Races in dial queue tests #239

anacrolix opened this issue Jan 31, 2019 · 7 comments

Comments

@anacrolix
Copy link
Contributor

@raulk There's races in the dial queue tests around the manipulation of the dial queue variables. I'm also able to trigger panic: sync: negative WaitGroup in TestDialQueueMutePeriodHonored when I was messing around trying to fix them if the scaling mute period is set to 0. I think that might indicate some assumptions about timing.

@raulk
Copy link
Member

raulk commented Jan 31, 2019

I can see this happening. Weirdly, it didn’t error locally on any execution, nor on 2 CIs. I guess tests execute in a different direction down under, just like the drains circling :P

I’ll build on your latest PR and make all params adjustable via a struct. Also paves the way to make some form of this queue exportable to other areas of the system that might benefit.

@anacrolix
Copy link
Contributor Author

Sounds ideal.

@anacrolix
Copy link
Contributor Author

Actually you should just merge #241 now, and use a struct in another PR.

@anacrolix
Copy link
Contributor Author

This will stop the CI from failing so we can move on in the short term.

@raulk
Copy link
Member

raulk commented Jan 31, 2019

@anacrolix sounds like a plan. Merged.

@anacrolix
Copy link
Contributor Author

Do you want to try a test for a scaling mute period of 0? As mentioned some of the tests fail with this, so I suspect a logic error somewhere. (There may be some timing assumptions, that will eventually cause problems in the wild.)

@anacrolix
Copy link
Contributor Author

With #248 I can no longer reproduce the other failures I found.

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

No branches or pull requests

2 participants