catch socket.error in utils.localinterfaces
catch socket.error in utils.localinterfaces

instead of socket.gaierror, which is a more specific subclass.
Some failures (e.g. connection timeouts) are not gaierrors.

Alternately, we might want to just catch any Exception.

ipython/ipython,ipython/ipython