https://bugzilla.wikimedia.org/show_bug.cgi?id=72009

            Bug ID: 72009
           Summary: FC20 ships httplib2 0.7.7 causing endless SSL cert
                    fail loop on python3
           Product: Pywikibot
           Version: core (2.0)
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: major
          Priority: Unprioritized
         Component: network
          Assignee: [email protected]
          Reporter: [email protected]
       Web browser: ---
   Mobile Platform: ---

IIRC, there is a problem with certificates in httplib2 pre-0.9 (bug 65189). 
FC20 ships 0.7.7 on python2 and python3

$ rpm -qi python-httplib2
Name        : python-httplib2
Version     : 0.7.7
Release     : 3.fc20
...
$ rpm -qi python3-httplib2
Name        : python3-httplib2
Version     : 0.7.7
Release     : 3.fc20
...

On py2, the 0.7.7 package works correctly.
On py3, the following occurs running site_tests

On py2, all tests pass using 0.7.7.  On python3, tests fail badly (using en.wp
as default site).

$ python3 pwb.py tests/site_tests.py
.../pywikibot/family.py:879: DeprecationWarning: imp.load_source() is
deprecated; use importlib.machinery.SourceFileLoader(name,
pathname).load_module() instead
  myfamily = imp.load_source(fam, config.family_files[fam])
ERROR: Traceback (most recent call last):
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 992, in
_conn_request
    response = conn.getresponse()
  File "/usr/lib64/python3.3/http/client.py", line 1135, in getresponse
    raise ResponseNotReady(self.__state)
http.client.ResponseNotReady: Idle

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../pywikibot/data/api.py", line 517, in submit
    headers=headers, body=body)
  File ".../pywikibot/tools.py", line 367, in wrapper
    return method(*__args, **__kw)
  File ".../pywikibot/comms/http.py", line 258, in request
    raise request.data
  File ".../pywikibot/comms/threadedhttp.py", line 219, in request
    max_redirects, connection_type
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 1272, in
request
    (response, content) = self._request(conn, authority, uri, request_uri,
method, body, headers, redirections, cachekey)
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 1026, in
_request
    (response, content) = self._conn_request(conn, request_uri, method, body,
headers)
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 999, in
_conn_request
    conn.connect()
  File "/usr/lib64/python3.3/http/client.py", line 1202, in connect
    server_hostname=server_hostname)
  File "/usr/lib64/python3.3/ssl.py", line 245, in wrap_socket
    _context=self)
  File "/usr/lib64/python3.3/ssl.py", line 345, in __init__
    raise x
  File "/usr/lib64/python3.3/ssl.py", line 341, in __init__
    self.do_handshake()
  File "/usr/lib64/python3.3/ssl.py", line 548, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
(_ssl.c:547)

WARNING: Waiting 5 seconds before retrying.
ERROR: Traceback (most recent call last):
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 992, in
_conn_request
    response = conn.getresponse()
  File "/usr/lib64/python3.3/http/client.py", line 1135, in getresponse
    raise ResponseNotReady(self.__state)
http.client.ResponseNotReady: Idle

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../pywikibot/data/api.py", line 517, in submit
    headers=headers, body=body)
  File ".../pywikibot/tools.py", line 367, in wrapper
    return method(*__args, **__kw)
  File ".../pywikibot/comms/http.py", line 258, in request
    raise request.data
  File ".../pywikibot/comms/threadedhttp.py", line 219, in request
    max_redirects, connection_type
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 1272, in
request
    (response, content) = self._request(conn, authority, uri, request_uri,
method, body, headers, redirections, cachekey)
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 1026, in
_request
    (response, content) = self._conn_request(conn, request_uri, method, body,
headers)
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 999, in
_conn_request
    conn.connect()
  File "/usr/lib64/python3.3/http/client.py", line 1202, in connect
    server_hostname=server_hostname)
  File "/usr/lib64/python3.3/ssl.py", line 245, in wrap_socket
    _context=self)
  File "/usr/lib64/python3.3/ssl.py", line 345, in __init__
    raise x
  File "/usr/lib64/python3.3/ssl.py", line 341, in __init__
    self.do_handshake()
  File "/usr/lib64/python3.3/ssl.py", line 548, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
