BOINC on OS X 10.9 refuses to connect to internet

Message boards : Questions and problems : BOINC on OS X 10.9 refuses to connect to internet
Message board moderation

To post messages, you must log in.

AuthorMessage
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51128 - Posted: 3 Nov 2013, 16:18:36 UTC

Hi all, I did a search on the forum but it seems that my specific issue has not been discussed so far. I apologise if I missed the thread.

I did a fresh install of BOINC (v7.0.65) on OS X 10.9 "Mavericks": there were no previous BOINC installations on this system. After the usual reboot, the BOINC Manager loads but refuses to connect to the internet. The suggested actions are to check for firewall blocking policies and for proxies.

I don't access the internet through proxies. I have other systems on the same network running older OS X versions, with no problems.

The firewall is open to BOINC connections, and the issue persists even if I disable the firewall completely.
According to LittleSnitch, BOINC Manager does not even attempt any connection. Anyway, it's not LittleSnitch preventing BOINC functioning because the issue persists if I disable LittleSnitch completely.
Any other program on the same system connects to the internet without any problems.

Any suggestion is appreciated. Thank you!
ID: 51128 · Report as offensive
Claggy

Send message
Joined: 23 Apr 07
Posts: 1112
United Kingdom
Message 51130 - Posted: 3 Nov 2013, 16:49:07 UTC - in response to Message 51128.  
Last modified: 3 Nov 2013, 16:50:03 UTC

Can you post the Boinc startup from the Event Log, the first 30 to 40 lines will do.

Does Boinc Manager manage to connect to the client?

Claggy
ID: 51130 · Report as offensive
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51131 - Posted: 3 Nov 2013, 16:56:56 UTC
Last modified: 3 Nov 2013, 16:57:17 UTC

Thank you Claggy!
This is what I obtained right now: started BOINC Manager and tried to join a project (actually, whatever project I try to join does not make any difference; the chosen one works on my other systems)

Sun Nov  3 17:53:54 2013 |  | No config file found - using defaults
Sun Nov  3 17:53:54 2013 |  | Starting BOINC client version 7.0.65 for x86_64-apple-darwin
Sun Nov  3 17:53:54 2013 |  | log flags: file_xfer, sched_ops, task
Sun Nov  3 17:53:54 2013 |  | Libraries: libcurl/7.26.0 OpenSSL/1.0.1c zlib/1.2.5 c-ares/1.9.1
Sun Nov  3 17:53:54 2013 |  | Data directory: /Library/Application Support/BOINC Data
Sun Nov  3 17:53:54 2013 |  | Processor: 4 GenuineIntel Intel(R) Core(TM) i7-3667U CPU @ 2.00GHz [x86 Family 6 Model 58 Stepping 9]
Sun Nov  3 17:53:54 2013 |  | Processor features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC POPCNT AES PCID XSAVE OSXSAVE TSCTMR AVX1.0 RDRAND F16C
Sun Nov  3 17:53:54 2013 |  | OS: Mac OS X 10.9.0 (Darwin 13.0.0)
Sun Nov  3 17:53:54 2013 |  | Memory: 8.00 GB physical, 23.33 GB virtual
Sun Nov  3 17:53:54 2013 |  | Disk: 465.12 GB total, 23.08 GB free
Sun Nov  3 17:53:54 2013 |  | Local time is UTC +1 hours
Sun Nov  3 17:53:54 2013 |  | VirtualBox version: 4.1.18
Sun Nov  3 17:53:54 2013 |  | OpenCL: Intel GPU 0: HD Graphics 4000 (driver version 1.2(Sep 19 2013 22:31:23), device version OpenCL 1.2, 1024MB, 1024MB available, 154 GFLOPS peak)
Sun Nov  3 17:53:54 2013 |  | No general preferences found - using defaults
Sun Nov  3 17:53:54 2013 |  | Reading preferences override file
Sun Nov  3 17:53:54 2013 |  | Preferences:
Sun Nov  3 17:53:54 2013 |  | max memory usage when active: 4096.00MB
Sun Nov  3 17:53:54 2013 |  | max memory usage when idle: 7372.80MB
Sun Nov  3 17:53:54 2013 |  | max disk usage: 1.00GB
Sun Nov  3 17:53:54 2013 |  | don't use GPU while active
Sun Nov  3 17:53:54 2013 |  | suspend work if non-BOINC CPU load exceeds 25 %
Sun Nov  3 17:53:54 2013 |  | (to change preferences, visit a project web site or select Preferences in the Manager)
Sun Nov  3 17:53:54 2013 |  | Not using a proxy
Sun Nov  3 17:53:54 2013 |  | This computer is not attached to any projects
Sun Nov  3 17:53:54 2013 |  | Visit http://boinc.berkeley.edu for instructions
Sun Nov  3 17:53:55 2013 |  | Suspending GPU computation - computer is in use
Sun Nov  3 17:54:04 2013 |  | Fetching configuration file from http://boinc.ucd.ie/fmah/get_project_config.php
Sun Nov  3 17:54:25 2013 |  | Resuming computation
Sun Nov  3 17:54:25 2013 |  | Project communication failed: attempting access to reference site
Sun Nov  3 17:54:40 2013 |  | BOINC can't access Internet - check network connection or proxy configuration.
Sun Nov  3 17:54:55 2013 |  | Resuming computation

Thank you!
ID: 51131 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 51133 - Posted: 3 Nov 2013, 17:25:18 UTC - in response to Message 51131.  

Sun Nov 3 17:54:25 2013 | | Project communication failed: attempting access to reference site
Sun Nov 3 17:54:40 2013 | | BOINC can't access Internet - check network connection or proxy configuration.

Well, you know what we're going to say, right?
The above two lines show that the BOINC on that system is not allowed to communicate to the internet. Make sure that the BOINC binary (so not the BOINC Manager binary !!) is allowed to make contact with the internet on TCP ports 80 and 443.

BOINC Manager doesn't need internet access, as it is nothing more than a graphical user interface allowing you to easily command and control the underlying client, the BOINC binary. Both BOINC parts do need to be able to communicate on TCP port 31416, but seeing how you can post the log, that's hunky dory.
ID: 51133 · Report as offensive
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51136 - Posted: 3 Nov 2013, 17:58:03 UTC - in response to Message 51133.  

Well, you know what we're going to say, right?
The above two lines show that the BOINC on that system is not allowed to communicate to the internet. Make sure that the BOINC binary (so not the BOINC Manager binary !!) is allowed to make contact with the internet on TCP ports 80 and 443.

Yes, of course you are right! Now I can't seem able to figure out how to access the Mac's firewall through the command line, I just seem able to access it through the system preferences. However, there the "boinc" binary is listed as "allow incoming connections".
I know (well, I presume) it is the boinc binary because it is *not* the BOINC Manager executable, but is the UNIX executable file in the Resources directory of the BOINC Manager application bundle:

BOINCManager.app/Contents/Resources/boinc


My understanding of the Mac's firewall (but I can be wrong) is that all ports are open to the boinc binary, but as I don't know how to access the firewall rules through the CLI I'm not able to post the relevant set of rules here. Anyway, here's how the graphical front end of the firewall looks like:
ID: 51136 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 51137 - Posted: 3 Nov 2013, 18:14:33 UTC - in response to Message 51136.  

However, there the "boinc" binary is listed as "allow incoming connections".

It'll need outgoing connections as well, as how else is it ever going to communicate with something on the other side of the firewall?

I know (well, I presume) it is the boinc binary because it is *not* the BOINC Manager executable, but is the UNIX executable file in the Resources directory of the BOINC Manager application bundle:

BOINCManager.app/Contents/Resources/boinc


I don't think this changed, but the normal BOINC program directory is /Applications/BOINC/

Now, before you go and fiddle with the root user of Mavericks, something totally not necessary in my book, try to install BOINC 7.2.26 first. That one is going to be released tomorrow to the public anyway, so not really needed to wait.

Macintosh 7.2.26 option installers:
- boinc_7.2.26_macOSX_i686.zip
- boinc_7.2.26_macOSX_SymbolTables.zip
- boinc_7.2.26_i686-apple-darwin.zip

