Bugzilla – Bug 9499
Playing internet Radio from within Squeezecenter causes a problem.
Last modified: 2009-01-20 06:54:36 UTC
Any internet station played from Squeezecenter UI, will play for about 15 to 20 minuets and then Squeezecenter will generate the following error on the screen and on the log file. [08-09-07 22:04:58.1067] Slim::Networking::SqueezeNetwork::PrefSync::_syncDown_error (359) Sync Down failed: malformed JSON string, neither array, object, number, string or atom, at character offset 0 ["<!DOCTYPE html PUBLI..."] at /<D:\PROGRA~1\SQUEEZ~1\server\SQUEEZ~1.EXE>Slim/Networking/SqueezeNetwork/PrefSync.pm line 213. , will retry in 540 Sam goes for Extras/news feeds with following error; “Une erreur s'est produite lors du chargement du flux de la télécommande pour : (Invalid XML feed )." No matter what station is chosen after the error comes up it will not play until Squeezecenter is stopped and restarted again. No problem if the customer connected his receiver directly to Squeezenetwork Windows-XP, SP3 French version SC 7.2 and tried 7.3 also (RN- 080830-002064)
Hello, Two comments on the initial bug description : - Osama states that "No problem if the customer connected his receiver directly to Squeezenetwork" ; in fact I have not tried that. What I can say is that when the bug occurs, from that moment on until I stop/start SC, I cannot access any non-local content (Internet radios, news feeds etc), both from my Duet, from Squeezeplay or from the SC window itself. - I can be reached by email, or by phone at +33 4 78 33 50 94 most weekdays between 8pm and 10pm French time - I don't know if this is related, but I also included a crash report in the support discussion thread, here recapped for the record : Now this morning I had something entirely different. I was standing in front of the computer while it was booting, and before I would log in, I got an error popup telling me that SC had crashed : http://s.guillard.free.fr/sc7.2crash/p1.JPG I logged in and got the regular "app has crashed, send report" popup : http://s.guillard.free.fr/sc7.2crash/p2.JPG I clicked on "get tech info" which told me that the crashdump files were sitting in a temp folder : http://s.guillard.free.fr/sc7.2crash/p3.JPG I grabbed those files so that maybe someone at Logitech can look into them (being an operating system component developer myself, I would definately love to get a crashdump :)), those files can be retrieved here : http://s.guillard.free.fr/sc7.2crash...-crashdump.zip Regards, -- Stéphane Guillard
Please enable debugging for network.squeezenetwork before you start playing your next internet radio station. This should give us some more information about what's going wrong here. The fact that you don't see this problem is due to that code only being executed on SC: it's trying to sync prefs with SN, but fails for whatever reason. Being French with an accent in your name: are you using any accented characters in login or password? And please upload the error report to this bug. The URL you've posted is broken. Thanks!
Hi again, Sorry for the broken URL to the crashdump, the correct URL is : http://s.guillard.free.fr/sc7.2crash/SC7.2-crashdump.zip Regards, -- Stéphane
By the way, how does one "enable debugging for network.squeezenetwork" ? Regards, -- Stéphane
In the web UI go to Settings/Advanced/Logging
Created attachment 4025 [details] Server log Hi, Today right from the start I couldn't get any internet-based content (while, as usual, local content from my library would play fine). See the whole server.log attached. Hope that helps. Regards, -- Stéphane
Could be a proxy server killing all your requests. See this error in your log, you need to find whatever is generating this message. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head><META HTTP-EQUIV="Pragma" CONTENT="no-cache"><meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>Attention : erreur de configuration DNS</title></head><body><div style="text-align: center;"><span style="font-weight: bold;"> <big><big><big><big> Attention !!!</big></big></big></big></span><br></div><br><br>Si vous arrivez sur cette page c'est que votre configuration DNS est incorrecte. Merci de modifier les paramètres IP de votre ordinateur si possible en <span style="color: red;">DHCP</span> pour obtenir automatiquement la bonne configuration.<br><br>Pour info les DNS de Free sont : 212.27.40.240 et 212.27.40.241<br><br><br></body></html>
FWIW: the message says that DNS settings are incorrect. Make sure the machine running SC has proper DNS configuration.
Hi, What you see in the last log I sent only happens when I choose to run SC7.2 as a service (which is the most convenient way since it doesn't require opening a session). In this case, SC7.2's log indeed shows a DNS error message. All earlier SC versions which ran on the same, otherly unchanged machine would work fine when run as a service, thus I can only infer that you changed something for 7.2, that makes it start too early with respect to the firewall/router/DNS server service (in my case, Winroute firewall). After opening my user session, if I restart the SC service (using the "services" windows admin tool), it starts up fine and produces no such DNS problems. Now, independantly of startup mode (as a service or as an application at user login), after a while, internet-based content becomes unavailable, until I restart SC again. This can be seen both in the SC window (cannot browse to extras/newsfeeds ; cannot launch play of internet radio), or from squeezeplay or from my duet. Please refer to the error messages already posted in these cases. Finally, I also pointed to a real SC crash (providing crashdump & other screen shots). This happened to me again yesterday while testing the "run as a service" startup mode to see if the DNS problem was repeatable (it is 100%). Thus I had another instance of the SC crash. What was new is that after that, when starting SC, I was congratulated for the purchase of my new logitech equipment... with all the SC settings lost. Thus we have not zero nor one but actually 3 problems with SC7.2 (I insist on the version number because neither 7.0 nor 7.1 gave me any such problems) : - when started as a service, likely starts too early (before the firewall/router/dns service) - after a while, looses ability to play internet-based content - sometimes crashes when started as a service I provided evidence of all that, thus I would appreciate if the bug could be reopened. I am open to more conversation calls, to whatever manipulations you want me to do to dig into those issues, or even to let you work on my computer through a VNC connection. For the record, my background is CS engineering, the machine on which SC runs is a vanilla XPSP3 machine, acting as my home LAN firewall/router (thus with 2 Ethernet connections, one to the DSL modem and one to my LAN switch). No application is running on that machine except for Winroute and SC. All previous versions of SC ran fine and never caused those problems, so they obviously are bug-related. Take the chance to dig & fix ! FYI, I updated SC from the original 7.0 which was current when I bought my Duet, because the DHCP problems with the Controller seemed to get better with each version, though not yet to the point where after a power cycle, the Controller will get the right IP on the 1st try. Regards, -- Stéphane
The French DNS error page is the clue here. My guess is that your ISP prohibits DNS requests to servers other than their own. SC will try to use OpenDNS if your local DNS server is failing for some reason. If your ISP blocks those requests and returns some other IP for this error page, you'd get that error page returned for all HTTP requests SC is making. You need to enable network.asyncdns debug in SC and see what it is doing at startup when checking your own DNS server. Perhaps something with your dual-homed server, firewall, etc is causing the test to fail.
Some info about that error message: http://www.aduf.org/viewtopic.php?t=178671 Basically, your ISP sucks. :)
Hello Andy, I will fight my will to reply "sorry sir, it is your software which sucks", and add to that "only beaten at that by your support". To recap, I have found 3 almost systematic issues with 7.2 which NEVER occurred with the various versions used before: 1) When started as a service, SC7.2 will almost always be up before my firewall (which also acts as DNS server etc), thus casts out DNS queries where not due, thus yields those DNS-related errors. ALL the previous versions NEVER exhibited this problem, on an otherly unchanged machine. 2) When started as a service, SC7.2 will sometimes CRASH HARD, and I provided screen shots and crash dump for this. 3) when not started as a service (which avoids 1), or when started as a service but then "restart service"-ed from the Service administration tool, after some time of playback, SC7.2 looses the ability to feed non-local content to the SBR or to the Squeezeplay app or even from the SC web console. For as much as I like the SBD experience when it works, the 3 items above, added to the fact that the SBC will take several retries after a power down to reconnect properly, makes it EXTREMELY frustrating. But what REALLY turns me down and makes it unbearable is the service attitude. Suffice it to read the 1st level support log, and then this thread, to figure out that your service SUCKS in an incredible way: - 1st thing I was told is to "factory reset" the SBR/SBC. As if this would fix any of the problems above, which DO NOT involve the SBD at all (problems 1 and 2 are totally not player-related, and problem 3 also happens with squeezeplay and from the SC console). But a good sheep I was, and wiped out several times in a row all my SBD settings with several rounds of factory resets. Changed nothing at all, of course. Let alone the literally hours I wasted in failed reconnect trials each time. - 2nd thing I was told is to "wipe clean and reinstall SC", which I also did several times in a round, loosing all my library and settings each time, having to rescan etc. As if reinstalling would fix a bug. But a good sheep I was, and wiped out several times in a row all my settings with several rounds of wipe & clean installs. - Finally after "escalating" (but as it seems, the elevator would first go DOWN), I'm told that my ISP is the problem, and "sucks". Yeah sure, they have 5 million 100 Mbit/s optic fiber customers, and none of the respectable bag of server and client network-centric apps I run has ever shown such misbehaviour as exposed above. BTW if you would be able to read French, you would have noticed that most comments after the error message log say that the application must be faulty to send DNS resolve queries to non-DNS IP addresses... ALL THAT without at any single point anyone trying to actually figure out what happens here. Who examined the crash dump? And turned back to me for more tests? Who actually tried to figure out what was changed in 7.2 with respect to the service start-up, which might have SC start earlier? Who looked into the "JSON" & co. error messages I handed out several times for problem #3? (Obviously totally unrelated to the 2 other problems). Myself a software engineer, I have NEVER EVER faced such an attitude (would it be mine, I’d definitely be out of business since long). Now let me tell you what. Either you reopen that bug (which is actually 3 different bugs), and direct me to people with a serious will to understand and fix, in which case I will be more than happy to help, do all tests possible, log all errors possible, let your team VNC-log into my computer etc, things find an explanation, bugs are fixed, we move on, everybody is as happy as can be, Or you ignore, and trust me there will be a huge tray of this unfortunately very factual service evaluation all around the audiophile websites and fora. Up to you to FIX a VERY UNHAPPY CUSTOMER. Regards, -- Stéphane
I'm sorry you feel that way, but the bottom line is your ISP appears to be blocking requests to perfectly valid DNS servers (OpenDNS). Any ISP that filters traffic like that to try and force people to use their own DNS does indeed suck. I'm not sure what the next step is here if you don't wish to verify that your ISP is blocking OpenDNS and/or contact them to see why they are doing so and if they will disable it. Maybe I'm not fully understanding your network setup. As I understand it you are running a software firewall on your Windows server that has a public IP address. You are not using your ISP router as a firewall. The DNS server Windows is configured to use also runs on the same server. It's this DNS server that is starting after SC starts, right? If this is the case, one thing you might want to try is changing the DNS servers in Windows to point directly to your ISPs DNS servers, or just use the DHCP values from your ISP. This should allow SC to find and use the correct servers on startup.
Stéphane -- One thing I'm curious about as well: if you revert to SqueezeCenter 7.1 and try the same tasks... do they work perfectly? Or do they still fail even with the older version of our server software? You can find our older revs in this archive: http://downloads.slimdevices.com/
Hi, I have tested 7.1 and indeed it works as it was before switching to 7.2 : - startup as a service works (while 7.2 will only startup properly when started in my user session) - playing non local content (ie internet radios) works flawlessly, while 7.2 after some time (typically an hour or so) drops the ability to play non local content, and will only play content from my local music library. Now i have been looking deeper into the OpenDNS-relateed errors and messages. In fact, my ISP is perfectly happy with sending DNS queries to IP addresses which aren't their own DNS servers. It is my firewall (Kerio Winroute) which blocks this. Note, SqueezeCenter runs on the same machine as my home-wide firewall. This machine is my home server, directly connected through two Ethernet links, one to my DSL modem and one to my LAN. My DSL modem is... a modem, with no switch/router/firewall capabilities. I want it that way because Winroute has a smart child protection plugin (ISS Cobion) which has no equivalent in embedded firewalls. The only solution I would have to fix this is to swap my ISP's DNS for OpenDNS's. But then may I ask why do your applications REQUIRE OpenDNS at all ? Why don't they just let the system resolve names to IP's using the system's DNS setup ? Is this something new in 7.2+ ? Needless to say, I would find it ridiculous to force users to switch from their ISP's DNS servers to OpenDNS's ones, just to be able to use the SqueezeCenter software. Regards, -- Stéphane
Local DNS is always preferred. OpenDNS is only used if your local DNS server(s) fail to resolve a test hostname. If you run SC from the command-line with --debug network.asyncdns you will see the check it does at startup to your local DNS server.
Hello Andy, I did the test you asked for : start SQC from the command line with the "--debug network.asyncdns" option. Here is what I get, hoping this will shed some light on my problems : ==== D:\Program Files\SqueezeCenter\server>squeezecenter.exe --debug network.asycndns [08-11-25 08:14:37.0781] Slim::Utils::PluginManager::enablePlugins (406) Couldn't load Slim::Plugin::MyRadio::Plugin. Error: Le plugin n'est pas compatible avec cette version de SqueezeCenter. Veuillez mettre Ó jour. [08-11-25 08:14:41.1363] Slim::Networking::SqueezeNetwork::_error (417) Unable to login to SN: malformed JSON string, neither array, object, number, string or atom, at character offset 0 ["<!DOCTYPE html PUBLI..."] at /<D:\Program Files\SqueezeCenter\server\squeezecenter.exe>Slim/Networking/SqueezeNetwork.pm line 394. [08-11-25 08:14:41.1395] Slim::Networking::SqueezeNetwork::_init_error (164) Unable to login to SqueezeNetwork, sync is disabled: malformed JSON string, neither array, object, number, string or atom, at character offset 0 ["<!DOCTYPE html PUBLI..."] at /<D:\Program Files\SqueezeCenter\server\squeezecenter.exe>Slim/Networking/SqueezeNetwork.pm line 394. [08-11-25 08:14:41.1410] Slim::Networking::SqueezeNetwork::_init_error (174) SqueezeNetwork sync init failed: malformed JSON string, neither array, object, number, string or atom, at character offset 0 ["<!DOCTYPE html PUBLI..."] at /<D:\Program Files\SqueezeCenter\server\squeezecenter.exe>Slim/Networking/SqueezeNetwork.pm line 394., will retry in 300 [08-11-25 08:14:41.2149] Slim::Utils::Firmware::downloadAsyncError (500) Warning: Firmware: Failed to download http://update.slimdevices.com/update/firmware/7.2.1/jive.version.sha (Validation of firmware H:\Documents and Settings\All Users\Application Data\SqueezeCenter\Cache\jive.version failed, SHA1 checksum did not match), will try again in 10 minutes. ==== I don't understand why SC complains about logging into SqueezeNetwork, the login and password fields are set up properly in SC's settings / SN page. May be it has to do with my french XP and localization problems ? Weird too is that the myradio plugin was installed along with SC. Also, I have been looking at wether my ISP "blocks opendns" or any such thing. In fact it is not the case, if I set my firewall/router's DNS entries to point to opendns's servers, then I can reach opendns's test page. But I won't do that, as there is no reason why I would switch from my ISP's DNS servers, which have never paused a problem.
Created attachment 4336 [details] "squeezecenter --debug network.asyncdns" startup log This is with my ISP's DNS servers, not with OpenDNS servers
Sorry for the log in comment 17, I mistyped the debug option. Yet it may hint as to what's wrong. I have attached a log with the correct --debug network.asyncdns startup option. I see there that some DNS requests fail, then SC tries to revert to OpenDNS, which will obviously fail as my firewall/router is using my ISP's DNS servers (and I want it that way). Does that help ? Regards, -- Stéphane
Thanks for the log. It looks like you have 7 (!) DNS servers configured? And some of them are not working right? This may be the source of the problem, I'll double-check the code does the right thing in this situation.
Hi Andy, No I don't have 7 DNS servers configured :) I only have my ISP's 2 servers and those come from my DSL interface through DHCP. Those are 212.217.40.240 and 212.217.40.241. Here's the output of ipconfig /all : === Configuration IP de Windows Nom de l'hôte . . . . . . . . . . : gandalf Suffixe DNS principal . . . . . . : Type de nœud . . . . . . . . . . : Diffusion Routage IP activé . . . . . . . . : Oui Proxy WINS activé . . . . . . . . : Oui Carte Ethernet Kerio VPN: Suffixe DNS propre à la connexion : Description . . . . . . . . . . . : Kerio VPN adapter Adresse physique . . . . . . . . .: 44-45-53-54-BE-F0 DHCP activé. . . . . . . . . . . : Non Adresse IP. . . . . . . . . . . . : 169.254.69.107 Masque de sous-réseau . . . . . . : 255.255.255.0 Passerelle par défaut . . . . . . : Serveurs DNS . . . . . . . . . . : 192.168.0.1 NetBIOS sur TCPIP. . . . . . . . : Désactivé Carte Ethernet 3C905C Freebox: Suffixe DNS propre à la connexion : Description . . . . . . . . . . . : Carte réseau 3Com EtherLink XL 10/100 PCI pour gestion intégrale de PC (3C905C-TX) #2 Adresse physique . . . . . . . . .: 00-04-76-D5-AB-88 DHCP activé. . . . . . . . . . . : Oui Configuration automatique activée . . . . : Oui Adresse IP. . . . . . . . . . . . : 82.231.126.230 Masque de sous-réseau . . . . . . : 255.255.255.0 Passerelle par défaut . . . . . . : 82.231.126.254 Serveur DHCP. . . . . . . . . . . : 82.231.126.254 Serveurs DNS . . . . . . . . . . : 212.27.40.241 212.27.40.240 Bail obtenu . . . . . . . . . . . : mardi 25 novembre 2008 18:15:52 Bail expirant . . . . . . . . . . : mardi 2 décembre 2008 18:15:52 Carte Ethernet 3C905C LAN: Suffixe DNS propre à la connexion : Description . . . . . . . . . . . : 3Com EtherLink 10/100 PCI For Complete PC Management NIC (3C905C-TX) Adresse physique . . . . . . . . .: 00-04-75-82-D9-6E DHCP activé. . . . . . . . . . . : Non Adresse IP. . . . . . . . . . . . : 192.168.0.1 Masque de sous-réseau . . . . . . : 255.255.255.0 Passerelle par défaut . . . . . . : === You can see 3 interfaces here : 1) "kerio Ethernet VPN" is a fake interface which is used by my Kerio Winroute firewall to connect to my office's Kerio firewall. It says it has a 192.168.0.1 DNS server, which in fact forwards the DNS queries to the Kerio firewall (which in turn sends them to my ISP's DNS servers on the 2nd interface) 2) "3C905 Freebox" : this is the Ethernet connection to my DSL modem, which is configured through DHCP. The DNS servers shown (212.217.40.240 and 212.217.40.241) are my ISP's DNS servers and they just work. 3) "3C905 LAN" : this is the Ethernet interface to my LAN, to which is connected (wired, no wifi) the Squeezebox receiver. The Controller talks to the receiver through ad hoc wifi. Both SQR and SQC get 192.168.0.XXX IP addresses from the Kerio firewall's integrated DHCP server (like all other machines on the LAN). Kerio tells them to use itself (192.168.0.1) as DNS server and default gateway, which works for everything. Bottom line : all 192.168.0.x machines send their DNS queries to my home server (192.168.0.1), where Kerio forwards those queries to my ISP's DNS servers. I only have 2 DNS servers. Regards, -- Stéphane
Somehow it's picking up 7 servers configured on your system though: Verifying if we can use nameserver 212.27.40.241... Checking additional DNS server 212.27.40.240 in the background... Checking additional DNS server 212.27.39.134 in the background... Checking additional DNS server 212.27.32.6 in the background... Checking additional DNS server 213.228.0.168 in the background... Checking additional DNS server 213.228.0.159 in the background... Checking additional DNS server 192.168.0.1 in the background...
Hi Andy, How does SC enumerate the available DNS servers ? (which API) I can see something really weird when resolving update.slimdevices.com : - from my ISP's DNS (using nslookup), this is 74.201.85.74 - in the log I sent I see that : Slim::Networking::Async::DNS::_dns_read (298) Resolved update.slimdevices.com to 213.228.63.58 Obviously this is wrong Side question : care to look into the other issues listed in my logs : - wont long into squeezenetwork - http://update.slimdevices.com/update/firmware/7.2.1/jive.version.sha (Validation of firmware H:\Documents and Settings\All Users\Application Data\SqueezeCenter\Cache\jive.version failed, SHA1 checksum did not match), will try again in 10 minutes. - myradio plugin wrong version regards, -- Stéphane, determined to go to the root of this problem which makes my Squeezebox experience a real PITA
SC uses Net::DNS, which does some tricky things on Windows to find all the servers. http://search.cpan.org/src/OLAF/Net-DNS-0.58/lib/Net/DNS/Resolver/Win32.pm If update.slimdevices.com resolves to 213.228.63.58 (which I think may be a server at your ISP) then it would explain why Jive downloads don't work for you and why SN doesn't work. Your ISP is altering DNS responses to redirect users to a webpage on their server. Since you have 7 DNS servers and it appears some are working and some are not, there may be a bug in our DNS code that it wrongly falls back to OpenDNS when one of your backup DNS servers fails. I'm going to look into that. Either way, as I've said before, your ISP should allow OpenDNS queries but is not for some reason. The My Radio plugin doesn't work with 7.3 and can be deleted/disabled.
Hi, Thanks for the help, I will look further why I get those 7 servers. Regards, -- Stéphane
Actually, I think this may already be fixed. See bug 9601. Please upgrade to a 7.3 nightly and try that.
Hi Andy, Okay I've given more look into my configuration, and I think I got to the root of the problem. Your DNS enumeration routine gathers DNS entries from desactivated network connections. This is what is wrong and has to be fixed. If you look again into the "squeezecenter --debug network.asyncdns" startup log" attachment, you will see indeed 7 DNS found : - the 2 valid DNS serers from my ISP (212.27.40.241 and 212.27.40.240) - 3 servers which come from VERY OLD network connection which are desactivated ! (212.27.32.6, 213.228.0.168 and 213.228.0.159). Those servers were deprecated long ago at my ISP, and reply to DNS queries with old addresses. - 1 server which is "fake", the one attached to my kerio VPN connection. It points to my firewall which will forward queries to the valid ISP servers (192.168.0.1) Now on the OpenDNS matter : if you look at the log, you will see that the queries sent to OpenDNS are perfectly going through my firewall, and are perfectly replied to by OpenDNS servers ! In fact there is no problem at all with OpenDNS. The problem is that the 3 deprecated servers which should not be there (because they are configured in desactivated network connections), are included in the pool of the valid servers, and sometimes they reply FASTER than the active servers BUT WITH A WRONG ADDRESS to DNS queries. This shows in the log, as the update.slimdevices.com and squeezenetwork.com queries are replied to by the deprecated servers and the firework starts. This explains all the issues I have, including the randomness of the "after some time all non local content becomes unavailable". It also tells us that reverting to OpenDNS when we get no answer from DNS sevrers is not a solution, since... we actually sometimes GET an answer, just a wrong one. This links well with the problem described in bug 9601, and the only fix that makes sense is to enumerate DNS servers ONLY from active network connections, and exclude those from desactivated connections. You could aswell leave the "revert to OpenDNS" feature, as contrary to what we believed thus far, it works here. Regards, -- Stéphane
OK, so the fix for bug 9601 will work for you, if you upgrade to 7.3 your problems will likely go away.
Hello Andy, I am really having a hard time making me understood as soon as we go into details, must be me not being native English speaker... The point of my last post was to say that no, the fix for bug 9601 will not do, because what fails is not reverting to OpenDNS (which actually WORKS on my setup as the log shows). What fails is that your software retrieves DNS servers from deactivated/deleted network connections, and sometimes those servers may be deprecated and answer with broken IP addresses when resolving update.slimdevices.com or squeezenetwork.com or the other names you depend on, with those broken answers arriving BEFORE the legit ones. This breaks all the sand castle. I know why your software retrieves DNS servers from deactivated network connections now that I have looked at your http://search.cpan.org/src/OLAF/Net-DNS-0.58/lib/Net/DNS/Resolver/Win32.pm : it just grabs all DNS server addresses it finds in the registry entries for the network connections, ignoring whether those connections are active or not, bound or not etc. This can not work, because Windows does not wipe these registry entries when you deactivate or even delete a network connection. I have done further tests in the meantime : I went to my registry and removed those stray connections from old times... and guess what, everything nicely fell back in place, with SN and updates and everything working just fine. Really, this must be fixed, since it can happen to anyone having deactivated or deleted a network connection, for which a (wrong/deprecated/outdated) DNS server would reply with bad IP's BEFORE the legit ones do. This is how we end up with wrong IP's for update.slimdevices.com or squeezenetwork.com. Now that I have this insight, I would strongly advise on getting rid of all that DNS mess in your code, and leave it to the operating system's gethostbyname() synchronous call to resolve names to IP's, without fiddling with registry or opendns etc. It is not up to an application to deal with DNS configuration, it is the operating system's network preferences which should be the only place to deal with that kind of things. Regards, -- Stéphane
OK, I see what you mean. In your case you can simply remove the bad DNS addresses and/or old interfaces. If a DNS server responds at all we assume it's working fine. I'll see if there's a way to ignore deactivated network connections, though. Using gethostbyname is absolutely out of the question; blocking the server is not acceptable.
Hi Andy, I'm glad we are now on the same line. Indeed, you need to find a way to retrieve only the servers from active connections otherwise you may end up with servers that will reply before the legit ones, with broken replies, and that kills the whole thing as it has been the case for me for litterally months of stressing SB experience, where I was more than once told that "my ISP sucks" or that kind of things. There is no userland way of deleting those stray DNS entries that I manually deleted in the registry (you won't ask Joe user to go delete things in the registry before installing SC), as Windows itself will not delete them even when you delete a desactivated connection. So if you don't want to gethostbyname, then you have to find a way to programmatically ignore those stray entries. Regards -- Stéphane
I bet 99% of the time you have an old DNS server it will either return valid replies or not reply at all. Both of those cases will be fine. The fact that your ISP runs DNS servers that return bogus replies still makes my "your ISP sucks" comment a valid one. :)
Hi Andy, I accept that you can consider that my ISP sucks, because I consider that anyone is entitled to a legitimate opinion on anything, even if opposite to mine. I'm sure that you do realize that the broken DNS servers could be outside of my ISP... for instance caching/proxying shit that you find in hotel chains, or airport access points etc. I will on my side consider that your software sucks, and will do so until this issue finds a proper fix in SC not sending queries to DNS servers belonging to non active network connections. Note that this problem may explain several of the hard to diagnose, non reproduceable, irritating network-relateed issues scattered on the slimdevice forum. Regards, -- Stéphane
Hello Andy, I have given even more look into this "my ISP's deprecated DNS gives wrong IP's". In fact it is not exactly what happens. If you look at the log, you will see that when the deprecated servers anwer, which is the case here : [08-11-25 08:33:19.2336] Slim::Networking::Async::DNS::_dns_read (298) Resolved update.slimdevices.com to 213.228.63.58 (ttl 604800), request took 86 ms They always give the same IP, whatever hostname they are asked to resolve : 213.228.63.58. Now if you point your brwoser to that IP ( http://213.228.63.58 ), you are presented with a page from my ISP, which tells you ... that you are using their deprecated DNS servers, and that you hve to update to their current ones. So, when they deprecated their servers (which happened only once over the last 10 years), they SMARTLY (and not SUCKingly) configured the old servers so that they tell the people using the old config, how to update, rather than just turning the old servers off, which would have left the users using them, with a nonworking Internet connection with no hint as to what is wong. This is smart. Added to this, and contrary to what was believed all across that thread, they don't block OpenDNS at all, which can also be seen from the log : 08-11-25 08:33:13.8357] Slim::Networking::Async::DNS::init (116) Found an OpenDNS default nxdomain IP: 208.69.34.132 (same line shows for OpenDNS's 2nd server just a few lines down the log). Finally, I wouldn't consider this ISP (free.fr) to suck when I have had exaclty zero downtime nor complaint over more than 10 years with them giving me : - unlimited 32 Mbit/s DSL (I download at a solid 3 MByte/s all the time), or unlimited 100 Mbit/s ATM optic fiber, your choice - router & 54/108 Wifi access point - unlimited 300 channels of MPEG2 and HD TV, which I can use from as many computers and TV sets in my house as I want, limited only by the DSL bandwidth above, and at 3 to 5 MBit/s per displayed channel, this almost gives me 10 TV sets watching different things at the same time (they give you as many HD media centers as you ask) - unlimited free telephone to almost all countries in the world (including yours) - unlimited web & FTP hosting - 24/7 free online and phone assistance (never used that) All that and more, for an unchanged over >10 years, flat, no entry fee, no quit fee, 29 Euro/month fee. I'm not lying, all that is contractually stated here : http://www.free.fr/adsl/ and they have >3 million users (including me). Just curious: - How much do you pay for your ISP subscription ? - What do you get for that money ? - What are the entry fees ? - Is the service rock solid reliable ? - Is the hardware (DSL/fiber modem, HD media centers, Wifi AP etc) included ? - When they introduce new technology (IPTV, IP phone, fiber etc), is it made available for free for existing customers ? Last time I looked (I happen to be the CEO of my company's american subsidiary, http://inbench.com/), and even tho we are in NY which is not exactly a remote place, we pay hundreds of dollars a month for an unreliable, Internet only (no TV, no IP phone, no IP/GSM), low speed (when we get 10 mbit/s we are extremely happy), bad serviced (you are mostly answered by clueless people) DSL connection. Bottom line, I'd really think twice what sucks/not :) Regards, -- Stéphane
Hi Andy, In all fairness, I have to say that since this problem was fixed (by a workaround on my side, still needs a fix in your code), I am absolutely thrilled and delighted with my Duet. The simple fact that "it just works" as it should, is a total enchantment for me, I bought the Duet to do exactly what it's made for (browsing my cd collection from an ipod-like friendly remote, while keeping playback a high quality thing) and just love it for that. Regards, -- Stéphane
(In reply to comment #35) > > In all fairness, I have to say that since this problem was fixed (by a > workaround on my side, still needs a fix in your code), I am absolutely > thrilled and delighted with my Duet. > Stéphane What workaround did you perform on your side?
Hi, I had to manually delete all DNS server entries from non-active network connections in my XP registry, because your http://search.cpan.org/src/OLAF/Net-DNS-0.58/lib/Net/DNS/Resolver/Win32.pm grabs DNS server entries from the registry-defined network connections regardless of whether they are active or not, and if those DNS server entries point to servers which reply before the legit/valid ones, with broken answers (a DNS redirect http page in my case, read my earlier posts on the matter), then your software does not work. Everything is described in full detail in earlier posts, I would recommend #29 & 34. Regards, -- Stéphane
Hello James, Andy, I see you advertise SC7.3. Has this issue been fixed in 7.3 ? (ie not enumerating non-active internet connection's DNS entries) Regards, -- Stéphane