On 27/04/2020 19.27, mig28sua...@hotmail.com wrote: > Hello! > > This is my first time posting to the group. > > I've been running builds of Python 3.7.x on CentOS Linux release 7.7 > (64bit/Intel Core 2 Duo) > and I ran into hangs with test_ssl.py when using latest SSL 1.1.1d sources. > > I've done a full compilation from source for Python 3.7.7 and SSL 1.1 in my > workspaces. > > From what I can tell the problem is when SSL 1.1 is built with no threading > there is no locking enabled by python. > > This one line change will make the hangs in test_ssl.py go away: > > Index: Modules/_ssl.c > =================================================================== > --- Modules/_ssl.c (revision 70) > +++ Modules/_ssl.c (working copy) > @@ -5875,7 +5875,7 @@ > if (!_setup_ssl_threads()) { > return NULL; > } > -#elif OPENSSL_VERSION_1_1 && defined(OPENSSL_THREADS) > +#elif OPENSSL_VERSION_1_1 > /* OpenSSL 1.1.0 builtin thread support is enabled */ > _ssl_locks_count++; > #endif > > > There appears to be an assumption in _ssl.c and test_ssl.y that SSL 1.1 will > be threaded > but this may not be true (as in my case).
Python requires a thread-safe OpenSSL build. I have pushed PR https://github.com/python/cpython/pull/19953 to 3.7, 3.8, and master. The hashlib and ssl module will now fail when OpenSSL is not thread-safe. Christian _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/ZEKUSVZVCGPXEZJCLRQ2FPNYQ5O7KHCM/ Code of Conduct: http://python.org/psf/codeofconduct/