-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
drain/hasPendingOperations seems broken: tests/async/testmanyasyncevents.nim recently very flaky on windows #14885
Comments
I'm not sure if the problem is drain, or if the problem is the test.
This makes me wonder if there is a more fundamental (and subtle) bug deeper in the async implementation. Specifically related to environments that may stall or have slow IO performance (such as a highly loaded multitenant VM system like Azure). I have some theories but it's difficult to debug. It seems like the underlying selector events may stall in such a way that it causes the async event loop to miss timeout deadlines (maybe it's stuck in the OS callback?) or possibly the OS does not close a finished selector right away (zombie selector). Either situation could cause false positives from |
could this be related? #14634
(note, this is for OSX but running in azure) things to try
my hunch is there's a bug in our code, but it only gets triggered when running in azure for some reason |
I suspect the issue is specific to OSX and triggered by a slow or overloaded VM. |
I have used this tool in the past to simulate load on a system to help me track down bugs that only happen on during high system stress. |
works on current devel be18f4e on my windows 11 |
this could be a recent regression (since #14849 at least but I don't see how this PR would be the root cause) or maybe the problem is from earlier on; but according to https://dev.azure.com/nim-lang/Nim/_test/analytics?definitionId=1&contextType=build it's since 2020-06-30.
drain
is still broken on windows, in particulartests/async/testmanyasyncevents.nim
is very flaky on windows.hasPendingOperations
would return true instead of false, at least at module scope (haven't tried in proc scope or block scope); this seems related.Example
I keep seeing these failures in a lot of my PR's recently:
https://dev.azure.com/nim-lang/255dfe86-e590-40bb-a8a2-3c0295ebdeb1/_apis/build/builds/6605/logs/94
Additional Information
so maybe there is a more robust fix? /cc @rayman22201
note
this is the most flaky test according to https://dev.azure.com/nim-lang/Nim/_test/analytics?definitionId=1&contextType=build as you can see by filtering by branch and selecting
refs/heads/devel
The text was updated successfully, but these errors were encountered: