[issue21308] PEP 466: backport ssl changes

Ned Deily report at bugs.python.org
Sun Jul 27 09:25:35 CEST 2014


Ned Deily added the comment:

Some results from a quick build/test on OS X 10.9.4 with Xcode 5.1.1 clang and openssl 1.0.1h from MacPorts (similar results when built with Apple-supplied openssl 0.9.8y and on OS X 10.5.8 ppc with Apple-supplied openssl 0.9.7l):

- Modules/_ssl.c:2861:52: warning: invalid conversion specifier 'R'
      [-Wformat-invalid-specifier]
                     "unknown elliptic curve name %R", name);
                                                  ~^
- segfault on test_load_cert_chain (lldb traceback in attached file)

./python -m test.regrtest -v -uall,-largefile test_ssl
== CPython 2.7.8+ (default, Jul 26 2014, 23:44:13) [GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)]
==   Darwin-13.3.0-x86_64-i386-64bit little-endian
==   /py/dev/27/source/build/test_python_22427
Testing with flags: sys.flags(debug=0, py3k_warning=0, division_warning=0, division_new=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=0, no_user_site=0, no_site=0, ignore_environment=0, tabcheck=0, verbose=0, unicode=0, bytes_warning=0, hash_randomization=0)
test_ssl
test_ssl: testing with 'OpenSSL 1.0.1h 5 Jun 2014' (1, 0, 1, 8, 15)
          under Mac ('10.9.4', ('', '', ''), 'x86_64')
          HAS_SNI = True
          OP_ALL = 0x800003ff
          OP_NO_TLSv1_1 = 0x10000000
test__create_stdlib_context (test.test_ssl.ContextTests) ... ok
test_cert_store_stats (test.test_ssl.ContextTests) ... ok
test_check_hostname (test.test_ssl.ContextTests) ... ok
test_ciphers (test.test_ssl.ContextTests) ... ok
test_constructor (test.test_ssl.ContextTests) ... ok
test_create_default_context (test.test_ssl.ContextTests) ... ok
test_get_ca_certs (test.test_ssl.ContextTests) ... ok
test_load_cert_chain (test.test_ssl.ContextTests) ... Segmentation fault: 11

- test_poplib hangs, requiring ctrl-c interrupt

/python -m test.regrtest -v -uall test_poplib
== CPython 2.7.8+ (default, Jul 26 2014, 23:44:13) [GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)]
==   Darwin-13.3.0-x86_64-i386-64bit little-endian
==   /py/dev/27/source/build/test_python_33661
Testing with flags: sys.flags(debug=0, py3k_warning=0, division_warning=0, division_new=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=0, no_user_site=0, no_site=0, ignore_environment=0, tabcheck=0, verbose=0, unicode=0, bytes_warning=0, hash_randomization=0)
test_poplib
test_dele (test.test_poplib.TestPOP3Class) ... ok
test_exceptions (test.test_poplib.TestPOP3Class) ... ok
test_getwelcome (test.test_poplib.TestPOP3Class) ... ok
test_list (test.test_poplib.TestPOP3Class) ... ok
test_noop (test.test_poplib.TestPOP3Class) ... ok
test_pass_ (test.test_poplib.TestPOP3Class) ... ok
test_retr (test.test_poplib.TestPOP3Class) ... ok
test_rpop (test.test_poplib.TestPOP3Class) ... ok
test_stat (test.test_poplib.TestPOP3Class) ... ok
test_top (test.test_poplib.TestPOP3Class) ... ok
test_uidl (test.test_poplib.TestPOP3Class) ... ok
test_user (test.test_poplib.TestPOP3Class) ... ok
testTimeoutDefault (test.test_poplib.TestTimeouts) ... ok
testTimeoutNone (test.test_poplib.TestTimeouts) ... ok
testTimeoutValue (test.test_poplib.TestTimeouts) ... ok
test__all__ (test.test_poplib.TestPOP3_SSLClass) ... Exception in thread Thread-16:
Traceback (most recent call last):
  File "/py/dev/27/source/Lib/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/py/dev/27/source/Lib/test/test_poplib.py", line 132, in run
    asyncore.loop(timeout=0.1, count=1)
  File "/py/dev/27/source/Lib/asyncore.py", line 220, in loop
    poll_fun(timeout, map)
  File "/py/dev/27/source/Lib/asyncore.py", line 156, in poll
    read(obj)
  File "/py/dev/27/source/Lib/asyncore.py", line 87, in read
    obj.handle_error()
  File "/py/dev/27/source/Lib/asyncore.py", line 83, in read
    obj.handle_read_event()
  File "/py/dev/27/source/Lib/asyncore.py", line 443, in handle_read_event
    self.handle_accept()
  File "/py/dev/27/source/Lib/test/test_poplib.py", line 143, in handle_accept
    self.handler = self.handler(conn)
  File "/py/dev/27/source/Lib/test/test_poplib.py", line 242, in __init__
    self.push('+OK dummy pop3 server ready.')
  File "/py/dev/27/source/Lib/test/test_poplib.py", line 63, in push
    asynchat.async_chat.push(self, data + '\r\n')
  File "/py/dev/27/source/Lib/asynchat.py", line 193, in push
    self.initiate_send()
  File "/py/dev/27/source/Lib/asynchat.py", line 244, in initiate_send
    self.handle_error()
  File "/py/dev/27/source/Lib/asynchat.py", line 242, in initiate_send
    num_sent = self.send(data)
  File "/py/dev/27/source/Lib/asyncore.py", line 374, in send
    result = self.socket.send(data)
  File "/py/dev/27/source/Lib/ssl.py", line 662, in send
    return self._sslobj.write(data)
SSLWantReadError: The operation did not complete (read) (_ssl.c:1611)

^CWarning -- asyncore.socket_map was modified by test_poplib

Test suite interrupted by signal SIGINT.
1 test omitted:
    test_poplib
[51620 refs]

- new test/capath directory needs to be added to LIBSUBDIRS in Makefile.pre.in

----------
nosy: +ned.deily
stage: needs patch -> patch review
Added file: http://bugs.python.org/file36127/segfault_osx_10_9_openssl_101h.txt

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21308>
_______________________________________


More information about the Python-bugs-list mailing list