
This issue trackerhas been migrated toGitHub, and is currentlyread-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.
Created on2019-02-15 10:12 bymatrixise, last changed2022-04-11 14:59 byadmin. This issue is nowclosed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| stdout.txt | matrixise,2019-02-15 10:12 | |||
| stderr.txt | matrixise,2019-02-15 10:12 | |||
| stderr-op368.txt | op368,2019-03-04 20:18 | test_start_tls_server_1 only | ||
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 14080 | merged | asvetlov,2019-06-14 14:14 | |
| PR 14084 | merged | miss-islington,2019-06-14 15:26 | |
| PR 14086 | merged | vstinner,2019-06-14 15:42 | |
| PR 14150 | merged | miss-islington,2019-06-17 09:48 | |
| PR 14151 | merged | miss-islington,2019-06-17 09:48 | |
| PR 16815 | merged | vstinner,2019-10-15 23:37 | |
| PR 16817 | merged | miss-islington,2019-10-16 08:18 | |
| PR 16818 | merged | vstinner,2019-10-16 08:25 | |
| Messages (44) | |||
|---|---|---|---|
| msg335596 -(view) | Author: Stéphane Wirtel (matrixise)*![]() | Date: 2019-02-15 10:12 | |
======================================================================ERROR: test_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests)----------------------------------------------------------------------Traceback (most recent call last): File "/home/stephane/src/github.com/python/cpython-original/Lib/test/test_asyncio/test_sslproto.py", line 510, in test_start_tls_server_1 self.loop.run_until_complete(run_main()) File "/home/stephane/src/github.com/python/cpython-original/Lib/asyncio/base_events.py", line 589, in run_until_complete return future.result() File "/home/stephane/src/github.com/python/cpython-original/Lib/test/test_asyncio/test_sslproto.py", line 503, in run_main await asyncio.wait_for( File "/home/stephane/src/github.com/python/cpython-original/Lib/asyncio/tasks.py", line 461, in wait_for raise exceptions.TimeoutError()asyncio.exceptions.TimeoutErrormy current revision:3e028b2d40370dc986b6f3146a7ae927bc119f97system: fedora 29compiled with gccgcc (GCC) 8.2.1 20181215 (Red Hat 8.2.1-6)No issue on Travis, but this test fails on my computer and I cleaned my repo with git clean -dfqx | |||
| msg335597 -(view) | Author: Stéphane Wirtel (matrixise)*![]() | Date: 2019-02-15 10:12 | |
here is the stderr.txt | |||
| msg335626 -(view) | Author: Karthikeyan Singaravelan (xtreak)*![]() | Date: 2019-02-15 17:38 | |
Not sure if it's related but there was a similar report on failure in freebsd bots with tls1.3 :issue35031 . Can you please add SSL info with ./python -m test.pythoninfo | grep ssl ?Test runs fine on my ubuntu 16.04 machine with below info$ ./python -m test.pythoninfo | grep sslssl.HAS_SNI: Truessl.OPENSSL_VERSION: OpenSSL 1.0.2g 1 Mar 2016ssl.OPENSSL_VERSION_INFO: (1, 0, 2, 7, 15)ssl.OP_ALL: 0x800003ffssl.OP_NO_TLSv1_1: 0x10000000 | |||
| msg335629 -(view) | Author: Charalampos Stratakis (cstratak)* | Date: 2019-02-15 17:56 | |
Fedora 29 has openssl 1.1.1 which seems to be related. | |||
| msg335635 -(view) | Author: Karthikeyan Singaravelan (xtreak)*![]() | Date: 2019-02-15 18:49 | |
I can confirm that this fails on a fresh fedora 29 VM as of commit 355f16f. The changes inPR 10011 make this test pass.SSL version and OS details$ cat /etc/fedora-releaseFedora release 29 (Twenty Nine)$ uname -aLinux fedora-s-1vcpu-1gb-blr1-01 4.20.7-200.fc29.x86_64 #1 SMP Wed Feb 6 19:16:42 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux$ ./python -m test.pythoninfo | grep sslssl.HAS_SNI: Truessl.OPENSSL_VERSION: OpenSSL 1.1.1a FIPS 20 Nov 2018ssl.OPENSSL_VERSION_INFO: (1, 1, 1, 1, 15)ssl.OP_ALL: 0x80000054ssl.OP_NO_TLSv1_1: 0x10000000# Test failure with tracemalloc$ ./python -X tracemalloc -m unittest -v test.test_asyncio.test_sslproto.SelectorStartTLSTeststest_buf_feed_data (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_create_connection_ssl_failed_certificate (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_create_connection_ssl_slow_handshake (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_handshake_timeout (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_client_buf_proto_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_client_corrupted_ssl (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_client_reg_proto_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... /root/cpython/Lib/asyncio/sslproto.py:321: ResourceWarning: unclosed transport <asyncio.sslproto._SSLProtocolTransport object at 0x7f2087642170> _warn(f"unclosed transport {self!r}", ResourceWarning, source=self)Object allocated at (most recent call last): File "/root/cpython/Lib/asyncio/sslproto.py", lineno 446 self._app_transport = _SSLProtocolTransport(self._loop, self)ERRORtest_start_tls_slow_client_cancel (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... Unhandled error in exception handlercontext: {'message': 'Future exception was never retrieved', 'exception': ConnectionResetError(104, 'Connection reset by peer'), 'future': <Future finished exception=ConnectionResetError(104, 'Connection reset by peer')>}Traceback (most recent call last): File "/root/cpython/Lib/asyncio/base_events.py", line 1653, in call_exception_handler self._exception_handler(self, context) File "/root/cpython/Lib/test/test_asyncio/functional.py", line 22, in loop_exception_handler self.loop.default_exception_handler(context)AttributeError: 'NoneType' object has no attribute 'default_exception_handler'/root/cpython/Lib/asyncio/base_events.py:675: ResourceWarning: unclosed <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('127.0.0.1', 34497)> timer = events.TimerHandle(when, callback, args, self, context)Object allocated at (most recent call last): File "/root/cpython/Lib/asyncio/base_events.py", lineno 1360 sock = socket.socket(af, socktype, proto)oktest_start_tls_wrong_args (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... ok======================================================================ERROR: test_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests)----------------------------------------------------------------------Traceback (most recent call last): File "/root/cpython/Lib/test/test_asyncio/test_sslproto.py", line 510, in test_start_tls_server_1 self.loop.run_until_complete(run_main()) File "/root/cpython/Lib/asyncio/base_events.py", line 589, in run_until_complete return future.result() File "/root/cpython/Lib/test/test_asyncio/test_sslproto.py", line 503, in run_main await asyncio.wait_for( File "/root/cpython/Lib/asyncio/tasks.py", line 461, in wait_for raise exceptions.TimeoutError()asyncio.exceptions.TimeoutError----------------------------------------------------------------------Ran 10 tests in 63.797sFAILED (errors=1)# WithPR 10011 applied to Fedora$ ./python -X tracemalloc -m unittest -v test.test_asyncio.test_sslproto.SelectorStartTLSTeststest_buf_feed_data (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_create_connection_ssl_failed_certificate (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_create_connection_ssl_slow_handshake (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_handshake_timeout (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_client_buf_proto_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_client_corrupted_ssl (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_client_reg_proto_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_slow_client_cancel (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... oktest_start_tls_wrong_args (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... ok----------------------------------------------------------------------Ran 10 tests in 3.734sOK | |||
| msg336986 -(view) | Author: Open Close (op368)* | Date: 2019-03-02 04:19 | |
I have the same TimeoutError on Arch linux PC (openssl 1.1.1a).It is random, but for now running test continuously at most 5 times successfully brings about the fail.So I thinkmsg335635 needs re-checking.He saidsPR 10011 makes this test pass in fedora 29 VM,but thinking about that it only adds an conditional to FreeBSD, it is not likely. if sys.platform.startswith('freebsd'): client_context.options |= ssl.OP_NO_TLSv1_3And indded, if commenting out the conditional line,the test actually passes.So I also think the commit needs re-considering.f777fa5f2bd16ac8d60416eaa64eb9d2cf84ffac (Opt out of TLS 1.3 only on FreeBSD) ---$ uname -aLinux **** 4.20.4-arch1-1-ARCH #1 SMP PREEMPT Wed Jan 23 00:12:22 UTC 2019 x86_64 GNU/Linux(native, not venv nor vm)$ ./python -m test.pythoninfo | grep sslssl.HAS_SNI: Truessl.OPENSSL_VERSION: OpenSSL 1.1.1a 20 Nov 2018ssl.OPENSSL_VERSION_INFO: (1, 1, 1, 1, 15)ssl.OP_ALL: 0x80000054ssl.OP_NO_TLSv1_1: 0x10000000$ ./python -X tracemalloc -m unittest -v test.test_asyncio.test_sslproto.SelectorStartTLSTests.test_start_tls_server_1...======================================================================ERROR: test_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests)----------------------------------------------------------------------Traceback (most recent call last): File "/home/philo/me/git/cpython/Lib/test/test_asyncio/test_sslproto.py", line 510, in test_start_tls_server_1 self.loop.run_until_complete(run_main()) File "/home/philo/me/git/cpython/Lib/asyncio/base_events.py", line 589, in run_until_complete return future.result() File "/home/philo/me/git/cpython/Lib/test/test_asyncio/test_sslproto.py", line 503, in run_main await asyncio.wait_for( File "/home/philo/me/git/cpython/Lib/asyncio/tasks.py", line 461, in wait_for raise exceptions.TimeoutError()asyncio.exceptions.TimeoutError----------------------------------------------------------------------Ran 1 test in 60.076s | |||
| msg336991 -(view) | Author: Open Close (op368)* | Date: 2019-03-02 05:22 | |
It may be openssl 1.1.1a specific.I don't understand most of what they say,but the changelog (to 1.1.1b) 'looks' suspicious.https://www.openssl.org/news/changelog.html#x1...Actually Archlinux updated openssl to 1.1.1b about 4 days ago,so I can 'test' 1.1.1b.But which means I may not be able to reproduce the fail after that. | |||
| msg337125 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-03-04 15:00 | |
Interesting code in test_ssl.py: except (ConnectionResetError, BrokenPipeError) as e: # We treat ConnectionResetError as though it were an # SSLError - OpenSSL on Ubuntu abruptly closes the # connection when asked to use an unsupported protocol. # # BrokenPipeError is raised in TLS 1.3 mode, when OpenSSL # tries to send session tickets after handshake. #https://github.com/openssl/openssl/issues/6342 self.server.conn_errors.append(str(e)) if self.server.chatty: handle_error("\n server: bad connection attempt from " + repr(self.addr) + ":\n") self.running = False self.close() return Falseand except ConnectionResetError: # XXX: OpenSSL 1.1.1 sometimes raises ConnectionResetError # when connection is not shut down gracefully. if self.server.chatty and support.verbose: sys.stdout.write( " Connection reset by peer: {}\n".format( self.addr) ) self.close() self.running = FalseInteresting commit:commit529525fb5a8fd9b96ab4021311a598c77588b918Author: Christian Heimes <christian@python.org>Date: Wed May 23 22:24:45 2018 +0200bpo-33618: Enable TLS 1.3 in tests (GH-7079) TLS 1.3 behaves slightly different than TLS 1.2. Session tickets and TLS client cert auth are now handled after the initialy handshake. Tests now either send/recv data to trigger session and client certs. Or tests ignore ConnectionResetError / BrokenPipeError on the server side to handle clients that force-close the socket fd. To test TLS 1.3, OpenSSL 1.1.1-pre7-dev (git master + OpenSSL PRhttps://github.com/openssl/openssl/pull/6340) is required. Signed-off-by: Christian Heimes <christian@python.org> | |||
| msg337147 -(view) | Author: Open Close (op368)* | Date: 2019-03-04 20:18 | |
uploading stderr-op368.txt.(basically the same as Stéphane and Karthikeyan.) | |||
| msg337239 -(view) | Author: Stéphane Wirtel (matrixise)*![]() | Date: 2019-03-05 21:36 | |
./python -m test -W -u network -j0 -r -F test_asyncioERROR: test_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests)----------------------------------------------------------------------Traceback (most recent call last): File "/home/stephane/src/github.com/python/cpython/Lib/test/test_asyncio/test_sslproto.py", line 510, in test_start_tls_server_1 self.loop.run_until_complete(run_main()) File "/home/stephane/src/github.com/python/cpython/Lib/asyncio/base_events.py", line 589, in run_until_complete return future.result() File "/home/stephane/src/github.com/python/cpython/Lib/test/test_asyncio/test_sslproto.py", line 503, in run_main await asyncio.wait_for( File "/home/stephane/src/github.com/python/cpython/Lib/asyncio/tasks.py", line 461, in wait_for raise exceptions.TimeoutError()asyncio.exceptions.TimeoutError----------------------------------------------------------------------Ran 2044 tests in 113.604sopenssl 1.1.1brevision:d8b3a98c9098c66a714fd5593e1928af0ffbc631 | |||
| msg337563 -(view) | Author: Open Close (op368)* | Date: 2019-03-09 08:51 | |
I updated my PC (OpenSSL 1.1.1b).the same TimeoutError as before.$ ./python -m test.pythoninfo | grep sslssl.HAS_SNI: Truessl.OPENSSL_VERSION: OpenSSL 1.1.1b 26 Feb 2019ssl.OPENSSL_VERSION_INFO: (1, 1, 1, 2, 15)ssl.OP_ALL: 0x80000054ssl.OP_NO_TLSv1_1: 0x10000000 | |||
| msg337974 -(view) | Author: Matthias Klose (doko)*![]() | Date: 2019-03-15 08:38 | |
seen in Ubuntu 19.04 as well. Started after the openssl update form 1.1.1 to 1.1.1b. | |||
| msg338129 -(view) | Author: Matthias Klose (doko)*![]() | Date: 2019-03-17 13:44 | |
setting to release-blocker for evaluation. the freebsd solution seems to be wrong, just avoiding the error. Is the test correct, or do we have an issue that TLSv1.3 isn't properly handled? | |||
| msg338368 -(view) | Author: Charalampos Stratakis (cstratak)* | Date: 2019-03-19 15:50 | |
On my system with openssl 1.1.1b, by reducing the PAYLOAD_SIZE the test passes successfully.It starts failing when it's bigger than 1024 * 95 | |||
| msg338749 -(view) | Author: Ned Deily (ned.deily)*![]() | Date: 2019-03-24 20:08 | |
I am changing the priority of this to "deferred blocker" as our current strategy outlined inIssue34631 is to target full support of OpenSSL 1.1.1 in 3.7.4 and prior to 3.8.0b1. | |||
| msg345597 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-06-14 15:26 | |
New changesetf0749da9a535375f05a2015e8960e8ae54877349 by Victor Stinner (Andrew Svetlov) in branch 'master':bpo-35998: Avoid TimeoutError in test_asyncio: test_start_tls_server_1() (GH-14080)https://github.com/python/cpython/commit/f0749da9a535375f05a2015e8960e8ae54877349 | |||
| msg345598 -(view) | Author: Andrew Svetlov (asvetlov)*![]() | Date: 2019-06-14 15:46 | |
Finally fixed | |||
| msg345605 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-06-14 16:05 | |
> Finally fixedThank you very much! I looked at this issue 2 or 3 times but I failed to fix it. This bug was super annoying: it failed multiple times per week on Fedora buildbots. | |||
| msg345607 -(view) | Author: miss-islington (miss-islington) | Date: 2019-06-14 16:12 | |
New changeset0c2eb6d21013d77e1160250d3cf69ca80215d064 by Miss Islington (bot) in branch '3.8':bpo-35998: Avoid TimeoutError in test_asyncio: test_start_tls_server_1() (GH-14080)https://github.com/python/cpython/commit/0c2eb6d21013d77e1160250d3cf69ca80215d064 | |||
| msg345608 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-06-14 16:26 | |
New changeset33feb2e1a391cde91aefcb8d9cf5144b5fbc5d87 by Victor Stinner in branch '3.7':bpo-35998: Avoid TimeoutError in test_asyncio: test_start_tls_server_1() (GH-14080) (GH-14086)https://github.com/python/cpython/commit/33feb2e1a391cde91aefcb8d9cf5144b5fbc5d87 | |||
| msg345623 -(view) | Author: Andrew Svetlov (asvetlov)*![]() | Date: 2019-06-14 17:52 | |
Thanks for the review, Victor!I have had to fix it much earlier :( | |||
| msg345640 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-06-14 21:51 | |
> I have had to fix it much earlier :(That's fine. If this bug was more annoying, I would have it fixed myselfearlier. But I had other more critical bugs to fix before that one. Theimportant part is that it is fixed now. | |||
| msg345644 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-06-14 22:14 | |
Sadly, the fix is not perfect, the test failed on the very "x86 Windows7 3.x" buildbot:https://buildbot.python.org/all/#/builders/58/builds/2627ERROR: test_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests)----------------------------------------------------------------------Traceback (most recent call last): File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows7\build\lib\test\test_asyncio\test_sslproto.py", line 578, in test_start_tls_server_1 self.loop.run_until_complete(run_main()) File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows7\build\lib\asyncio\base_events.py", line 606, in run_until_complete raise RuntimeError('Event loop stopped before Future completed.')RuntimeError: Event loop stopped before Future completed. | |||
| msg345645 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-06-14 22:16 | |
x86 Windows7 3.7:https://buildbot.python.org/all/#/builders/111/builds/1123test_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... Exception in thread test-client:Traceback (most recent call last): File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\test\test_asyncio\functional.py", line 198, in run self._prog(TestSocketWrapper(self._sock)) File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\test\test_asyncio\test_sslproto.py", line 565, in <lambda> with self.tcp_client(lambda sock: client(sock, addr), File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\test\test_asyncio\test_sslproto.py", line 510, in client answer = sock.recv_all(len(ANSWER)) File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\test\test_asyncio\functional.py", line 138, in recv_all data = self.recv(n - len(buf)) File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\ssl.py", line 1045, in recv return self.read(buflen) File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\ssl.py", line 920, in read return self._sslobj.read(len)ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2488)During handling of the above exception, another exception occurred:Traceback (most recent call last): File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\threading.py", line 926, in _bootstrap_inner self.run() File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\test\test_asyncio\functional.py", line 200, in run self._test._abort_socket_test(ex) File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\test\test_asyncio\functional.py", line 122, in _abort_socket_test self.fail(ex) File "D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\unittest\case.py", line 693, in fail raise self.failureException(msg)AssertionError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2488)D:\cygwin\home\db3l\buildarea\3.7.bolen-windows7\build\lib\threading.py:960: ResourceWarning: unclosed <ssl.SSLSocket fd=772, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 64078), raddr=('127.0.0.1', 64077)> del exc_type, exc_value, exc_tbResourceWarning: Enable tracemalloc to get the object allocation tracebackERROR | |||
| msg345683 -(view) | Author: Andrew Svetlov (asvetlov)*![]() | Date: 2019-06-15 15:02 | |
Ooops. Looks like a real problem, not test-only :( | |||
| msg345807 -(view) | Author: Ned Deily (ned.deily)*![]() | Date: 2019-06-17 07:45 | |
What to do here? This was originally filed as a "release blocker" and I allowed 3.7.3 to go out without a resolution for it since we had agreed to @christian.heimes proposal to defer full support of OpenSSL 1.1.1 until 3.7.4. Now we are approaching code cutoff for 3.7.4. | |||
| msg345830 -(view) | Author: Andrew Svetlov (asvetlov)*![]() | Date: 2019-06-17 08:58 | |
No idea what to do.SSL support is obviously broken.Current code is too complex to maintain.Yuri has a full reimplementation of ssl_proto.py in uvloop.It *seem* to work and can be backported.I'm sick now, can be ready to work back in a day or two. | |||
| msg345833 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-06-17 09:47 | |
New changesetc034b7824f5a7c50f2946ab3931633200e31d903 by Victor Stinner in branch 'master':bpo-35031, test_asycio: disable TLS 1.3 in test_start_tls_server_1() (GH-14148)https://github.com/python/cpython/commit/c034b7824f5a7c50f2946ab3931633200e31d903 | |||
| msg345838 -(view) | Author: miss-islington (miss-islington) | Date: 2019-06-17 10:06 | |
New changeseta5ddbfbf50715e3d4b90ad367ed6827c6cbcc52f by Miss Islington (bot) in branch '3.8':bpo-35031, test_asycio: disable TLS 1.3 in test_start_tls_server_1() (GH-14148)https://github.com/python/cpython/commit/a5ddbfbf50715e3d4b90ad367ed6827c6cbcc52f | |||
| msg345840 -(view) | Author: miss-islington (miss-islington) | Date: 2019-06-17 10:10 | |
New changeset0040903bbae043225499babae23649d896ea2eec by Miss Islington (bot) in branch '3.7':bpo-35031, test_asycio: disable TLS 1.3 in test_start_tls_server_1() (GH-14148)https://github.com/python/cpython/commit/0040903bbae043225499babae23649d896ea2eec | |||
| msg350294 -(view) | Author: Łukasz Langa (lukasz.langa)*![]() | Date: 2019-08-23 14:10 | |
Should this be closed? | |||
| msg350341 -(view) | Author: Open Close (op368)* | Date: 2019-08-24 01:03 | |
For me, sinceGH-14080, It's been fixed. (arch linux) | |||
| msg354653 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-14 21:06 | |
I closedbpo-37431 as a duplicate of this issue. | |||
| msg354655 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-14 21:13 | |
I didn't check if it's the same issue than previous failures, but test_start_tls_server_1() just failed on x86 Gentoo Installed with X 3.8 buildbot:pythoninfo:ssl.HAS_SNI: Truessl.OPENSSL_VERSION: OpenSSL 1.1.1d 10 Sep 2019ssl.OPENSSL_VERSION_INFO: (1, 1, 1, 4, 15)ssl.OP_ALL: -0x7fffffacssl.OP_NO_TLSv1_1: 0x10000000ssl.SSLContext.maximum_version: TLSVersion.MAXIMUM_SUPPORTEDssl.SSLContext.minimum_version: TLSVersion.MINIMUM_SUPPORTEDssl.SSLContext.options: Options.OP_NO_SSLv3|OP_CIPHER_SERVER_PREFERENCE|OP_ENABLE_MIDDLEBOX_COMPAT|OP_NO_COMPRESSION|OP_ALLssl.SSLContext.protocol: _SSLMethod.PROTOCOL_TLSssl.SSLContext.verify_mode: VerifyMode.CERT_NONEssl.default_https_context.maximum_version: TLSVersion.MAXIMUM_SUPPORTEDssl.default_https_context.minimum_version: TLSVersion.MINIMUM_SUPPORTEDssl.default_https_context.options: Options.OP_NO_SSLv3|OP_CIPHER_SERVER_PREFERENCE|OP_ENABLE_MIDDLEBOX_COMPAT|OP_NO_COMPRESSION|OP_ALLssl.default_https_context.protocol: _SSLMethod.PROTOCOL_TLSssl.default_https_context.verify_mode: VerifyMode.CERT_REQUIREDssl.stdlib_context.maximum_version: TLSVersion.MAXIMUM_SUPPORTEDssl.stdlib_context.minimum_version: TLSVersion.MINIMUM_SUPPORTEDssl.stdlib_context.options: Options.OP_NO_SSLv3|OP_CIPHER_SERVER_PREFERENCE|OP_ENABLE_MIDDLEBOX_COMPAT|OP_NO_COMPRESSION|OP_ALLssl.stdlib_context.protocol: _SSLMethod.PROTOCOL_TLSssl.stdlib_context.verify_mode: VerifyMode.CERT_NONEhttps://buildbot.python.org/all/#/builders/230/builds/435test_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests) ... Exception in thread test-client:Traceback (most recent call last): File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/functional.py", line 190, in run self._prog(TestSocketWrapper(self._sock)) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/test_sslproto.py", line 575, in <lambda> with self.tcp_client(lambda sock: client(sock, addr), File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/test_sslproto.py", line 520, in client answer = sock.recv_all(len(ANSWER)) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/functional.py", line 130, in recv_all data = self.recv(n - len(buf)) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/ssl.py", line 1226, in recv return self.read(buflen) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/ssl.py", line 1101, in read return self._sslobj.read(len)ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2560)During handling of the above exception, another exception occurred:Traceback (most recent call last): File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/functional.py", line 192, in run self._test._abort_socket_test(ex) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/functional.py", line 114, in _abort_socket_test self.fail(ex) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/unittest/case.py", line 753, in fail raise self.failureException(msg)AssertionError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2560)/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/threading.py:934: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 59752), raddr=('127.0.0.1', 45469)> self._invoke_excepthook(self)ResourceWarning: Enable tracemalloc to get the object allocation tracebackERRORUnhandled error in exception handlercontext: {'message': 'Task was destroyed but it is pending!', 'task': <Task pending name='Task-1699' coro=<BaseStartTLS.test_start_tls_server_1.<locals>.main() running at /buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/test_sslproto.py:555> wait_for=<Future finished result=None> cb=[_release_waiter(<Future pendi...xb6a27118>()]>)() at /buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/tasks.py:429]>}Traceback (most recent call last): File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/base_events.py", line 1729, in call_exception_handler self._exception_handler(self, context) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/functional.py", line 22, in loop_exception_handler self.loop.default_exception_handler(context)AttributeError: 'NoneType' object has no attribute 'default_exception_handler'/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/test_streams.py:40: ResourceWarning: unclosed <socket.socket fd=8, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('127.0.0.1', 45469)> gc.collect()ResourceWarning: Enable tracemalloc to get the object allocation traceback/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/selector_events.py:684: ResourceWarning: unclosed transport <_SelectorSocketTransport fd=8> _warn(f"unclosed transport {self!r}", ResourceWarning, source=self)ResourceWarning: Enable tracemalloc to get the object allocation traceback/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/sslproto.py:321: ResourceWarning: unclosed transport <asyncio.sslproto._SSLProtocolTransport object at 0xb5c82b38> _warn(f"unclosed transport {self!r}", ResourceWarning, source=self)ResourceWarning: Enable tracemalloc to get the object allocation tracebackUnhandled error in exception handlercontext: {'message': 'Fatal error on SSL transport', 'exception': RuntimeError('Event loop is closed'), 'transport': <_SelectorSocketTransport closing fd=8>, 'protocol': <asyncio.sslproto.SSLProtocol object at 0xb6a27448>}Traceback (most recent call last): File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/selector_events.py", line 898, in write n = self._sock.send(data)OSError: [Errno 9] Bad file descriptorDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/sslproto.py", line 685, in _process_write_backlog self._transport.write(chunk) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/selector_events.py", line 904, in write self._fatal_error(exc, 'Fatal write error on socket transport') File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/selector_events.py", line 699, in _fatal_error self._force_close(exc) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/selector_events.py", line 711, in _force_close self._loop.call_soon(self._call_connection_lost, exc) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/base_events.py", line 711, in call_soon self._check_closed() File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/base_events.py", line 504, in _check_closed raise RuntimeError('Event loop is closed')RuntimeError: Event loop is closedDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/base_events.py", line 1729, in call_exception_handler self._exception_handler(self, context) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/functional.py", line 22, in loop_exception_handler self.loop.default_exception_handler(context)AttributeError: 'NoneType' object has no attribute 'default_exception_handler'/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/test_streams.py:40: ResourceWarning: unclosed <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('127.0.0.1', 45469)> gc.collect()ResourceWarning: Enable tracemalloc to get the object allocation tracebackERROR: test_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests)----------------------------------------------------------------------Traceback (most recent call last): File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/test/test_asyncio/test_sslproto.py", line 585, in test_start_tls_server_1 self.loop.run_until_complete(run_main()) File "/buildbot/buildarea/cpython/3.8.ware-gentoo-x86.installed/build/target/lib/python3.8/asyncio/base_events.py", line 606, in run_until_complete raise RuntimeError('Event loop stopped before Future completed.')RuntimeError: Event loop stopped before Future completed. | |||
| msg354656 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-14 21:15 | |
Similar failure on x86 Gentoo Non-Debug with X 3.x:https://buildbot.python.org/all/#/builders/99/builds/3472ERROR: test_start_tls_server_1 (test.test_asyncio.test_sslproto.SelectorStartTLSTests) | |||
| msg354727 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-15 13:34 | |
Zachary Ware commented the new failures on the x86 Gentoo worker:"My worker was updated to OpenSSL v1.1.1d with sslv3 disabled today, which seems like a likely source of these failures." | |||
| msg354758 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-15 23:41 | |
I can reproduce the bug on my laptop with the command:./python -u -m test test_asyncio -m test.test_asyncio.test_sslproto.SelectorStartTLSTests.test_start_tls_server_1 -F -j100It's a race condition in the test itself, not in asyncio.PR 16815 fix it.I also got access to Zachary Ware's Gentoo buildbot worker where I can also easily reproduce the bug using "... -F -j2". | |||
| msg354759 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-15 23:49 | |
> I also got access to Zachary Ware's Gentoo buildbot worker where I can also easily reproduce the bug using "... -F -j2".FYI disabling TLSv1.3 works around the issue on this worker. (It doesn't fix the bug, only hides it.) | |||
| msg354760 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-16 00:02 | |
FYI "test_start_tls_server_1()" is failing since at least 2017-12-30:https://bugs.python.org/issue32458#msg309244I hope that my latest fix will be the last to finally make the test stable.But I always write that, and the bug always strike me in my back. So I'm now hopeless :-) | |||
| msg354761 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-16 00:36 | |
New changesetfab4ef2df0857ab0c97f3058ac5ec3280c4eb891 by Victor Stinner in branch 'master':bpo-35998: Fix test_asyncio.test_start_tls_server_1() (GH-16815)https://github.com/python/cpython/commit/fab4ef2df0857ab0c97f3058ac5ec3280c4eb891 | |||
| msg354762 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-16 00:47 | |
This change needs to be backported to 3.7 and 3.8, but I prefer to wait to see if buildbots like this new change, before doing the backport. | |||
| msg354784 -(view) | Author: miss-islington (miss-islington) | Date: 2019-10-16 08:37 | |
New changesetafbcd9f26d1bf5390f56f18c9afbf753e48f230d by Miss Islington (bot) in branch '3.8':bpo-35998: Fix test_asyncio.test_start_tls_server_1() (GH-16815)https://github.com/python/cpython/commit/afbcd9f26d1bf5390f56f18c9afbf753e48f230d | |||
| msg354793 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-16 09:44 | |
New changeset1bceb0e58905fd6d241d7d566e19ca78558973dd by Victor Stinner in branch '3.7':bpo-35998: Fix test_asyncio.test_start_tls_server_1() (GH-16815) (GH-16818)https://github.com/python/cpython/commit/1bceb0e58905fd6d241d7d566e19ca78558973dd | |||
| msg354794 -(view) | Author: STINNER Victor (vstinner)*![]() | Date: 2019-10-16 09:59 | |
Buildbots are green on the 3.x branch. I backported my fix to 3.7 and 3.8.I close the issue. I hope that I will not have to reopen it again. | |||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:59:11 | admin | set | github: 80179 |
| 2019-10-16 09:59:14 | vstinner | set | status: open -> closed versions: + Python 3.9 messages: +msg354794 resolution: fixed stage: patch review -> resolved |
| 2019-10-16 09:44:41 | vstinner | set | messages: +msg354793 |
| 2019-10-16 08:37:01 | miss-islington | set | messages: +msg354784 |
| 2019-10-16 08:25:52 | vstinner | set | pull_requests: +pull_request16370 |
| 2019-10-16 08:18:07 | miss-islington | set | pull_requests: +pull_request16369 |
| 2019-10-16 00:47:01 | vstinner | set | messages: +msg354762 |
| 2019-10-16 00:36:47 | vstinner | set | messages: +msg354761 |
| 2019-10-16 00:02:26 | vstinner | set | messages: +msg354760 |
| 2019-10-15 23:49:25 | vstinner | set | messages: +msg354759 |
| 2019-10-15 23:41:07 | vstinner | set | messages: +msg354758 |
| 2019-10-15 23:37:08 | vstinner | set | pull_requests: +pull_request16366 |
| 2019-10-15 13:34:27 | vstinner | set | messages: +msg354727 |
| 2019-10-14 21:15:16 | vstinner | set | messages: +msg354656 |
| 2019-10-14 21:13:23 | vstinner | set | messages: +msg354655 |
| 2019-10-14 21:06:28 | vstinner | set | messages: +msg354653 |
| 2019-10-14 21:06:26 | vstinner | link | issue37431 superseder |
| 2019-08-24 01:03:39 | op368 | set | messages: +msg350341 |
| 2019-08-23 14:10:27 | lukasz.langa | set | messages: +msg350294 |
| 2019-06-17 10:10:52 | miss-islington | set | messages: +msg345840 |
| 2019-06-17 10:06:56 | miss-islington | set | messages: +msg345838 |
| 2019-06-17 09:48:24 | miss-islington | set | pull_requests: +pull_request13994 |
| 2019-06-17 09:48:16 | miss-islington | set | stage: resolved -> patch review pull_requests: +pull_request13992 |
| 2019-06-17 09:47:55 | vstinner | set | messages: +msg345833 |
| 2019-06-17 08:58:12 | asvetlov | set | messages: +msg345830 |
| 2019-06-17 07:45:16 | ned.deily | set | messages: +msg345807 |
| 2019-06-15 15:02:45 | asvetlov | set | messages: +msg345683 |
| 2019-06-14 22:16:45 | vstinner | set | messages: +msg345645 |
| 2019-06-14 22:14:29 | vstinner | set | status: closed -> open resolution: fixed -> (no value) messages: +msg345644 |
| 2019-06-14 21:51:07 | vstinner | set | messages: +msg345640 |
| 2019-06-14 17:52:28 | asvetlov | set | messages: +msg345623 |
| 2019-06-14 16:26:43 | vstinner | set | messages: +msg345608 |
| 2019-06-14 16:12:55 | miss-islington | set | nosy: +miss-islington messages: +msg345607 |
| 2019-06-14 16:05:04 | vstinner | set | messages: +msg345605 |
| 2019-06-14 15:46:07 | asvetlov | set | status: open -> closed resolution: fixed messages: +msg345598 stage: patch review -> resolved |
| 2019-06-14 15:42:12 | vstinner | set | pull_requests: +pull_request13942 |
| 2019-06-14 15:26:49 | miss-islington | set | pull_requests: +pull_request13941 |
| 2019-06-14 15:26:45 | vstinner | set | messages: +msg345597 |
| 2019-06-14 14:14:30 | asvetlov | set | keywords: +patch stage: patch review pull_requests: +pull_request13939 |
| 2019-06-14 14:04:48 | asvetlov | link | issue37081 superseder |
| 2019-04-21 13:25:23 | ncoghlan | set | nosy: +ncoghlan |
| 2019-03-24 20:08:44 | ned.deily | set | priority: release blocker -> deferred blocker nosy: +christian.heimes messages: +msg338749 |
| 2019-03-19 15:50:00 | cstratak | set | messages: +msg338368 |
| 2019-03-17 13:44:29 | doko | set | priority: normal -> release blocker versions: + Python 3.7 nosy: +ned.deily,lukasz.langa messages: +msg338129 keywords: +3.7regression |
| 2019-03-15 08:38:12 | doko | set | nosy: +doko messages: +msg337974 |
| 2019-03-09 08:51:56 | op368 | set | messages: +msg337563 |
| 2019-03-05 21:36:23 | matrixise | set | messages: +msg337239 |
| 2019-03-04 20:18:11 | op368 | set | files: +stderr-op368.txt messages: +msg337147 |
| 2019-03-04 15:00:05 | vstinner | set | messages: +msg337125 |
| 2019-03-02 05:22:13 | op368 | set | messages: +msg336991 |
| 2019-03-02 04:21:30 | koobs | set | nosy: +koobs |
| 2019-03-02 04:19:58 | op368 | set | nosy: +op368 messages: +msg336986 |
| 2019-02-15 18:49:11 | xtreak | set | nosy: +pablogsal messages: +msg335635 |
| 2019-02-15 17:56:16 | cstratak | set | nosy: +cstratak messages: +msg335629 |
| 2019-02-15 17:53:42 | vstinner | set | title: ./python -m test test_asyncio fails -> test_asyncio: test_start_tls_server_1() TimeoutError on Fedora 29 |
| 2019-02-15 17:38:23 | xtreak | set | nosy: +xtreak messages: +msg335626 |
| 2019-02-15 17:25:40 | vstinner | set | nosy: +asvetlov,yselivanov components: + Tests, asyncio |
| 2019-02-15 17:25:35 | vstinner | set | nosy: +vstinner |
| 2019-02-15 10:12:33 | matrixise | set | files: +stderr.txt messages: +msg335597 |
| 2019-02-15 10:12:18 | matrixise | create | |