Bug Internet Connection Issue
#1
Hi Ladies and Gentlemen,

I've been working with this stupid "MAC: Busy" and "Internet: Busy" then "Internet: Not Connected. Check Network Settings" issue for a while and I think I may have stumbled across the problem for people outside the US.

I have three Windows 7 PCs doing the same thing. Yeah it could be occurring due to a fault on all of them or it could be something to do with something else. One of my PC's I have just installed 13.0 Alpha and I was trawling through the logs and came across this:

ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://www.google.com/
ERROR: CCurlFile::Exists - Failed: Couldn't connect to server(7) for http://74.125.19.103/

My understanding of this CCurlFile is that it basically verifies that the host name matches with the IP (I might be completely wrong here). For me google.com always gets resolved to the Australian site google.com.au and its IP address 74.125.237.183 regardless of where my DNS is pointing at. I also get no response from 74.125.19.103 so event if I edited the hosts file or my router config to map the hostname to that IP address it still doesn't work.

My thinking is that if the IP address used in the curl file could be adjusted to suit the country, or event use a different site, this might resolve this pesky issue.

Any experts out there able to chime in a shed some light on this idea?
Reply
#2
what exactly are you doing to trigger this? Xbmc core should not do that.
Reply
#3
Hi wsnipex,

Within XBMC all I am doing is opening up the program then going to System -> System Info -> Network. It does the "MAC: Busy" and "Internet: Busy" then changes to "MAC:<My address>" and "Internet: Not Connected. Check Network Settings". Then I exited the program and examined the xbmc.log file. The 13.0 Alpha shows the entries from the first post but 12.3 shows:

XFILE::CCurlFile::CReadState::FillBuffer: curl failed with code 28
23:24:07 T:4704 ERROR: CCurlFile::CReadState::Open, didn't get any data from stream.
23:24:09 T:3436 NOTICE: Thread CFileCache start, auto delete: false
23:24:10 T:4704 WARNING: XFILE::CCurlFile::CReadState::FillBuffer: curl failed with code 28
23:24:10 T:4704 ERROR: CCurlFile::CReadState::Open, didn't get any data from stream.
23:24:12 T:4704 WARNING: XFILE::CCurlFile::CReadState::FillBuffer: curl failed with code 28
23:24:12 T:4704 ERROR: CCurlFile::CReadState::Open, didn't get any data from stream.


Here are my ping results if it helps

C:\>ping www.google.com

Pinging www.google.com [74.125.237.180] with 32 bytes of data:
Reply from 74.125.237.180: bytes=32 time=56ms TTL=58
Reply from 74.125.237.180: bytes=32 time=56ms TTL=58
Reply from 74.125.237.180: bytes=32 time=56ms TTL=58
Reply from 74.125.237.180: bytes=32 time=57ms TTL=58

Ping statistics for 74.125.237.180:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 56ms, Maximum = 57ms, Average = 56ms

C:\>ping www.google.com.au

Pinging www.google.com.au [74.125.237.184] with 32 bytes of data:
Reply from 74.125.237.184: bytes=32 time=56ms TTL=58
Reply from 74.125.237.184: bytes=32 time=56ms TTL=58
Reply from 74.125.237.184: bytes=32 time=56ms TTL=58
Reply from 74.125.237.184: bytes=32 time=55ms TTL=58

Ping statistics for 74.125.237.184:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 55ms, Maximum = 56ms, Average = 55ms

C:\>ping 74.125.19.103

Pinging 74.125.19.103 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 74.125.19.103:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

Obviously I got a different Google Server to my original post but my point remains.
Reply
#4
show me a full Debug Log
Reply
#5
This is the log from one of the 12.3's I have running. http://xbmclogs.com/show.php?id=134274
Reply
#6
Just on a month and no replies... hmmm.

Anyone with any ideas or comments?
Reply
#7
I'm not an XBMC developer but I'll take a stab. It looks like when you go to System Info -> Network XBMC is attempting to connect to www.google.com to test your internet connection is alive - if it can connect it marks Internet as "Connected" on the System Info page.

Your problem seems to be related to DNS resolution of
Code:
www.google.com
so is highly unlikely to be a fault of XBMC itself - all XBMC is doing is a hostname lookup using the operating system and getting an IP address back as an answer - if that IP address is not valid or can't be reached that's not XBMC's fault but a problem with your OS, router, ISP or DNS settings.

Open a command prompt on your Windows machine that is having this problem and try the following:

Code:
nslookup www.google.com

Paste the result here.

Note:
Code:
www.google.com
not
Code:
google.com
- they don't resolve to the same IP addresses!

(Sorry for all the code boxes, this forum insists on adding http:// in front of a URL which we don't want for nslookup)

PS here's what I get when I go to System Info->Network: (I'm in the UK not the US)

Code:
15:53:27 2116.832031 T:3036897280   DEBUG: ------ Window Init (SettingsSystemInfo.xml) ------
15:53:28 2117.813965 T:2520773696    INFO: easy_aquire - Created session to http://www.google.com
15:53:33 2122.853516 T:2520773696   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://www.google.com/
15:53:33 2122.854248 T:2520773696    INFO: easy_aquire - Created session to http://74.125.19.103
15:53:38 2127.875732 T:2520773696   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://74.125.19.103/
15:53:58 2148.086670 T:3036897280   DEBUG: SECTION:UnloadDelayed(DLL: special://xbmcbin/system/ImageLib-arm.so)
15:53:58 2148.086914 T:3036897280   DEBUG: Unloading: ImageLib-arm.so
15:54:08 2157.911865 T:3036897280    INFO: CheckIdle - Closing session to http://74.125.19.103 (easy=0x4579060, multi=(nil))
Initially the Network page says not connected but after about 30 seconds it changes to Connected. It looks like the address its connecting to may have a redirect, so may not be the best choice of URL to connect to to test the presence of an internet connection...

If any devs are reading it might be better if XBMC used a test URL that is specifically designed for this purpose and guaranteed not to change, such as the Microsoft one:

http://www.msftncsi.com/ncsi.txt

This URL is used by all current versions of Windows to test network connectivity and will be around for many many years to come. Details here:

http://blog.superuser.com/2011/05/16/win...awareness/
Kodi 18.3 - Mid 2007 Mac Mini, 4GB, 2TB HD, Windows 7 SP1
Kodi 18.3 - Vero4k, Raspberry Pi 2. OSMC.
Reply
#8
I think, you are barking up the wrong tree, this has nothing to do with xbmc

You are likely booting faster then all the network can be up and fully working, in Linux you can introduce delays into config files to delay xbmc until the network is up, in windows who knows? if that's the problem, go ask Billy for help Wink

A good way to test is to restart xbmc after a little while and if that works you know you are booting faster then services come up.
Reply
#9
The test connection to google is not performed until the user manually goes to System->Info->Network, it's not done during launch. When I tested it XBMC had already been running for 15 minutes.

There is something a little strange about the query that is being made and how it is resolving to 74.125.19.103 (through redirects I assume, as www.google.com is just a redirect) - for me it fails on the first attempt ("Internet: Not connected. Check network settings") and after a while (30 seconds to a minute) changes its mind and says Internet: Connected, despite the debug log errors. I've noticed this behaviour months ago in Frodo as well but never bothered to look in the debug log for it before.
Kodi 18.3 - Mid 2007 Mac Mini, 4GB, 2TB HD, Windows 7 SP1
Kodi 18.3 - Vero4k, Raspberry Pi 2. OSMC.
Reply
#10
Again xbmc doest mess with networking, it is a client so, you need to check if this is os side or curl side, curl is a 3rd party lib xbmc uses, idk if it turns out its a curl bug that devs will fix it anyway or if they expect you to look at curl and report bug with them.
Anyway, I dont see the logic of anything you are reporting and the xbmc relation, or if its a coincidence because of curl or your os actually flaking out.

In any case I didt say to test after xbmc has been running for a while, I said, restart xbmc after a while and then test. So start os, make sure network is up start xbmc test and then restart xbmc. While you are at it test without xbmc at all.

idk if the windows version of curl is same as in Linux, I can tell you with some certainty that In Linux + xbmc and Im also in UK, dont have any issues like that. and I already explained that only by booting too fast in linux then netwrok is not ready by time xbmc is started, that is solved by delauying xbmc startup after services are up and running.

who knows if you on wifi that could be an issue too. Windows takes a crap load of time to get networking/internet available on some systems.

Anyway, Im doen here as idk windows, I came here to give you some ideas where to look as I dont think its a xbmc bug at all, not directly anyway, though I could be wrong, I cant help you anyway.
Reply
#11
(2014-03-20, 18:36)uNiversal Wrote: Again xbmc doest mess with networking, it is a client so, you need to check if this is os side or curl side, curl is a 3rd party lib xbmc uses, idk if it turns out its a curl bug that devs will fix it anyway or if they expect you to look at curl and report bug with them.
Anyway, I dont see the logic of anything you are reporting and the xbmc relation, or if its a coincidence because of curl or your os actually flaking out.
XBMC is making a connection to google to test the internet connection is up to report in System Info so how is that not related to XBMC ? The OS is not "flaking out", if there is a bug it is in XBMC or the curl library which XBMC includes.

I'm not the original poster I'm just providing corroboration and looking into it a bit further to try to figure out what's happening, in particular where it is getting 74.125.19.103 from, and why a connection to www.google.com is supposedly failing.
Quote:In any case I didt say to test after xbmc has been running for a while, I said, restart xbmc after a while and then test. So start os, make sure network is up start xbmc test and then restart xbmc.
Makes no difference. I'm testing it on a Raspberry Pi BTW.
Quote: While you are at it test without xbmc at all.
Huh ? There is nothing wrong with DNS resolution outside of XBMC. What is unclear is why XBMC trying to look up www.google.com is resolving to 74.125.19.103 when it doesn't anywhere else. As I said its likely that curl is following an http redirect path to reach that IP address, but without seeing the code its hard to know.
Quote:idk if the windows version of curl is same as in Linux, I can tell you with some certainty that In Linux + xbmc and Im also in UK, dont have any issues like that. and I already explained that only by booting too fast in linux then netwrok is not ready by time xbmc is started, that is solved by delauying xbmc startup after services are up and running.
"Booting too fast" is nothing to do with the problem I'm seeing. I've already tried a delayed start of XBMC.
Quote:who knows if you on wifi that could be an issue too. Windows takes a crap load of time to get networking/internet available on some systems.
I'm not using Windows, nor am I using Wifi
Quote:Anyway, Im doen here as idk windows, I came here to give you some ideas where to look as I dont think its a xbmc bug at all, not directly anyway, though I could be wrong, I cant help you anyway.
It seems like you're trying to blame every possible thing except XBMC to be honest, rather than trying to understand what's happening.

As I said - I'm not the original poster (who is running windows) I'm just confirming what he is seeing, in a different country, on a different OS/platform.

It's only a minor problem but I'm curious to see what the cause is. As I said in my first post - there are better URL's to query to check for internet connectivity than attempting a connection to google, as google change their stuff around all the time, including dns changes, redirects and so on.
Kodi 18.3 - Mid 2007 Mac Mini, 4GB, 2TB HD, Windows 7 SP1
Kodi 18.3 - Vero4k, Raspberry Pi 2. OSMC.
Reply
#12
Im not trying to blame anything,.. you getting this too personally for my taste, that's ok; frustration will do that Wink

1) I came here to give you ideas or the op and by extension you if you want, if not disregard my ideas, dismiss them, then.
2) if such ideas include ruling out certain things, that doesn't mean Im trying to blame everything except xbmc anything, Ruling out means ruling out

