2

Started running into difficulties with my MBP running high sierra after a forced reboot (crash) earlier today. My issue basically boils down to this:

  • After a reboot, I'm unable to establish a connection to anything on the lo0 interface (localhost, 127.0.0.1, ::1).  All requests, with the lone exception being ping, will hang indefinitely and/or timeout.  This occurs with http, tcp, traceroute, etc.

  • When booting in safe mode, the issue does not occur, and I am able to start a simple http server and curl / wget on localhost and 127.0.0.1.  I've booted back into normal mode and disabled all login items for my user, but the issue remains. Firewall is disabled.

Any idea what's happening? I'm at a loss at this point.

127.0.0.1 routable

sw14111@OF060VL39VHTD6D:~$ scutil -r 127.0.0.1
Reachable,Local Address,Directly Reachable Address

Ping works fine

sw14111@OF060VL39VHTD6D:~$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.063 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.047 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.117 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.073 ms

Example curl failure

sw14111@OF060VL39VHTD6D:~$ curl -v -x "" localhost:8000
* Rebuilt URL to: localhost:8000/
*   Trying ::1...
* TCP_NODELAY set
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connection failed
* connect to ::1 port 8000 failed: Operation timed out
*   Trying fe80::1...
* TCP_NODELAY set
* Connection failed
* connect to 127.0.0.1 port 8000 failed: Operation timed out
* Connection failed
* connect to fe80::1 port 8000 failed: Operation timed out
* Failed to connect to localhost port 8000: Operation timed out
* Closing connection 0
curl: (7) Failed to connect to localhost port 8000: Operation timed out

Traceroute times out

traceroute to 127.0.0.1 (127.0.0.1), 64 hops max, 52 byte packets
 1  * * *
 2  * * *
 3  * * *

Always stuck in SYN_SENT state when a request is in progress.

sw14111@OF060VL39VHTD6D:~$ netstat -an | grep 127.0.0.1
tcp4       0      0  127.0.0.1.49679        127.0.0.1.8000         SYN_SENT

/etc/hosts

##
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1    localhost
255.255.255.255    broadcasthost
::1 localhost
fe80::1%lo0    localhost

lo0 interface

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=201<PERFORMNUD,DAD>

lsof output for simple server

sw14111@OF060VL39VHTD6D:~$ python -m SimpleHTTPServer 18080
Serving HTTP on 0.0.0.0 port 18080 ...

# another terminal
sw14111@OF060VL39VHTD6D:~$ sudo lsof -a  -i -sTCP:LISTEN
Python    2245        sw14111    3u  IPv4 0x8d80c2958887276d      0t0    TCP *:18080 (LISTEN)
2
  • @swhitewvu24 Thanks for the update, by why did you use port 18080 here instead of sticking with 8000? It makes me suspect you've just been trying to connect to the wrong port number.
    – Spiff
    Commented Jun 1, 2019 at 21:43
  • Sorry no, just picked a random port. The issue is not specific to an individual port. Actually, if I did use the wrong port I would expect an immediate connection error rather than a time out. Commented Jun 1, 2019 at 23:06

0

You must log in to answer this question.