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.
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!
Steps to Reproduce:
I see a new version of Apache has bveen added to Portage. Any chance that this long-delayed feature will finally be included?
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 :).
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: http://bugs.php.net/bug.php?id=27792
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.
You must recompiled PHP after compiling apache with LFS. Any recent version PHP _should_ pick up the LFS flags from Apache.
upstream -> invalid
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.
No response, closing.
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.