If even 7.2.26 has problems, let me know and I'll swing by the developer and ask him what you can do about it.
ID: 51137 · Report as offensive
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51138 - Posted: 3 Nov 2013, 18:35:17 UTC - in response to Message 51137.  
Last modified: 3 Nov 2013, 18:35:42 UTC

Thank you for your help!

I don't think this changed, but the normal BOINC program directory is /Applications/BOINC/

Yes, that's where (in /Applications) the BOINCManager.app application bundle is located, indeed.

My understanding of the Mac's built-in firewall is that outgoing connections are always allowed on all ports, the firewall just filters the incoming connections on a per-application basis. I know it's not a very serious firewall, but it's easy to configure and better than nothing on a personal laptop.
However, I tried disabling the firewall completely, and still BOINC doesn't connect to the internet.

Now, before you go and fiddle with the root user of Mavericks, something totally not necessary in my book, try to install BOINC 7.2.26 first. That one is going to be released tomorrow to the public anyway, so not really needed to wait.

Macintosh 7.2.26 option installers:
- boinc_7.2.26_macOSX_i686.zip
- boinc_7.2.26_macOSX_SymbolTables.zip
- boinc_7.2.26_i686-apple-darwin.zip

If even 7.2.26 has problems, let me know and I'll swing by the developer and ask him what you can do about it.

I tried installing 7.2.26, but the problem persists. :( Same entries on the event log, actually.
Thank you again for your help!
I'm testing Mavericks on a spare system to find out if I can plan an upgrade or not so it's not a big deal if the problem is not solved immediately, however this is the first no-go that I've found so far.
ID: 51138 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 51139 - Posted: 3 Nov 2013, 18:51:01 UTC - in response to Message 51138.  

I've forwarded it to the developer. It can take 24 hours for him to answer.
ID: 51139 · Report as offensive
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51140 - Posted: 3 Nov 2013, 18:55:10 UTC - in response to Message 51139.  

Thank you very much! :)
I'll post here any progresses or news on my side.
ID: 51140 · Report as offensive
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51141 - Posted: 3 Nov 2013, 21:35:36 UTC
Last modified: 3 Nov 2013, 21:48:21 UTC

I don't know if the test I did makes any sense, however I'm reporting the results here just in case…

I tried monitoring the network connections using nettop. When I launch the boinc binary (directly from the CLI or indirectly by launching BOINC Manager), it gets regularly listed among the processes trying to access the network. This is what nettop says regarding boinc:

BOINCManager.89458
    tcp4 127.0.0.1:55431<->localhost:31416                           lo0
boinc.89465
    tcp4 *:31416<->*:*
    tcp4 127.0.0.1:31416<->localhost:55431                           lo0
    udp4 127.0.0.1:50532<->localhost:53                              lo0


Apparently it is trying to connect only through the loopback interface, i.e. it never gets out. The connection through port 31416 seems to be the way BOINCManager uses to communicate with the boinc binay. The last line corresponds to the attempt to connect to the project web site which, of course, is not at 127.0.0.1.

Don't know if this makes any sense or can be of any help.
Thank you all!
ID: 51141 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 51144 - Posted: 4 Nov 2013, 7:50:39 UTC - in response to Message 51141.  
Last modified: 4 Nov 2013, 7:50:57 UTC

OK, the developer for BOINC on the Mac has no explanation on why this is happening, it works fine on his system with Mavericks, and on that of several other people. We'll know after today, I guess, when 7.2.26 is released to the masses.

In the mean time, a thing you may want to look at is the version of LittleSnitch that you run. Only v3.3 is Mavericks compatible, so if you haven't yet tried that, update LS first. Release notes at: http://www.obdev.at/products/littlesnitch/releasenotes3.html.
ID: 51144 · Report as offensive
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51146 - Posted: 4 Nov 2013, 9:13:12 UTC - in response to Message 51144.  

Thank you very much! :)
Yes, LittleSnitch version is 3.3. Let's wait for a while and see if my problem affects someone else or not.

Thank you again!
ID: 51146 · Report as offensive
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 801
Finland
Message 51151 - Posted: 4 Nov 2013, 21:57:59 UTC - in response to Message 51141.  

