ID: 47675
Updated by: dsp@php.net
Reported By: cs at ecn dot purdue dot edu
-Status: Open
+Status: Feedback
Bug Type: Apache2 related
Operating System: Solaris 10
PHP Version: 5.2.9
New Comment:
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
I run OpenSolaris 2009.06 with Apache 2.2.11 and cannot reproduce this
behavior. The old_cwd_fd is closed. ZEND_EXIT calls zend_bailout which
jumps back to the end of the try/catch block in php_execute_script
where
the descriptor is closed.
Can you be more specific about the behavior you encountered?
Previous Comments:
------------------------------------------------------------------------
[2009-03-16 16:25:21] cs at ecn dot purdue dot edu
I am using apache 2.2.11.
------------------------------------------------------------------------
[2009-03-16 16:21:51] jani@php.net
Apache1 or Apache2 ?
------------------------------------------------------------------------
[2009-03-16 14:07:47] cs at ecn dot purdue dot edu
Description:
------------
mod_php contains a potential file descriptor leak on Solaris 10 when
script executes "exit()".
Reproduce code:
---------------
<?php exit(0); ?>
The change in behavior is due to the addition of HAVE_BROKEN_GETCWD for
Solaris 10. In php_execute_script, a file descriptor is opened to hold
the current working directory, but is not closed in the case where php
code may not return to this function after executing a script. mod_php
isn't aware of the resource that was allocated and not freed.
Expected result:
----------------
Normally web server runs for days without resource trouble. In the
case where a PHP script does an "exit(0)", the web server will run
out of file descriptors and will need restarting.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=47675&edit=1