I dont have such problems, I use Linux + xbmc in proper fully supported hardware (a full htpc atom+nvidia) both at os level and xbmc level. <- that is my conclusion that this lies somewhere else.

Its been mentioned before about dns servers in xbmcbuntu etc, but given I dont use xbmcbuntu or rpi or whatever os you use for rpi being raspbmc or openelect, both are specific OS layers that provide xbmc preconfigured and by extension dns and networking configs. ok you are using rpi, but what os? If openelec... well forget it you cant manipulate OS level to test properly.

Take my advice or dont, one thing is sure, I dont have that problem and therefore, I suggest you look at all possible causes and start ruling out some if you are at all intersted in getting this bug looked at, you can also provide full debug logs, which I dont see form you.

Also XBMC versions.... Im on compiles of xbmc v14alpha1 master and ubuntu Linux 12.04 lts minimal, no desktop. so that two clues in where this bug, doesnt happen.

again if this is a curl or whatever bug or whatever its needs documentation to corroborate like logs etc.
Reply
#13
Can anyone get that IP check to load? I've tried from multiple networks and always get a curl error 7 or error 28 if I set a max time on the request:

Code:
[root@host ~]$ curl -L -I -m 5 http://74.125.19.103
curl: (28) connect() timed out!

That NCSI looks like a better option of checking for connectivity with DNS as well since google does some strange redirects based on protocol and geolocation which makes it very hard to troubleshoot since location plays a part.

