I saw errors from _fileobject.__del__ about missing self._sock.  This
can happen if __init__ doesn't complete.  Fix it by adding a
try/except to __del__.
diff --git a/Lib/socket.py b/Lib/socket.py
index 9598f99..b95c372 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -232,7 +232,11 @@
             self._sock = None
 
     def __del__(self):
-        self.close()
+        try:
+            self.close()
+        except:
+            # close() may fail if __init__ didn't complete
+            pass
 
     def flush(self):
         if self._wbuf: