From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031030 Galeon/1.3.10 Description of problem: When trying to serve files > 2GB in Apache, I get the following error in /var/log/httpd/error_log (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): httpd-2.0.47-10 How reproducible: Always 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 Additional info:
Created attachment 95807 [details] Pseudo Solution I downloaded the newest source code for Apache and did the following export CPPFLAGS="-D_FILE_OFFSET_BITS=64" ./configure make make install 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.
Joe, 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.