Closed Bug 21723 Opened 25 years ago Closed 25 years ago

[DOGFOOD] FTP OnDataAvailable starving UI thread

Categories

(Core :: Networking, defect, P1)

All
Other
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: dveditz, Assigned: jud)

References

()

Details

(Whiteboard: [PDT+]Valeski/Dougt may have fix already (12/14))

Downloading XPI files over FTP starves the UI thread, or else doesn't download.
The current code calls the stream Read() until there is no more, which loops
and rarely gets out to give the rest of the UI thread time. If I limit my read
to the amount the OnDataAvailable() call says is available then I never get
called again with more data and thus don't get my file downloaded.

The code is in mozilla/xpinstall/src/nsXPInstallManagager.cpp

To trigger it download any reasonably large XPI file. One easy way is to go to
the URL above (NSCP only, unfortunately) and select one of the files for
download. I recommend "FullCircle" or "Spell Checker" so you don't overwrite
the mozilla you are debugging.
Severity: normal → blocker
Priority: P3 → P1
Summary: FTP OnDataAvailable starving UI thread → DOGFOOD - FTP OnDataAvailable starving UI thread
Target Milestone: M12
marking the bug as dogfood.  need PDT+ status quickly.
Summary: DOGFOOD - FTP OnDataAvailable starving UI thread → [DOGFOOD] FTP OnDataAvailable starving UI thread
Whiteboard: Valeski/Dougt may have fix already (12/14)
For a product-sized download over a modem, this means the product "hangs" for
the length of the download. 30 minutes on a modem? 10 minutes for PSM? Users
will just kill mozilla thinking it's dead.
Whiteboard: Valeski/Dougt may have fix already (12/14) → [PDT+]Valeski/Dougt may have fix already (12/14)
Putting on PDT+ radar.
Status: NEW → ASSIGNED
I'll be getting my changes code reviewed in the next 6 hours.
My code review ETA is probably off. might be until tomorrow AM until this is in.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
fix checked in 12/14/99 7:40 pac time.

Verification test would be to test FTP dir listings and downloads on win, linux,
and mac.
Jud, trying to use ftp view (specificly when clicking on the 'twisties') causes
all platforms to die.  Is this an problem unrelated to your fix?

Also, when using the url described above, here's what happens:
1) Click on the 'Launch XPInstall' button
2) Dialog indicating which component(s) will be installed appears. Click 'Ok;
button.
3) 'Downloading' dialog appears.  When dialog is finished, 'XPInstall Results'
appears in a new browser window with the text "FullCircle Successful".
4) Both the trobber and progress thermometer (candycane, barberpole, whatever)
are still active.

This happens for:
	- Linux6 1999121411 mozilla
	- MacOS86 1999121408 commercial
	- Win98 1999121408 mozilla

Adding self to cc list.
The twisty problem is a known issue (I think hyatt's working on it, cc'ing him).
One way to confirm that it is not FTP is to try a file url (say file:///c). If
you see the same behavior, it's a tree widget problem. Let me know.
The barber pole is still active in today's build as well
tested on Windows 1999121508 - but the download of the xpi files went thru fine.
Status: RESOLVED → VERIFIED
verified 1999122208
You need to log in before you can comment on or make changes to this bug.