network preferences shows self-assigned ip but macbook pro connects to internet As stated, the network preferences control panel shows a yellow icon next to Wi-Fi connection. However, the laptop connects fine. This condition exists whether DHCP or a manually entered ip address is used.
Turning wi-fi on and off makes no difference.I can see the little text label on the network preferences control panel change (the words under the button turn wifi off). They always come back

Wi-Fi has the self-assigned IP address 192.168.1.46 and will not be able to connect to the Internet.


'Forgetting' the network and reconnecting makes no difference.
Connecting to other wifi networks makes no difference.
Rebooting makes no difference.

ifconfig gives this:

lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
    options=3&lt;RXCSUM,TXCSUM&gt;
    inet6 ::1 prefixlen 128
    inet 127.0.0.1 netmask 0xff000000
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=1&lt;PERFORMNUD&gt;
gif0: flags=8010&lt;POINTOPOINT,MULTICAST&gt; mtu 1280
stf0: flags=0&lt;&gt; mtu 1280
en0: flags=8863&lt;UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
    ether b8:e8:56:44:9e:3e
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx%en0 prefixlen 64 scopeid 0x4
    inet 192.168.1.46 netmask 0xffffff00 broadcast 192.168.1.255
    nd6 options=1&lt;PERFORMNUD&gt;
    media: autoselect
    status: active
en1: flags=8963&lt;UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST&gt; mtu 1500
    options=60&lt;TSO4,TSO6&gt;
    ether yy:yy:yy:yy:yy:yy
    media: autoselect &lt;full-duplex&gt;
    status: inactive
en2: flags=8963&lt;UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST&gt; mtu 1500
    options=60&lt;TSO4,TSO6&gt;
    ether zz:zz:zz:zz:zz:zz
    media: autoselect &lt;full-duplex&gt;
    status: inactive
bridge0: flags=8863&lt;UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
    options=63&lt;RXCSUM,TXCSUM,TSO4,TSO6&gt;
    ether aa:aa:aa:aa:a7:aa
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x2
    member: en1 flags=3&lt;LEARNING,DISCOVER&gt;
            ifmaxaddr 0 port 5 priority 0 path cost 0
    member: en2 flags=3&lt;LEARNING,DISCOVER&gt;
            ifmaxaddr 0 port 6 priority 0 path cost 0
    nd6 options=1&lt;PERFORMNUD&gt;
    media: &lt;unknown type&gt;
    status: inactive
p2p0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 2304
    ether aa:bb:cc:dd:ee:ff
    media: autoselect
    status: inactive


Obviously I have vmware fusion player installed on this machine but it is not running. As you can see all those connections are inactive and there are no vmware processes running. MAC addresses have been changed to protect the innocent.
removing these files and rebooting solved the problem

com.apple.airport.preferences.plist
com.apple.wifi.message-tracer.plist
NetworkInterfaces.plist
preferences.plist