BOINCManager.89458
    tcp4 127.0.0.1:55431<->localhost:31416                           lo0
boinc.89465
    tcp4 *:31416<->*:*
    tcp4 127.0.0.1:31416<->localhost:55431                           lo0
    udp4 127.0.0.1:50532<->localhost:53                              lo0


Apparently it is trying to connect only through the loopback interface, i.e. it never gets out. The connection through port 31416 seems to be the way BOINCManager uses to communicate with the boinc binay. The last line corresponds to the attempt to connect to the project web site which, of course, is not at 127.0.0.1.

Port 53 is for DNS. Some Linux distros install a small DNS server to cache domain names. A wouldn't be surprised if OSX did the same.

You could try enabling HTTP debug flags in BOINC's configuration file.
ID: 51151 · Report as offensive
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51162 - Posted: 5 Nov 2013, 17:07:22 UTC - in response to Message 51151.  

I think you got it!

Tue Nov  5 18:01:53 2013 |  | Fetching configuration file from http://boinc.ucd.ie/fmah/get_project_config.php
Tue Nov  5 18:01:53 2013 |  | [http] HTTP_OP::init_get(): http://boinc.ucd.ie/fmah/get_project_config.php
Tue Nov  5 18:02:09 2013 |  | [http] [ID#2] Info:  Could not resolve host: boinc.ucd.ie (Timeout while contacting DNS servers)
Tue Nov  5 18:02:09 2013 |  | [http] [ID#2] Info:  Closing connection #0
Tue Nov  5 18:02:09 2013 |  | [http] HTTP error: Couldn't resolve host name
Tue Nov  5 18:02:17 2013 |  | Project communication failed: attempting access to reference site
Tue Nov  5 18:02:17 2013 |  | [http] HTTP_OP::init_get(): http://www.google.com/
Tue Nov  5 18:02:27 2013 |  | Resuming computation
Tue Nov  5 18:02:38 2013 |  | [http] [ID#0] Info:  Could not resolve host: www.google.com (Timeout while contacting DNS servers)
Tue Nov  5 18:02:38 2013 |  | [http] [ID#0] Info:  Closing connection #0
Tue Nov  5 18:02:38 2013 |  | [http] HTTP error: Couldn't resolve host name
Tue Nov  5 18:02:38 2013 |  | BOINC can't access Internet - check network connection or proxy configuration.


So apparently BOINC is trying to resolve host names but it doesn't succeed. The Mac connects correctly to the internet and all other programs succeed in contacting web sites and downloading stuff, so my DNS information in the System Preferences is correct.
What am I doing wrong with BOINC? Is there a configuration somewhere that I should have done differently? I'm sorry I'm not sure what your comment on the small DNS server installed to cache domain names means (my ignorance).

Thank you! :)
ID: 51162 · Report as offensive
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 801
Finland
Message 51165 - Posted: 5 Nov 2013, 19:19:19 UTC - in response to Message 51162.  

So apparently BOINC is trying to resolve host names but it doesn't succeed. The Mac connects correctly to the internet and all other programs succeed in contacting web sites and downloading stuff, so my DNS information in the System Preferences is correct.

May I ask what do you have there? Also, have you tried the #1 troubleshooting step (=rebooting) already?

What am I doing wrong with BOINC? Is there a configuration somewhere that I should have done differently? I'm sorry I'm not sure what your comment on the small DNS server installed to cache domain names means (my ignorance).

I don't recall any DNS related settings in BOINC.

As for the DNS server: In Windows some operating system component handles caching of domain names but in Linux there is nothing like it. So some distros install a program called dnsmasq (which describes itself as "A lightweight DHCP and caching DNS server") to handle the caching. dnsmasq runs on the local host so any program that needs a domain name resolved will connect to a DNS server (=dnsmasq) running on the localhost instead of connecting to router/modem or ISP's server.

A quick googling later shows OSX does caching but I can't tell how it shows to programs.
ID: 51165 · Report as offensive
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51176 - Posted: 5 Nov 2013, 21:49:04 UTC - in response to Message 51165.  

May I ask what do you have there? Also, have you tried the #1 troubleshooting step (=rebooting) already?

I have a fresh install of OSX 10.9 on a MacBook Air. It's a test system actually, I'm verifying what's working and what's not to see if I can upgrade on my main system (this is a test system). So it's a fresh install of OSX 10.9, latest version of BOINC (again fresh install, no update), LittleSnitch 3.3, Sophos Antivirus. All the rest are "normal" apps which shouldn't (I hope!) interfere with BOINC. The same configuration and set of apps but under OSX 10.8 wasn't giving any problems.
Yes, I tried rebooting. ;-)

As for the DNS server: In Windows some operating system component handles caching of domain names but in Linux there is nothing like it. So some distros install a program called dnsmasq (which describes itself as "A lightweight DHCP and caching DNS server") to handle the caching. dnsmasq runs on the local host so any program that needs a domain name resolved will connect to a DNS server (=dnsmasq) running on the localhost instead of connecting to router/modem or ISP's server.

A quick googling later shows OSX does caching but I can't tell how it shows to programs.

Thanks for the hint, I'll try to figure out something. It's not clear to me, however, why only BOINC seems to be affected by name resolution problems.
ID: 51176 · Report as offensive
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 801
Finland
Message 51190 - Posted: 6 Nov 2013, 21:05:35 UTC - in response to Message 51176.  
Last modified: 6 Nov 2013, 21:09:13 UTC

I have a fresh install of OSX 10.9 on a MacBook Air. It's a test system actually, I'm verifying what's working and what's not to see if I can upgrade on my main system (this is a test system). So it's a fresh install of OSX 10.9, latest version of BOINC (again fresh install, no update), LittleSnitch 3.3, Sophos Antivirus. All the rest are "normal" apps which shouldn't (I hope!) interfere with BOINC. The same configuration and set of apps but under OSX 10.8 wasn't giving any problems.
Yes, I tried rebooting. ;-)

You could try not just disabling but completely uninstalling Sophos and LittleSnitch.

Just so that you know, BOINC on OSX uses sandboxing where client runs under it's own user account. LittleSnitch documentation isn't exactly clear how it works with different user accounts and Sophos... well, antivirus programs tend to be POS so it's good to rule that one out. While those might work with older OSX versions Mavericks may have some new security measures which break stuff.

You could try running some commands as boinc_master. Open Terminal and type the following command:

sudo -u boinc_master host boinc.berkeley.edu

Depending on what you have on your machine you can replace "host" with "dig" or "nslookup". Or maybe "wget boinc.berkeley.edu/index.php"
ID: 51190 · Report as offensive
Marco Coïsson

Send message
Joined: 3 Nov 13
Posts: 10
Italy
Message 51247 - Posted: 10 Nov 2013, 17:59:28 UTC - in response to Message 51190.  
Last modified: 10 Nov 2013, 18:43:46 UTC

I apologise for my very late reply. But the extra time allowed me to understand a little bit more of what was going on, and I can finally say that the problem is solved!
Let me thank you all for your kind help! The last hint by Juha gave me the right clue.

To make a long story short: both LittleSnitch and Sophos Antivirus have no responsibility.
But when I tried running the host or dig or nslookup commands, I always ended up with timeouts, even with my regular user, not only with the boinc_master user.
Now it seems that "normal" OSX processes use some other way to resolve host names (didn't find out which, anyway), probably the fact that BOINC is a cross-platform project means that it uses a more *NIX way of doing this kind of things, I don't know.
Anyway, it turns out that the file /etc/resolv.conf is not used by OSX. But it is used by host or dig or nslookup utilities. So, if you just add
nameserver 8.8.8.8

at the end of the /etc/resolv.conf file, then BOINC will successfully connect to the internet! : )
Earlier versions of OSX seem to have a nameserver line in resolv.conf automatically, OSX 10.9 apparently not. At least, not mine. ;-)

Thank you all again! Besides having BOINC working properly, I learned a lot of things in the process, and I really must thank you all for this!
ID: 51247 · Report as offensive

Message boards : Questions and problems : BOINC on OS X 10.9 refuses to connect to internet

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.