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

Reply via email to