https://bugzilla.wikimedia.org/show_bug.cgi?id=55127
--- Comment #1 from Kunal Mehta (Legoktm) legoktm.wikipedia@gmail.com --- Stack trace during hang:
*** STACKTRACE - START ***
# ThreadID: 140208457426688 File: "/usr/lib/python2.7/threading.py", line 524, in __bootstrap self.__bootstrap_inner() File: "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner self.run() File: "connectionkilltest.py", line 16, in run for filename, lineno, name, line in traceback.extract_stack(stack):
# ThreadID: 140208472311552 File: "/usr/lib/python2.7/threading.py", line 524, in __bootstrap self.__bootstrap_inner() File: "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner self.run() File: "pywikibot/comms/threadedhttp.py", line 343, in run item.data = self.http.request(*item.args, **item.kwargs) File: "pywikibot/comms/threadedhttp.py", line 219, in request max_redirects, connection_type File: "/usr/lib/python2.7/dist-packages/httplib2/__init__.py", line 1444, in request (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey) File: "/usr/lib/python2.7/dist-packages/httplib2/__init__.py", line 1196, in _request (response, content) = self._conn_request(conn, request_uri, method, body, headers) File: "/usr/lib/python2.7/dist-packages/httplib2/__init__.py", line 1166, in _conn_request response = conn.getresponse() File: "/usr/lib/python2.7/httplib.py", line 1030, in getresponse response.begin() File: "/usr/lib/python2.7/httplib.py", line 407, in begin version, status, reason = self._read_status() File: "/usr/lib/python2.7/httplib.py", line 365, in _read_status line = self.fp.readline() File: "/usr/lib/python2.7/socket.py", line 430, in readline data = recv(1) File: "/usr/lib/python2.7/ssl.py", line 241, in recv return self.read(buflen) File: "/usr/lib/python2.7/ssl.py", line 160, in read return self._sslobj.read(len)
# ThreadID: 140208510514944 File: "pwb.py", line 103, in <module> run_python_file(fn, args) File: "pwb.py", line 49, in run_python_file exec compile(source, filename, "exec") in main_mod.__dict__ File: "connectionkilltest.py", line 36, in <module> p.put_async('test edit') File: "pywikibot/page.py", line 887, in put_async async=True, callback=callback, **kwargs) File: "pywikibot/page.py", line 872, in put async=async, callback=callback, **kwargs) File: "pywikibot/page.py", line 782, in save if not force and not self.botMayEdit(): File: "pywikibot/page.py", line 710, in botMayEdit username = self.site.user() File: "pywikibot/site.py", line 206, in user if self.logged_in(True): File: "pywikibot/site.py", line 842, in logged_in if sysop and 'sysop' not in self.userinfo['groups']: File: "pywikibot/site.py", line 910, in getuserinfo uidata = uirequest.submit() File: "pywikibot/data/api.py", line 284, in submit body=paramstring) File: "pywikibot/comms/http.py", line 118, in request request.lock.acquire() File: "/usr/lib/python2.7/threading.py", line 323, in acquire self.__cond.wait() File: "/usr/lib/python2.7/threading.py", line 243, in wait waiter.acquire()
*** STACKTRACE - END ***
So: probably not a deadlock, just the ssl library hanging.