Closed Bug 82478 Opened 23 years ago Closed 23 years ago

FTP: download silently fails if final destination is full

Categories

(Core Graveyard :: File Handling, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 65770
mozilla1.0

People

(Reporter: tom, Assigned: law)

References

Details

Hi,

Using Redhat 6.2 RPM of Mozilla 0.9, build id: 2001050717 which I downloaded and
installed from mozilla.org.

This bug happens when downloading a large file with FTP. There are what I would
consider three related parts to the bug.

a) If /tmp fills up during the download, the download continues without error or
warning and a corrupted file will finally be saved in your choosen download
directory (again without warning).

b) If I select to download into /home/user which has enough space, there should
be no need to rely on /tmp having enough space also and the file should be
downloaded directly to that location.

c) A size check should be done before doing the download to ensure that it will
fit on the disk as a precaution for the user. Granted depending on how otherwise
busy the machine is Mozilla should still be able to detect a full disk.

Thanks,

Tom.
The bug is clearly related to bug 57902, bug 49868 & bug 32443. However, I do
not think it's a dup of any of them (they are mostly mail&news download
problems). There should be a meta bug on low disk space problems (already
acknowledged in the release notes).
Confirming on WinME. Actually then the opposite is true (the partition with the
TEMP directory can accomodate the file but the target partition does noot have
enough free space) FTP also fails without a warning. The actual result: the file
remains in the TEMP directory, no file appears in the target directory, no
warning whatsoever.
Status: UNCONFIRMED → NEW
Ever confirmed: true
probably a dup.
Assignee: dougt → law
*** Bug 95969 has been marked as a duplicate of this bug. ***
Keywords: mozilla1.0
Depends on: 100687
qa to me.
changed summary to reflect second problem

Thomas: I'm hijacking your bug and turning it into the second of the two 
problems discussed here. The problem you originally described is now tracked in 
the dupe (which I've re-opened).

re: usage of tmp at all, this is a somewhat hottly debated feature/behavior, esp 
since it is not Xplat friendly in all uses. I wish I could resolve that point 
for you easily, but I cannot.
QA Contact: tever → benc
Summary: No error on disk full when downloading a large ftp file. → FTP: download silently fails if final destination is full
Just a suggestion, but if the user selects to save the file as
/home/tom/verybigfile.dat why not start saving it under /home/tom as
verybigfile.dat or a temporary name like .moz_verybigfile.dat. In the second
case it could then just move the file to the new name if it worked (which would
be very fast and the expected behaviour?), whereas now it would download into
/tmp (probably a different partition) and the file move would involve copying
all the data from /tmp to /home/tom which would mean a busy disk if the file is
big. Downloading into /tmp particularly when a user suggested a place to store
the file in the first place just seems a bit wrong to me. This would also be
platform independant, no?
This is really 3 bugs.  There are already bugs for the first 2 (although the
fact that 27609 is a dup may not be obvious).

a: bug 27609

b. bug 55690 

c. has come up before but I can't find a bug on that right now.  I suggest
changing this bug to an RFE for that specific issue.  But it's not my bug so I
don't want to do that unilaterally. 
Target Milestone: --- → mozilla1.0
Thomas: things in this area are pretty complicated... I wish I could point you
to one place to get all the info...
I think bug 55690 is the right place for the suggestion to go.

BTW, my comment was really a request for the reporter to examine the other bugs,
convince themselves that problems a. and b. were covered elsewhere, and to
modify this bug to be a request for the feature c.

Note that until 55690 settles out, it might be a little difficult to implement
that feature.  As it stands now, we'd have to check 2 destinations for
sufficient space and I don't want to try to figure out what kind of alert to
show if it fails one but not the other.
Bill and Benjiman: I agree that parts a) and b) are a dup of 55690. I see that
it has been hotly debated :) As for part c) after reading through the full 55690
bug, I think I'd rewrite it as the following. I'm not sure how you guys want to
handle this, Ie if you want to me write up a new bug and mark this one as a dup
or something, but here is what I would replace c) with.

1. User selects to download file somefile.iso in /home/tom.

1a. If file somefile.iso already exists, offer to replace/resume or cancel.
Replace would restart the file at location 0 and resume would do a fileseek to
the end of the locally stored file and request bytes after that from the server.
(This is supported by most modern ftp servers and http servers???).

1b. If resume fails because the server can't implement it, then tell the user
that the the server doesn't support it and offer to Replace or Cancel the download.

2. Moz makes a quick check on the diskspace it thinks is available in /home/tom
and if Moz thinks the download will run out of space, it should pop up a dialog.

2a. The dialog should warn the user what is happening and offer to a) Continue
the dowload to original location regardless, b) select another location (go back
to 1) or c) cancel downloading.

3. The download should continue to location selected by user. If read()/write()
fails at any point (ie connection broken/disk/quota full etc), the user should
be told that an incomplete download is available at location
/home/tom/somefile.iso and a summary of what happened. It should also tell the
user that they can resume the download later, by downloading the file again.
From point 1 where they would get to point 1a.

I think this is what most people would want, and it is also a good reason not to
download to a location before a user has selected the location unless it is a
user default download directory as a preference (not a user default temporary
directory). It is also a good reason to download to the correct final filename
rather than using a temporary one.
Bill: 

Are you the only person that uses temp files? If not, there might be a need to
standardize access for temp space among all consumers (mail, NIM, etc). Since
different OS's handle temp space differently, a standard approach might be
useful. (Then you wouldn't have to worry about doing the alerts, it would be
part of that service).

Thomas: good points. We'll have to try to get all the design issues together
after this release.
personally i'd prefer to get only one dialog in the case the server doesn't 
support resume.

This server does not support resume, would you like to replace the file.
> Are you the only person that uses temp files?

That's kind of like the "Have you stopped beating your wife?" question.  I don't
know if the uriloader/exthandler code is the only such code in Mozilla.  I think
all such issues should be resolved in context of bug 55690.

Thomas: Your steps are incompatible with the way things currently work and imply
a particular resolution to bug 556990.  I think it is problematic to intertwine
bugs in such a way.  Can we modify this one so that it is independent of that
other bug?


Bill: I'm from mars. What's a wife? What's a beat?

I think it's a given that some people are going to want to do a fast-start
download to their OS specified temp directory. We need something that is
flexible to handle different configs. This probably affects ANY feature that
uses temp space, but since you download the biggest files, you get the most
attention... 
>Bill: I'm from mars. What's a wife? What's a beat?

I was just trying to duck the accusation that it was *me* (or my code) that was
using any temporary file.  But that's neither here nor there.  I stand by my
attempt to get that issue (of consolidating access to temporary files) moved to
bug 55690 (that deals with the whole issue of using temporary files).

This bug has to either be focused on something concrete and specific, or it will
never get fixed.

What's a duck? :)

From the perspective of FTP QA, at this point, I just want an error message. 

I've made comments in several places about how I think it *should* work, but
I'll deliver something coherent after we get through this release cycle...
*** Bug 95969 has been marked as a duplicate of this bug. ***
c. is now bug 65770

Closing this one as dup.  Take up the individual issues in the appropriate 
places.

*** This bug has been marked as a duplicate of 65770 ***
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
Component: Networking: FTP → File Handling
QA Contact: benc → sairuh
marking verified as a duplicate.

if you decide to reopen this bug, please clarify why.

search string for bugspam removal: SalviaGuaranitica
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.