Red Hat Bugzilla – Bug 109332
Apache can't serve files > 2GB in size
Last modified: 2007-11-30 17:10:33 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
Description of problem:
When trying to serve files > 2GB in Apache, I get the following error
(75)Value too large for defined data type: access to <filename> failed
In fact, Apache will not even show the file in the Index of all files
in that directory.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. dd if=/dev/zero of=foo.zero bs=2k count=1101005
2. Make foo.zero available on Apache (in an Index even)
Actual Results: foo.zero is invisible to and Index and gives the
following error when the URL is processed manually
Expected Results: foo.zero should appear in the Index and be
available for download
Created attachment 95807 [details]
I downloaded the newest source code for Apache and did the following
and the newly installed Apache (in /usr/local/apache2) worked perfectly (had
large file support).
I then tried to modify the SPEC file for httpd-2.0.47-10.src.rpm (by adding a
line `export CPPFLAGS="-D_FILE_OFFSET_BITS=64"`) and rebuild the SRPM and then
the RPM. After installing this RPM, apache immediately gave a Segmentation
Fault upon starting.
It's not that simple, changing the size of off_t changes the binary
module interface, so any module packages will need to be recompiled.
This probably isn't the right approach to solving this problem properly.
Do you have any suggestions as to what might be the "right" approach
to solving this problem correctly?
To get this to work, you'd have to recompile apr, apr-util, httpd, and
every module package with -D_FILE_OFFSET_BITS=64, and would have to
patch apr to make sure that APR_OFF_T_FMT is correct.
We won't ship apr/*/httpd/* with a 64-bit off_t until this is the
upstream default, to avoid changing the binary module interface.
I just came across this exact same issue in Red Hat Enterprise Linux 3
ES and spent a long time trying to track down what was causing it.
Not only doesnt it display the large file, it randomly halts parsing
the directory with no warning or error, ie it only displays a couple
of files and then stops.
This is a serious bug imo and needs addressing.
Yes, it needs addressing upstream.
The fact that mod_autoindex does not handle directories containing
large file is a separate (and relatively simple to fix) bug, please
file a separate issue on that.
*** Bug 146261 has been marked as a duplicate of this bug. ***
FYI, this issue is fixed in the Apache httpd 2.1.x series; once a
stable httpd 2.2 release is out, this will be included in Fedora Core.