(_ssl.c:547)

WARNING: Waiting 10 seconds before retrying.
^CTraceback (most recent call last):
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 992, in
_conn_request
    response = conn.getresponse()
  File "/usr/lib64/python3.3/http/client.py", line 1135, in getresponse
    raise ResponseNotReady(self.__state)
http.client.ResponseNotReady: Idle

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../pywikibot/data/api.py", line 517, in submit
    headers=headers, body=body)
  File ".../pywikibot/tools.py", line 367, in wrapper
    return method(*__args, **__kw)
  File ".../pywikibot/comms/http.py", line 258, in request
    raise request.data
  File ".../pywikibot/comms/threadedhttp.py", line 219, in request
    max_redirects, connection_type
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 1272, in
request
    (response, content) = self._request(conn, authority, uri, request_uri,
method, body, headers, redirections, cachekey)
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 1026, in
_request
    (response, content) = self._conn_request(conn, request_uri, method, body,
headers)
  File "/usr/lib/python3.3/site-packages/httplib2/__init__.py", line 999, in
_conn_request
    conn.connect()
  File "/usr/lib64/python3.3/http/client.py", line 1202, in connect
    server_hostname=server_hostname)
  File "/usr/lib64/python3.3/ssl.py", line 245, in wrap_socket
    _context=self)
  File "/usr/lib64/python3.3/ssl.py", line 345, in __init__
    raise x
  File "/usr/lib64/python3.3/ssl.py", line 341, in __init__
    self.do_handshake()
  File "/usr/lib64/python3.3/ssl.py", line 548, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
(_ssl.c:547)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pwb.py", line 164, in <module>
    run_python_file(fn, argv, argvu)
  File "pwb.py", line 69, in run_python_file
    exec(compile(source, filename, "exec"), main_mod.__dict__)
  File "tests/site_tests.py", line 1481, in <module>
    unittest.main()
  File "/usr/lib64/python3.3/unittest/main.py", line 125, in __init__
    self.runTests()
  File "/usr/lib64/python3.3/unittest/main.py", line 265, in runTests
    self.result = testRunner.run(self.test)
  File "/usr/lib64/python3.3/unittest/runner.py", line 168, in run
    test(result)
  File "/usr/lib64/python3.3/unittest/suite.py", line 67, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib64/python3.3/unittest/suite.py", line 105, in run
    test(result)
  File "/usr/lib64/python3.3/unittest/suite.py", line 67, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib64/python3.3/unittest/suite.py", line 105, in run
    test(result)
  File "/usr/lib64/python3.3/unittest/case.py", line 529, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib64/python3.3/unittest/case.py", line 477, in run
    self._executeTestPart(testMethod, outcome, isTest=True)
  File "/usr/lib64/python3.3/unittest/case.py", line 422, in _executeTestPart
    function()
  File "tests/site_tests.py", line 1065, in testRandompages
    rn = list(mysite.randompages(total=10))
  File ".../pywikibot/site.py", line 3574, in randompages
    g_content=content)
  File ".../pywikibot/site.py", line 1357, in _generator
    gen = gen_class(type_arg, site=self, **args)
  File ".../pywikibot/data/api.py", line 1100, in __init__
    QueryGenerator.__init__(self, generator=generator, **kwargs)
  File ".../pywikibot/data/api.py", line 819, in __init__
    self.update_limit()  # sets self.prefix
  File ".../pywikibot/data/api.py", line 914, in update_limit
    for param in self._modules[mod].get("parameters", []):
  File ".../pywikibot/data/api.py", line 865, in _modules
    data = paramreq.submit()
  File ".../pywikibot/data/api.py", line 764, in submit
    self._data = super(CachedRequest, self).submit()
  File ".../pywikibot/data/api.py", line 535, in submit
    self.wait()
  File ".../pywikibot/data/api.py", line 651, in wait
    time.sleep(self.retry_wait)
KeyboardInterrupt
<class 'KeyboardInterrupt'>
CRITICAL: Waiting for 1 network thread(s) to finish. Press ctrl-c to abort

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to