cpython icon indicating copy to clipboard operation
cpython copied to clipboard

test_sendfile_fallback_close_peer_in_the_middle_of_receiving false failure on macOS

Open fancidev opened this issue 2 years ago • 5 comments

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.

fancidev avatar Oct 11 '22 00:10 fancidev

Another CI test run with the same error (Python 3.7): Python-3.7-PySide2-macos-latest

fancidev avatar Oct 11 '22 22:10 fancidev

Can you please try the latest version? Will it still fail for you? Refs https://github.com/python/cpython/issues/97546

sobolevn avatar Oct 12 '22 18:10 sobolevn

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.

gvanrossum avatar Oct 12 '22 19:10 gvanrossum

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.

akulakov avatar Oct 14 '22 19:10 akulakov

@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.

fancidev avatar Oct 16 '22 04:10 fancidev