cpython
cpython copied to clipboard
test_sendfile_fallback_close_peer_in_the_middle_of_receiving false failure on macOS
The test_sendfile_fallback_close_peer_in_the_middle_of_receiving test in test.test_asyncio.test_sendfile.SelectEventLoopTests fails with error “OSError: [Errno 41] Protocol wrong type for socket” intermittently on macOS.
I have seen this error multiple times across Python 3.8-3.11rc1 CI test runs on GitHub Actions. For a recent example, see https://github.com/fancidev/qtinter/actions/runs/3219024415/jobs/5263887528 (this is a custom build run, but the test steps involves no custom code)
This is in fact nothing new — a similar issue was reported and fixed in https://github.com/python/cpython/issues/88395
Maybe a similar fix to the test case would suit.
Another CI test run with the same error (Python 3.7): Python-3.7-PySide2-macos-latest
Can you please try the latest version? Will it still fail for you? Refs https://github.com/python/cpython/issues/97546
If it does still fail in 3.11 or main, could you suggest a PR? We're short of experts in this area for sure! And I think our main SSL expert works primarily (only?) on Linux.
I could not reproduce locally on MacOS 11.5.2 M1, I did a few hundred test runs on both Py 3.9 and latest dev version.
@sobolevn: The issue still exists in recent code -- here is a CI run error example on 3.11.0-rc1: https://github.com/fancidev/qtinter/actions/runs/3219024415/jobs/5263887528#logs
@gvanrossum: I proposed a PR just now. Thanks for reviewing!
@akulakov: Neither can I reproduce the issue on my dev machine, though I've seen it a few times on CI runs. I suppose the load on CI server makes the issue easier to occur.