Closed
Bug 659322
Opened 14 years ago
Closed 13 years ago
Firefox freezes momentarily when resolving DNS
Categories
(Core :: Networking, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 769764
People
(Reporter: b827581, Unassigned)
References
()
Details
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Build Identifier: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Here at work we use a DNS script to redirect traffic based on destination IP to either a web proxy or to an internal destination. In certain instances when resolving IP addresses, all instances of Firefox will freeze until the domain name has been resolved. This has been a recurring problem with Firefox since at least FF3, and perhaps even earlier; it's only been now that I've been annoyed enough to fix this bug. Below is our DNS script, though sanitized to remove sensitive information. The X'ed out IP addresses are internal subnet ranges, and the triple XXX.XXX.XXX at the bottom are our three web proxy servers.
// JavaScript for web proxy auto discovery (WPAD)
// $Date: 2010/07/26 21:23:10 $ $Revision: 1.5 $
// Proxying follows routing and firewall rules
function FindProxyForURL(url, host) {
if ( !isResolvable(host) ) return "DIRECT";
var ip = dnsResolve(host);
// LANL networks
if (isInNet(ip, "XXX.XXX.0.0", "255.255.0.0")) return "DIRECT";
if (isInNet(ip, "XXX.XXX.0.0", "255.255.0.0")) return "DIRECT";
if (isInNet(ip, "XXX.XXX.0.0", "255.255.0.0")) return "DIRECT";
if (isInNet(ip, "XXX.XXX.0.0", "255.255.0.0")) return "DIRECT";
if (isInNet(ip, "XXX.XXX.XXX.0", "255.255.255.0")) return "DIRECT";
// Private (not routed to the Internet) networks
if (isInNet(ip, "172.16.0.0", "255.240.0.0")) return "DIRECT";
if (isInNet(ip, "192.168.0.0", "255.255.0.0")) return "DIRECT";
if (isInNet(ip, "127.0.0.0", "255.0.0.0")) return "DIRECT";
if (isPlainHostName(host)) return "DIRECT";
// Do not proxy ftp urls: non-anonymous ftp has issues
if (url.substring(0, 4) == "ftp:") return "DIRECT";
// Off-site requests are proxied
return "PROXY XXX.XXX.XXX:8080; PROXY XXX.XXX.XXX:8080; PROXY XXX.XXX.XXX:8080";
The problem is not with this script, since other web browsers do not have this behavior; I am providing it only in case it is needed to reproduce the problem.
Reproducible: Sometimes
Steps to Reproduce:
1. Open Firefox
2. Browse to any webpage (this happens fairly rarely, but almost always happens at NewEgg.com)
3. Watch as ALL of your Firefox browser windows freeze until this one page manages to resolve the address to some random image or other page element.
Actual Results:
All of the Firefox browser windows freeze since the master process appears to be busy trying to resolve a name.
Expected Results:
All page elements should be loaded and resolved asynchronously without impacting other aspects of the page, and certainly not other open browser windows or tabs. I suspect the DNS resolver in Firefox is designed for normal environments where DNS resolution happens quickly, and in certain instances where this is not the case, it hangs.
This problem may not actually be DNS resolution, but it appears to be. When a page is loading elements, it freezes in this fashion. As these pages do not exhibit this behavior on the exact same browser, but in a different environment, I'm inclined to believe that the big difference in this situation is the DNS resolving. It could also potentially be the web proxy used here, but this seems unlikely to me as the web proxy only delivers content it has already downloaded, and should not cause strange behavior on the client end.
![]() |
||
Updated•14 years ago
|
Component: General → Networking
Product: Firefox → Core
QA Contact: general → networking
Version: unspecified → 2.0 Branch
![]() |
||
Comment 1•14 years ago
|
||
Sounds like a duplicate of PAC running on the UI thread...
Whiteboard: DUPEME
Status: UNCONFIRMED → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•