I've been having this issue for quite some time, where websites viewed through webkit-based browsers inconsistently load images. By inconsistent, I mean that on one trial run, an image, or several images will load successfully, only to have others that will not. On another trial run of that very same website, the images that didn't load previously will suddenly load --only to have the ones that previously did load, suddenly not load. This behavior is so non-linear that I am having extreme difficulties finding out the source of the issue. I notice that this problem is replicable with browsers such as
vimperator. I believe the common factor amongst all of these browsers is that they use
webkit. Repeatedly reloading the webpage will sometimes produce a result where all resources are loaded correctly.
Here is a screenshot of described behavior (from the webkit-based
As you can see these are two failed images, that illustrate common behavior here. I cannot replicate this issue with browsers such as firefox or chrome (which I believe use
blink respectively). If I right-click on the image/element and open it in a new window, I am able to view the image with no problems. I am running Arch Linux kernel 3.12.9-1-ck. Any help/insight as to what might be happening would be much appreciated. Thank you.
UPDATE: Every broken image, when inspected as an element by debugging console in luakit outputs something of this general form:
GET [web address here] Cannot resolve hostname [domain here]
UPDATE 2: I tried installing
luakit on a virtualbox installation of
kali-linux that I have on my system (debian-based) via
apt-get install luakit, and interesting result ... No symptoms of unresolved hostnames/broken images/failed resources. Browsing is also comparatively faster in this virtual environment.
Following the suggestion proposed by @harrymc (using Google public DNS) has completely destroyed all symptoms of poor page loading. According to @harrymc, it is due to faulty/slow DNS, and/or poor DNS caching strategies. More specifically, what caused this problem was a poor DNS, and what appears to be a rather hasty time-out protocol built into the
webkit engine. These two factors are a recipe for disaster.
A More Open-Ended Thought-Arc:
One other conclusion is the inefficiency of Webkit browsers in that they issue multiple DNS queries for the same website, rather than remembering the first query. Another conclusion is that the ISP's DNS server apparently sometimes cannot handle multiple parallel requests (since the browser probably handles multiple images in parallel via threads), perhaps because they now have more clients but not enough DNS servers. --harrymc