--- /home/paul/.pyenv/versions/3.6.0a2/lib/python3.6/asyncio/selector_events.py2016-08-06 23:15:41.447105838 -0500 +++ asyncio/selector_events.py 2016-08-21 15:22:13.009453001 -0500 @@ -511,7 +511,12 @@ def __init__(self, loop, sock, protocol, extra=None, server=None): super().__init__(extra, loop) self._extra['socket'] = sock - self._extra['sockname'] = sock.getsockname() + try: + self._extra['sockname'] = sock.getsockname() + except (socket.error, AttributeError): + if self._loop.get_debug(): + logger.warning("getsockname() failed on %r", + sock, exc_info=True) if 'peername' not in self._extra: try: self._extra['peername'] = sock.getpeername()