In either case it looks like that IP should be updated.
https://github.com/xbmc/xbmc/blob/master...e.cpp#L875
Reply
#14
(2014-03-20, 22:59)gbandit Wrote: Can anyone get that IP check to load? I've tried from multiple networks and always get a curl error 7 or error 28 if I set a max time on the request:

Code:
[root@host ~]$ curl -L -I -m 5 http://74.125.19.103
curl: (28) connect() timed out!

That NCSI looks like a better option of checking for connectivity with DNS as well since google does some strange redirects based on protocol and geolocation which makes it very hard to troubleshoot since location plays a part.

In either case it looks like that IP should be updated.
https://github.com/xbmc/xbmc/blob/master...e.cpp#L875
Nice little piece of detective work. Smile

I was thinking of looking in the source myself to see what it was trying to do but as I'm not that familiar with the XBMC source it would have taken me a while to find, and I'm also already pre-occupied with testing a number of other aspects of Gotham and reporting bugs before the final release comes out, so this one was way down my priority list...(I was just trying to be helpful to the original poster who posted logs but got no feedback at all)

I see the same timeout as you:

Code:
pi@raspberrypi ~ $ curl -L -I -m 5 http://74.125.19.103
curl: (28) Operation timed out after 5001 milliseconds with 0 bytes received

Now that we can see there is a hard-wired IP address in the code its obvious what the problem is - google has changed their IP addresses's around and that one is no longer valid to test against, and at the very least should be updated.

I would argue that hard-wiring any Google IP address is the wrong thing to do though - although you can pretty much guarantee that google will always be up, you CAN'T guarantee that any given IP address of theirs will continue to serve the same function for years (or even months) to come as they change stuff around constantly, and as you say you have the region dependent differences as well.

Instead I would suggest that a hostname should be resolved rather than a hard-wired IP - if your DNS is not working such that the hostname can't be resolved then it doesn't really matter whether IP connectivity is working - for all intents and purposes for XBMC your internet connection is down as it won't be able to resolve any of the services its trying to connect to. All the user needs to know is whether their connection is working properly or not.

I think piggybacking on the purpose built Microsoft NCSI page is the best long term solution but that's probably enough code change that that won't be happening any time soon.

It's probably too late for even the IP address to be updated before Gotham but it would be nice if someone somewhere made a note that this code needs looking at and updating.
Kodi 18.3 - Mid 2007 Mac Mini, 4GB, 2TB HD, Windows 7 SP1
Kodi 18.3 - Vero4k, Raspberry Pi 2. OSMC.
Reply
#15
OK... so many comments in heavy detail...

nslookup www.google.com
DNS request timed out.
timeout was 2 seconds.
Server: UnKnown
Address: 192.168.56.1

Non-authoritative answer:
Name: www.google.com
Addresses: 2404:6800:4006:805::1011
74.125.237.115
74.125.237.114
74.125.237.116
74.125.237.112
74.125.237.113


nslookup www.google.com.au
1.56.168.192.in-addr.arpa
primary name server = localhost
responsible mail addr = nobody.invalid
serial = 1
refresh = 600 (10 mins)
retry = 1200 (20 mins)
expire = 604800 (7 days)
default TTL = 10800 (3 hours)
Server: UnKnown
Address: 192.168.56.1

Non-authoritative answer:
Name: www.google.com.au
Addresses: 2404:6800:4006:805::1018
74.125.237.191
74.125.237.184
74.125.237.183

This is with my router as the primary DNS. I keep putting on the .com.au address because as I said earlier I am always redirected to this from the .com site.


There is no issue with it starting up too quickly. As I said several computer have the software installed only one has up xbmc on startup however all have the problem. Restarting it doesnt fix the issue nor does leaving it on the network screen for a while. I have no other issues with the internet (PS, XBox and all sites I try to go to work). PCs are all wired with no WiFi cards connected.

I am wondering if the 74.125.19.103 resolved OK in the US which is why only some people are affected by this issue. I would do this if I had the gear, but can anyone who has this problem put a device on their network with the ip address 74.125.19.103 and see if they can fool their router into thinking it can connect to this device? Maybe someone could recompile the program using a different IP address than 74.125.19.103.
Reply

Logout Mark Read Team Forum Stats Members Help
Internet Connection Issue0