Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 69689 - LARGEFILE support seems to be ready/fixed in Apache >=2.0.49
Summary: LARGEFILE support seems to be ready/fixed in Apache >=2.0.49
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Apache Team - Bugzilla Reports
Depends on:
Reported: 2004-10-31 21:59 UTC by Jesse Adelman
Modified: 2005-04-24 00:01 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Adelman 2004-10-31 21:59:02 UTC
From CHANGES_2.0, 2.0.49:

  *) core.c: If large file support is enabled, allow any file that is
     greater than AP_MAX_SENDFILE to be split into multiple buckets.
     This allows Apache to send files that are greater than 2gig.
     Otherwise we run into 32/64 bit type mismatches in the file size.
     [Brad Nicholes]

So, can we now enable it in >=2.0.49? Great to have for those of us shuffling large files around our networks via HTTP. Thanks!

Reproducible: Always
Steps to Reproduce:
Comment 1 Jesse Adelman 2004-11-05 16:16:30 UTC
I see a new version of Apache has bveen added to Portage. Any chance that this long-delayed feature will finally be included?
Comment 2 Jesse Adelman 2004-11-12 03:09:49 UTC
Well, it would seem that more investigations are needed. I just changed the apache 2.0.52-r1 ebuild such that the -D_LARGEFILE... flags were explicitly added to $CFLAG, and recompiled. Apache would then run, but all page requests resulted in the child process segfaulting. Turning LogLevel to debug doesn't offer more information. I suspect that there is something in Apache's dependency chain (or modules) that also needs to be compiled with the LFS flags, but that's after a good night's sleep :).
Comment 3 Jesse Adelman 2004-11-12 14:14:00 UTC
Rebuilt and ran apache again, this time using strace -f /usr/sbin/apache2 to see what's going on. I then discovered that large files *did* work, because I left off "-D PHP4" from the strace command line... When I added -D PHP4, segfaults a-plenty. It appears the segfault occours as the first PHP code is loaded and the code is given to mod_php for handling (meaning the segfault has nothing to do with whether you are actually trying to access a file with a size greater than 2GB - just that mod_php is being called). Took a look at the PHP bug database, and, of course, LFS support is not officially due until PHP 5. *sigh*

Here's the PHP bugzilla entry:

So, in truth, LFS does appear to work in Apache, it's just all the other "3rd-party" or external modules must also be up to snuff. This probably applies to other modules like mod_perl and mod_python - others may wish to verify that untested assertion. Wish this data was easy to find on Google/GMANE/et al. Or maybe I'm just a bonehead as far as my Google-fu.

So, with this information, I guess this bug should be closed and marked UPSTREAM. It would be nice, however, for all those video users out there creating giant files and using the wrong tool to transfer them ;) to find this bug easily.
Comment 4 Paul Querna 2004-11-12 14:23:43 UTC
You must recompiled PHP after compiling apache with LFS. Any recent version PHP _should_ pick up the LFS flags from Apache.
Comment 5 Paul Querna 2004-11-12 14:24:09 UTC
upstream -> invalid
Comment 6 Jesse Adelman 2004-11-12 14:51:08 UTC
It does not, unfortunately because the php eclass explicitly filters the LFS flags. Testing without the flags now - I'll open a new bug if I find that mod_php doesn't need the filter-flags in the eclass. Thanks.
Comment 7 Elfyn McBratney (beu) (RETIRED) gentoo-dev 2005-04-23 20:39:45 UTC
No response, closing.
Comment 8 Jesse Adelman 2005-04-24 00:01:13 UTC
Sorry, bug #24373 resolved this issue, by including support in the php-sapi and flag-o-matic eclasses. So, technically it should be CLOSED RESOLVED or CLOSED FIXED. Thanks.