1

Suddenly after updating Chrome (from v36 => v41 I think) I started having persistent DNS resolution errors in Chrome. Eventually after using Chrome for an indeterminate amount of time, when I try to visit an HTTP(S) URL Chrome will Display:

(In viewport:)

This webpage is not available

ERR_NAME_NOT_RESOLVED

(In console:)

net::ERR_NAME_NOT_RESOLVED

(In chrome://net-internals/#dns:)

error: -105 (ERR_NAME_NOT_RESOLVED)

The requests show up in Developer tools > Network as status: (failed).

Sometimes after displaying the error, sometime later it automatically "refreshes" and actually loads the page. Me refreshing the page multiple times sometimes gets it to load, but eventually becomes useless. At least sometimes it'll work fine for a while after being restarted, before eventually becoming unusable due to the errors. However, even after the problem has started it's intermittent: some requests still work after others haven't, with no apparent rhyme or reason. Onset of the error is perhaps linked to the number of windows / tabs that are open or the length of time Chrome has been running.

I suspect that Chrome may be exhausting some internal resource of which it's allocated an abritrarily low amount.

Premise

  • Chrome 41-45 Win 7 x64 ("installed" via PortableApps, in case it matters).
  • Prefetch resources to load pages more quickly / Predict network actions to improve page load performance was & is disabled
  • Windows' DNS Client service (Dnscache) is stopped & disabled.
  • There's no persistent antivirus running.
  • Windows Firewall is running and has always been configured to allow Chrome access.
  • When the problem happens in Chrome, other applications such as Firefox work with no problem. (I'm posting this with Firefox right now because Chrome refuses to load the site.)
  • There's no proxy running (normally, see below).
  • On chrome://net-internals/#dns, under Async DNS Configuration, there's Internal DNS client enabled: false. Clicking Host resolver cache Clear host cache doesn't help.
  • None of the following had any effect:
    • Running in incognito mode with no extensions enabled.
    • Disabling hardware acceleration
    • Clearing cookies.
    • Creating and running under a new profile with no extensions except the defaults.
    • Resetting Chrome's settings.
    • Uninstalling and reinstalling (such as it is via PortableApps).

Proxy (Fiddler2)

This point is so special that I want to single it out: Running Fiddler2 (HTTP debugging proxy) and proxying Chrome through it eliminates the problem while Fiddler2 is running.

Questions

  1. What could cause this problem?
  2. What can be done about it?
  3. What could explain the problem going away when proxying Chrome through Fiddler2?
JMM
  • 41
  • 1
  • 6
  • Where is Fiddler running? Have you tried (wireshark) tracing the DNS requests sent by Chrome? – qasdfdsaq Oct 26 '15 at 14:25
  • @qasdfdsaq Where? Locally, in the same Windows 7 instance. Is that what you mean? I haven't tried wireshark. I originally ran Fiddler2 in relation to this problem to see if it would provide any information that could help me debug the problem (though I figured it probably wouldn't, since it's an HTTP proxy -- I don't think it touches DNS). I was very surprised to find that running it *cures* the problem (while it's running), which I'm sure reveals something important, but that I don't understand. If the "answer" doesn't emerge here, I suppose I'll try wireshark (or equivalent) next. – JMM Oct 26 '15 at 14:35
  • When using a proxy the browser doesn't send DNS requests itself, it sends the request to the proxy and the proxy does the DNS resolution (usually). I suspect Chrome is sending them in a certain way that's confusing your DNS server – qasdfdsaq Oct 26 '15 at 14:52
  • @qasdfdsaq Hmm, well as noted Chrome works fine for a while, then at some point decides it's not going to resolve DNS queries anymore. – JMM Oct 26 '15 at 15:12
  • Try to change your DNS servers to google : In the network adapter's Properties set the preferred and alternate DNS servers to 8.8.8.8 and 8.8.4.4 and reboot. Have you tried to power-cycle your router? – harrymc Oct 26 '15 at 18:28
  • @harrymc There's nothing wrong with the router or DNS resolution in general. Other applications, like Firefox, work fine when Chrome is acting up, and even Chrome resumes working if I proxy it through Fiddler2. – JMM Oct 26 '15 at 19:04
  • These are only tests that might indicate a direction if you detect any change of behavior. When you proxy thru Fiddler, it's Fiddler that does the DNS on behalf of Chrome. The DNS server change is to see if Chrome has a problem with your ISP servers, or if it's keeping a memory cache that gets corrupted. Another useful test is to install the regular version of Chrome, not the PortableApps one, this to see if the PortableApps version is wrongly packaged. – harrymc Oct 27 '15 at 06:56
  • @harrymc Power cycling the modem and router did nothing. Changing the DNS servers and rebooting (and waiting for the problem to recur and having my DNS resolution f'd up in the meantime) isn't feasible. I changed to those DNS servers without rebooting and it did nothing. "When you proxy thru Fiddler, it's Fiddler that does the DNS on behalf of Chrome." -- what does that mean, and do you have a reference? Fiddler is an HTTP proxy, I don't know that it does anything whatsoever with DNS. It has a hosts remapping feature that I'm guessing just alters the `Host` header in outgoing HTTP requests. – JMM Oct 29 '15 at 02:08
  • I think you have done enough to show that the problem is with your Chrome version. This looked likely all along, but had to be verified. Does Chrome have any plugins and if so can you try [disabling extensions](http://superuser.com/a/822449/8672)? Have you tried the non-PortableApps version and why not use the latest version 46? Are there installed any products that can interfere with Chrome (normally security suits)? – harrymc Oct 29 '15 at 07:12
  • @harrymc I've already tried disabling extensions 2 different ways (incognito and new profile) to no avail. Trying the non-portable apps version would be a PITA -- it could take a while to manifest, while my browsing activity is diverted from my "real" browser. The last time I updated Chrome -- this month -- v45 was the latest. Since v41 I've only updated to try to get rid of this problem. I don't believe any installed product is interfering with Chrome (although as noted Fiddler *fixes* it when Chrome decides to stop resolving DNS queries). And Chrome works for an indeterminate amount of time. – JMM Oct 29 '15 at 13:18
  • I have no better ideas than the ones expressed above, and still think that changing the Chrome distribution may be the answer. Perhaps rebooting the computer may help, although you are reluctant to do so. Otherwise, the only option I see is returning to the last Chrome version that worked, although this also is PITA. The last resort is just living with the problem as-is until some future version of Chrome fixes this (if ever). The problem seems local to your environment, but it seems you are limited in the tests you can do to localize it. – harrymc Oct 29 '15 at 14:12
  • How do you have your LAN settings set up? In Windows `Internet Options` -> `Connections` tab -> `LAN settings`. Could you take a screenshot of this? – Leathe Oct 30 '15 at 19:47
  • @Leathe There's nothing in there, except "Use a proxy server" (127.0.0.1:8888) when Fiddler is running to work around the problem. – JMM Oct 30 '15 at 21:18
  • Related [post](http://www.pcappspot.com/fix-err-name-not-resolved/) – Manubhargav Nov 02 '15 at 02:06
  • kindly do the following and add up to the question re-enable the firewall connect to the router/modem per usual get a command prompt (start->run->cmd) and enter ipconfig /all >myTCP.txt now copy the entire contents of myTCP.txt – BlueBerry - Vignesh4303 Nov 02 '15 at 04:17

2 Answers2

0

The answer can be briefed as follows :

How does fiddler work in chrome :

enter image description here

If you notice the proxy setting while using fiddler ,it would be set as <loopback>

Now getting back to the problem :

Your settings would depend upon the internal browser settings,mostly it would depend upon the ie or firefox

1) flush and renew your DNS, you can do this with msprompt:

net stop dnscache
net start dnscache
ipconfig /flushdns
ipconfig /renew
ipconfig /registerdns

Now as you have mentioned that Windows DNS Client service (Dnscache) is stopped & disabled,Inorder to mitgate this try to start the DNS service as mentioned over here

Alternatively you could try to Repair/Reset Winsock settings using this command:

netsh winsock reset catalog

the above command will reset the catalog and you’ll need to restart your computer.you can check/see the data saved in DNS Cache through following command :

ipconfig /displaydns

Another solution might be ensure you have checked "Use the following DNS server addresses" and you could use the following dns

Preferred:  8 . 8 . 4 . 4
Alternate:   8 . 8 . 8 . 8
Check  "OK"

Ensure you doesnt use ipv6 if you use IPV6 address ,make sure that DNS is set back to automatic and IPv6 has been disabled.

Also you didnt mentioned about whether your ie or firefox working fine ,the last solution would be resetting chrome to defaults and import settings from default browser[ie/firefox]

if all the above solutions doesnt work ,do the following and edit the question : Re-enable the windows firewall connect to the router/modem per usual get a command prompt (start->run->cmd) and enter ipconfig /all >test.txt now copy the entire contents of test.txt

BlueBerry - Vignesh4303
  • 8,129
  • 22
  • 68
  • 99
  • I'm sorry, but that makes no sense: why would I re-enable the Windows DNS cache just to then clear it? Setting my DNS servers to Google's is not an option. I did mention that Firefox and other HTTP applications work with no problem after Chrome stops working. – JMM Nov 04 '15 at 16:50
-1

Try to flush and renew your DNS, you can do this with msprompt:

ipconfig /flushdns
ipconfig /renew
ipconfig /registerdns

Other methods I'm seeing are adding DNS addresses manually and restarting your modem for 5 minutes.