Closed Bug 461664 Opened 16 years ago Closed 12 years ago

FTP pages can fail to load due to timeouts when restoring hundreds of tabs

Categories

(Firefox :: Session Restore, defect)

3.0 Branch
x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: robert.bradbury, Unassigned)

References

()

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3pre) Gecko/2008091617 Firefox/3.0.3pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3pre) Gecko/2008091617 Firefox/3.0.3pre

A restart of a complex firefox session (dozens of windows, hundreds of tabs) will not properly reload ftp URLs.

This appears to be due to timeouts in responding to the FTP server (which will tend to be slow during a complex session restore).

Reproducible: Always

Steps to Reproduce:
1. Start a complex firefox session (dozens of windows; hundreds of tabs).
2. Visit some "standard" ftp sites; e.g. ftp://ftp.ncbi.nih.gov/ and ftp://ftp.broad.mit.edu/
3. Crash firefox and attempt a normal "restore".

The ftp sessions hang, apparently with an error:
421 Login Timeout (60 seconds): closing control connection
which springs a Firefox popup window which may (or may not) hang further page reloads.

The FTP URL restore process should recognize that it undergoing a "restore" operation and retry the URLs if an error 421 is received.
Actual Results:  
Pages fail to load and popup windows are generated.

Expected Results:  
One should always be able to reload "common" server FTP pages (assuming ones internet link is functional).
This is a complex session which contains sub-elements which require FTP: restores.  The restores of the FTP: sessions commonly fails and generates popup windows indicating the error 421.  A better solution should delay the restoration of ftp: sites until the end of the session restore process (when there is more CPU and/or network bandwidth available).
Depends on: 402768
Summary: Firefox restart fails to reload FTP pages → FTP pages can fail to load due to timeouts when restoring hundreds of tabs
Component: Session Restore → Networking: FTP
Product: Firefox → Core
QA Contact: session.restore → networking.ftp
Version: unspecified → 1.9.0 Branch
Might be a DNS or router overload issue more than anything else.
Component: Networking: FTP → Session Restore
Product: Core → Firefox
QA Contact: networking.ftp → session.restore
Version: 1.9.0 Branch → 3.0 Branch
Wayne, I don't think so.  I think I've looked at the DNS code and on Linux it seems to be limited to a max of 8 DNS queries at the same time (I think this may be to avoid the issue you are mentioning as a really dicey commercial page could easily start up 1-2 dozen DNS queries and a browser restart could start up hundreds (more than one DNS query per tab).  As I think the DNS queries are handled by separate threads this could get very messy.  [Please note that I am not an authoritative source on this topic.]

The problem with restarts is that some pages request "confirmation" (e.g. for passwords, going to/from https sites, etc.).  The problem with FTP sites seems to be that some (such as the large genome database servers, some major software distribution sites, Xorg, etc.) have very short "timeouts" on the ftp connections (5 minutes of inactivity I think).  And if the browser is busy handling incoming HTML data and talking to X to draw windows, the FTP sockets may get left out in the rain and timeout.  Web servers (e.g. Apache) commonly allow very long timeouts (because the client could be a very busy 8086 or ARM processor).  Web servers are also designed to handle very large volumes of traffic with a very large number of open channels.  FTP servers on the other hand have had long policy of disconnecting users after a period of inactivity.  If the browsers haven't been designed to handle "Disconnect" messages and do a reconnection to the server then mysterious behavior may result.  This may be similar to attempting to reload a web page which no longer exists or whose status has changed (e.g. NY Times pages that go from public access to pay-per-view access after a couple of weeks) where special responses are required.  Both Google and Slashdot have mechanisms that detect slow response from the client web interfaces and ask questions about stopping Javascripts.  During a reload (with Javascript enabled) one wants to bring these requests to the top of the many loading-in-process windows so responses can be given.

Browser restarts may work fine with simple HTML windows but with windows that are common now-a-days or window mixtures for scientific researchers they leave a lot to be desired.  In case you haven't seen it yet you may want to look at Bug #498179 and Bug #394492 as well.
(In reply to comment #1)
> Created attachment 344771 [details]
> Saved session which requires FTP restores

I was unable to reproduce this with FF5 on windows 7.
Does it reproduce for you using newer Firefox?
Whiteboard: [closeme 2011-07-11]
Closed per Whiteboard
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
Whiteboard: [closeme 2011-07-11]
Resolution: WORKSFORME → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: