◐ Shell
clean mode source ↗

Message 234134 - Python tracker

The race condition occurs when _WaitHandleFuture().cancel() is called. This object is created by IocpProactor.wait_for_handle().

_WaitHandleFuture().cancel() is only called by 4 tests:

- test_cancel_post_init()
- test_cancel_make_subprocess_transport_exec
- test_wait_for_handle
- test_wait_for_handle_cancel

It looks like the "GetQueuedCompletionStatus() returned an unexpected event" error is logged when test_wait_for_handle() and/or test_wait_for_handle_cancel() is executed(). Disabling these tests is enough to workaround this issue.

Using Tulip, use "python3 runtests.py -r" to reproduce the issue. You may have to run this command multiple times to see the error, the bug is random.