Closed
Bug 487365
Opened 17 years ago
Closed 17 years ago
FF3 downloads over 2GiB(2GB) [DVD ISOs] end up truncated as 0 bytes
Categories
(Firefox :: General, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: jmichae3, Unassigned)
References
()
Details
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)
Downloading any ISO file over 2GiB-1 in size causes windows version to truncate the file to 0 bytes.
you can find some more at http://jesusnjim.com/pc-repair/massive-security-patches.html
somebody needs to fix the download manager so that this works. can't do this with IE either - it gives you an http error immediately.
Reproducible: Always
Steps to Reproduce:
1. run FF3.
2. go to http://www.microsoft.com/downloads/details.aspx?FamilyID=0b6c5f73-e661-4b2f-8aca-d90f4179f39f&DisplayLang=en
3. download the file.
4. look at the file size with windows explorer.
Actual Results:
takes a long time to download but you get a 0-length file when done. The reason is because it is > 2^(32-1)-1=2147483647 bytes.
Expected Results:
a 2.4GB file when done.
The mistake was somebody used a 32-bit int or a long for the filesize or something like that instead of a long long (gcc) or a __int64 (MINGW, borland, MSVC++).
however, on MinGW compiler which is a gcc variant, it does not natively support __int64 so you must do something like
/*detect MinGW compiler and if it is*/
#if defined(__MINGW32__)
#include <basetsd.h> /* defines __int64. not needed for borland, MSVC++ */
typedef __int64 qlong;
/* now define a printf format string we can use */
#define QLPRINTF "%I64d"
#elif defined(__BORLANDC__)||defined(_MSC_VER)
typedef __int64 qlong;
/* now define a printf format string we can use */
#define QLPRINTF "%I64d"
#elif defined(LINUX)
typedef long long qlong;
/* now define a printf format string we can use */
#define QLPRINTF "%lld"
#elif defined(__DJGPP__)
typedef long long qlong;
/* now define a printf format string we can use */
#define QLPRINTF "%lld"
#endif
your mileage will vary for your distribution/build of linux depending on what -D options you have on gcc/g++, it may not use LINUX #define. check your build scripts and makefiles.
Comment 1•17 years ago
|
||
Bug 243974 fixed the Download Manager to support files over 2GB back in Firefox 1.5. (Gecko 1.8) So your conclusions for this specific bug seem faulty.
Its possible the 2GB limit is on the server side as well.
| Reporter | ||
Comment 2•17 years ago
|
||
correction: IE8 (but not 7 or lower) does not give the error any more and it downloads DVD-sized files.
| Reporter | ||
Comment 3•17 years ago
|
||
I was actually having troubles with an earlier version of FF3. It may have been
the fileserver, but so many of them? I just tested it via an http server at
opensuse.org (which I had problems with earlier previous rev 11.0 download,
they are now at 11.1). they must have gotten their problems fixed(?) or
somebody got their problems fixed because they no longer prevent IE from
downloading their files. I was basing this bug on previous problems I had, and
I remembered it needed to be reported. I didn't think I would need to retest
so soon.
I read once (here in the bug dept? somewhere else?) that FF for linux was the
only browser that could handle files>=2GiB and that the windows version could
not.
But that is no longer an issue. I was able to download the opensuse.org 4.5GB
DVD ISO file using FF3.08 with no problems.
so I guess this bug is NULL.
Jim Michaels
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Updated•17 years ago
|
Resolution: FIXED → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•