15

UPDATE: Rich's solution (with the checkmark) solved my problem! I also posted an answer with a workaround that may help if Rich's solution doesn't work for you. The answer that received the bounty was the best at the time, but it doesn't have an actual solution (though it helped with troubleshooting).


I'm having a problem where my computer (Macbook Pro, 8GB RAM, OS 10.8) will not to attempt to load certain websites. Nothing fixes it except for rebooting. This occurs when nothing else is obviously wrong with my computer or internet connection, and when other sites load without problems.

When this occurs, here are the errors I get:

  • Chrome: Error 13 (net::ERR_OUT_OF_MEMORY)
  • Safari: "The error is: 'The operation couldn't be completed. Cannot allocate memory.' (NSPOSIXErrorDomain:12)"
  • Firefox: No response after entering the URL and pressing return (no error message, no throbber to indicate that it's loading or trying to contact the site).
  • ping:

    PING google.com (74.125.224.135): 56 data bytes
    ping: sendto: Cannot allocate memory
    ping: sendto: Cannot allocate memory
    Request timeout for icmp_seq 0
    ping: sendto: Cannot allocate memory
    Request timeout for icmp_seq 1
    

(after which I canceled out)

The first time I noticed this, it occurred for one or two sites I tried to visit. I was still able to use facebook and google. Later in the day, the error extended to facebook and google as well. After rebooting, those sites became accessible again, but later on I became unable to access other sites (stackexchange.com, surveygizmo.com).

Some other notes:

  • I can confirm that this happens on multiple wireless networks and VPNs.
  • At the moment this was happening I had 2 GB of RAM "inactive" and 500 MB "free" out of 8 GB total, so I'm not actually out of memory. Other websites and applications are responding snappily and there's no sign of excessive swapping.
  • The response from ping seems to suggest that the problem doesn't affect DNS (though the IP address could have been cached somewhere).

I've only found one other reference to this problem, in this Apple support thread. No solution was found except for rebooting.

NOTE: This is not a problem with running out of RAM

Activity Monitor shows plenty of free / inactive memory. There's not an excessive amount of paging going on. Other websites load without problems. There may be some other kind of memory allocation error going on, but I can't imagine any way that a plain old RAM shortage would disable certain specific websites, with no other impact on performance.

16
  • Sounds to me like you are running out of RAM in general? Have a look at where (which processes) your memory is going.
    – Gerry
    Commented Nov 30, 2012 at 5:55
  • Thanks, but I don't think that's the problem. There's no sign of delays or swapping when this happens; it just instantly gives me the error. Other programs and browser tabs continue to respond without delay. Also, 2.5G of available RAM is rather a lot (unless something is badly broken and it's failing to reallocate the inactive memory).
    – octern
    Commented Nov 30, 2012 at 6:46
  • Well quite possibly something is broken, but it's not a browsing problem, but more generally related to your memory management.
    – Gerry
    Commented Nov 30, 2012 at 7:01
  • After a break, the problem's back again. This time it was preventing me from getting to any of my work files, so I really need a fix! Bounty added.
    – octern
    Commented Jan 1, 2013 at 22:20
  • 2
    This problem is unlikely to be related to system memory, but instead to network buffers. Please show us the output of netstat -m. What VPN(s) are you using? Do you see the problem when you aren't using a VPN? Commented Jan 5, 2013 at 20:15

9 Answers 9

6

I wasn't able to get my network back by disabling and re-enabling TCP/IP or the Wi-Fi. It seems in my case the computer had gone to sleep with a Juniper VPN connection and when it woke back up the connection had timed out and the routes weren't cleaned up. For me, I had two computers, one working and one not, and so was able to identify the problem after running netstat -rn.

On the computer that wasn't working, I had a destination of 192.168.43.1 with a gateway of link#5. On the computer that WAS working, the gateway for that destination was the mac address of the wireless router, so I removed that route with:

sudo route delete -host 192.168.43.1

After this, I could ping my wireless router and also get back to the internet.

Some people claimed that going to Settings → Network → Wi-Fi → Advanced → Proxies and turning on Auto Proxy Discovery worked for them. I was not able to verify this as my connection was fixed by deleting the 'dead' route.

2
  • This works! And unlike my solution, it actually fixes the underlying problem and helps explain what's going on. Thank you!
    – octern
    Commented Mar 12, 2014 at 16:52
  • In retrospect, it looks like the Juniper client was the cause of my problems too. I can now report that this phenomenon hasn't recurred since my organization stopped using Juniper and switched to the OS X native VPN interface.
    – octern
    Commented Apr 1, 2015 at 17:40
4
+100

This is neither a RAM nor a disk related problem.

This is a kernel problem due to a misbehaviour of one of your network interfaces. Here are a few commands to start locating the origin of this problem when it occurs:

  • netstat -mm will provide a detailed information about your buffers pool usage;
  • netstat -I en0 if your actual network interface in use is en0 (Ethernet) will show you any actual errors (Ierrs, Oerrs);
  • netstat -r will show you if your routes toward the rest of the world are correct.

This misbehaviour may be the consequence of an automatic or targeted network attack. If you suspect that you may be facing such a case, here is a way to look the truth right in the eyes:

  • leave any network application (Safari, Mail, ssh…) so as to limit your own known noise (on your network interface);
  • open a Terminal and type: /usr/bin/sudo tcpdump -i en0 (if your interface is en0 == Ethernet);
    • if the output of tcpdump stays silent, you aren't attacked, just exit this privileged application by typing control-C
    • if the output of tcpdump is flooding, you are attacked. If you are in such a case, please post an extract of this output and of the 3 above commands outputs.
2
  • I still haven't been able to test this, but I'll give it a try when I can. I've awarded the bounty to prevent it from expiring. Thank you for your suggestions.
    – octern
    Commented Jan 9, 2013 at 20:40
  • I'm highly interested by your following tests, because I had the same kind of hard to reproduce problem… and I have to kill it!
    – athena
    Commented Jan 10, 2013 at 15:51
3

This should be fairly easy to track down with the sysdiagnose tool.

When you get a browser wedged and spitting errors, open terminal and add the browser name as an argument to the script: (so if Safari is crashing)

 sysdiagnose Safari

This tool will call sudo which needs you to type your password (it won't show to the screen, so type it slowly if you are new to sudo or prone to mis-type your password if you don't see it being typed).

At this point, you will get a huge system diagnosis tar.gz file stored in /private/var/tmp that you can copy to your desktop and pore over. It will be a bit like looking for a needle in a haystack - but you can be sure some resource is getting filled if a reboot makes things work until whatever bug or resource is triggered/used again.

2
  • Thanks for the advice! I had to reboot in order to get some urgent work done, so the problem isn't active right now. I'll be sure to try your suggestion and send a response next time it comes up.
    – octern
    Commented Jan 2, 2013 at 19:04
  • Sounds good - you can also submit a bug report to Apple if you can't diagnose the problem. They likely won't reply to assist you in troubleshooting your issue, but they might be able to fix the underlying issue with the data you submit on how the system looks when you manage to break it again.
    – bmike
    Commented Jan 2, 2013 at 19:39
2

Look at your routing table (run netstat -rn on a Terminal). This issue even persists after a reboot.

I've solved similar issues I've had by disabling TCP/IP (System Preferences » Network » Wi-Fi » Advanced » TCP/IP) and re-enabling TCP/IP for Wifi/Ethernet interface.

1

This problem is unlikely to be related to system memory, but instead to network buffers. Please show us the output of netstat -m.

What VPN software are you using? Do you see the problem when you aren't using a VPN?

0

A few suggestions, although you may have already tried them:

  1. Clear the caches, everywhere... run Cocktail or MacPilot to nuke 'em all.
  2. Clear out the Internet Plug-ins folder in the main Library folder. Every browser will use them.
  3. I would also suggest creating a fresh, new User account and testing it there, just to see what happens.
0

My friend was once running into a similar problem with Google Chrome where it pulled RAM like that. You might look at what programs are using how much RAM when this problem occurs with Activity Monitor. If there is a sub-operation of Google Chrome then you might try reinstalling it.

0

After a great deal of blind experimentation, I have found a solution! If I manually create an entry in the routing table for the IP block that is failing to load, it fixes the problem.

Step 1: Find the IP address for the site you want to load.

You can do this using ping, dig, or nslookup (see this question for details).

Step 2: Find the IP address of your gateway

You can find this from the network control panel, from ifconfig, or by running netstat -rn and noting the IP address next to the entry "default".

Step 3: Create a routing table entry for the affected IP address or block

Use the command sudo route add [affected IP address] [gateway IP address]

If, like me, you have this problem with whole IP blocks at once, you can enter the entire /8 block. For example, if the address of the site you wanted to reach is 173.231.155.34, you can enter sudo route add 173.0.0.0/8 [gateway IP address]

This is a pretty bad solution. You have to manually re-enter all of these if you change to a network with a different gateway address, or if you reboot. And it still doesn't explain why this was happening in the first place. But it does let me use my computer, when previously I was totally hosed.

0

Actually I was having this problem on a Mac, after trying some solutions I just restarted the computer and BANNG... it worked fine again!

1
  • I got over this problem again and once again the only solution I found was a restart. Commented Nov 28, 2020 at 22:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .