ID: 24301 Updated by: [EMAIL PROTECTED] Reported By: hessu at hes dot iki dot fi -Status: Open +Status: Feedback Bug Type: Reproducible crash Operating System: linux 2.4.20 PHP Version: 4CVS-2003-06-23 (stable) New Comment:
Thank you for this bug report. To properly diagnose the problem, we need a backtrace to see what is happening behind the scenes. To find out how to generate a backtrace, please read http://bugs.php.net/bugs-generating-backtrace.php Once you have generated a backtrace, please submit it to this bug report and change the status back to "Open". Thank you for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [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