Jelte Fennema added the comment:

A short look through the stacktrace actually seemed to have gotten me to the 
issue. It is in the xmlrpc.client library in this piece of code:

         for i in (0, 1):
             try:
                 return self.single_request(host, handler, request_body, 
verbose)
             except OSError as e:
                 if i or e.errno not in (errno.ECONNRESET, errno.ECONNABORTED,
                                         errno.EPIPE):
                     raise
             except http.client.RemoteDisconnected:
                 if i:
                     raise

As can be seen http.client.RemoteDisconnected error is caught after the OSError 
one. However http.client.RemoteDisconnected is a subclass of OSError since it's 
a subclass of ConnectionResetError: 
https://docs.python.org/3/library/http.client.html#http.client.RemoteDisconnected

A simple fix which seems to work for me is switching the two except branches as 
I did in the attached patch.

----------
keywords: +patch
Added file: http://bugs.python.org/file41987/xmlrpc-remote-disconnected.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26402>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to