ID: 24301 Comment by: joseph at serengeti dot com Reported By: hessu at hes dot iki dot fi Status: No Feedback Bug Type: Apache2 related Operating System: linux 2.4.20 PHP Version: 4CVS-2003-06-23 (stable) New Comment:
FreeBSD 4.9 Release mod_php4-4.3.4_6 apache 2.0.48 fpassthrough and readfile both cause a segv intermittently with the following file, there may be others this is the only one I tested with. -rw-rw-rw- 1 builder wheel 1802240 Mar 1 16:13 BRTL_STE_4-5-0-7.exe as you can see this is not 2^x file size but my symptoms are identical and were fixed the same way (by changing to fopen,fread,print) I fixed readfile by changing #define HAVE_MMAP to #undef HAVE_MMAP in main/php_config.h and rebuilding. That may or may not be usefull to you. Previous Comments: ------------------------------------------------------------------------ [2003-07-07 02:41:39] [EMAIL PROTECTED] No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. ------------------------------------------------------------------------ [2003-06-30 05:51:54] [EMAIL PROTECTED] Please give the requested feedback or let this report rot.. ------------------------------------------------------------------------ [2003-06-30 03:32:26] [EMAIL PROTECTED] Use apache1; apache2 + php is not a production combination as you have discovered. ------------------------------------------------------------------------ [2003-06-23 21:29:35] [EMAIL PROTECTED] I can not reproduce this within Apache 1.3.27. Could you please try that too to make sure it's just apache2 related issue..(FYI: Apache2 with PHP is really not ready for production use) ------------------------------------------------------------------------ [2003-06-23 14:50:16] hessu at hes dot iki dot fi Description: ------------ php-4.3.2 and php4-STABLE-200306231730 on apache-2.0.46, RedHat Linux on i386, vanilla 2.4.20 kernel, gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7). When trying to send a binary or ascii file of exactly 65536 bytes using readfile() or fpassthru(), the httpd process dies with a SIGSEGV. If the file is 65535 or 65537 bytes long, it is sent out just fine. 32768 and 131072 bytes do not seem to crash, either. The same source file does not crash the command line version of php. Reproduce code: --------------- $ cat 64kcrash.php <? readfile("64k-of-data"); ?> $ $ dd if=/dev/urandom of=64k-of-data bs=1 count=65536 OR $ perl -e 'print "a" × 65536;' > 64k-of-data Expected result: ---------------- The contents of the file should be sent. Actual result: -------------- [Mon Jun 23 22:46:56 2003] [notice] child pid 7805 exit signal Segmentation fault (11) client gets EOF after sending the request. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24301&edit=1