Bug 109332

Summary: Apache can't serve files > 2GB in size
Product: [Fedora] Fedora Reporter: Troy Henderson <thenders>
Component: httpdAssignee: Joe Orton <jorton>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 1CC: jug, lance, sven-redhat
Target Milestone: ---   
Target Release: ---   
Hardware: athlon   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-01-30 15:12:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Pseudo Solution none

Description Troy Henderson 2003-11-06 21:40:48 UTC
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:

Comment 1 Troy Henderson 2003-11-07 22:23:45 UTC
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.

Comment 2 Joe Orton 2003-11-07 22:34:20 UTC
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.

Comment 3 Troy Henderson 2003-11-07 22:44:09 UTC
Joe,

Do you have any suggestions as to what might be the "right" approach
to solving this problem correctly?

Comment 4 Joe Orton 2004-01-30 15:12:20 UTC
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.


Comment 5 Lance Davis 2004-03-10 13:33:32 UTC
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.

Comment 6 Joe Orton 2004-03-10 13:38:34 UTC
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.

Comment 7 Joe Orton 2005-01-26 15:24:12 UTC
*** Bug 146261 has been marked as a duplicate of this bug. ***

Comment 8 Joe Orton 2005-01-26 15:25:42 UTC
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.