ID: 21077
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Open
+Status: Closed
Bug Type: Program Execution
Operating System: any BSD
PHP Version: 4CVS-2003-07-15 (dev)
New Comment:
1) This test was bogus, fixed by hholzgra in 1.1.2.3
2) The original test, was
ext/standard/general_functions/proc_open.phpt
3) Both are working now.
( 4) Why are these tests in different categories? )
Previous Comments:
------------------------------------------------------------------------
[2003-07-15 18:59:03] [EMAIL PROTECTED]
Nope.
But then again, going back to 1.84.2.3, which contained the
fix, also doesn't solve the problem.
So, this is not just an ext/standard/exec.c issue, I'm
afraid.
Attaching with gdb, lands me anywhere from
zend_parse_parameters to zend_get_opline(), so that's not
very useful either.
I can try some release tags tommorow to get a more exact
location of the breaking commit.
Need sleep now :)
------------------------------------------------------------------------
[2003-07-15 16:32:38] [EMAIL PROTECTED]
Can you confirm whether the commit by Moriyoshi caused this?
------------------------------------------------------------------------
[2003-07-15 12:59:26] [EMAIL PROTECTED]
Confirmed for PHP_4_3 on FreeBSD 4.8-STABLE.
Updating version, reopening.
cvs -DYesterday ext/standard/exec.c shows a rather large commit by
moriyoshi, done 2003/07/13, concerning a leak fixer (MFH).
Removing assignment for now.
------------------------------------------------------------------------
[2003-07-15 09:51:30] webmaster at ragnarokonline dot de
It looks like, the bug has returned.
the test hangs on
TEST_PHP_EXECUTABLE=sapi/cli/php \
sapi/cli/php -n run-tests.php \
ext/standard/tests/file/proc_open01.phpt
------------------------------------------------------------------------
[2003-02-26 15:56:09] jlondon at mail dot mcg dot edu
proc_open hangs on the example that is in the manual. Here is the
code.
$descriptorspec = array(
0 => array("pipe", "r"), // stdin is a pipe that the child will
read from
1 => array("pipe", "w"), // stdout is a pipe that the child will
write to
2 => array("file", "c:/temp/error-output.txt", "a"), // stderr is a
file to write to
);
$process = proc_open("c:\php\php.exe", $descriptorspec, $pipes);
if (is_resource($process)) {
// $pipes now looks like this:
// 0 => writeable handle connected to child stdin
// 1 => readable handle connected to child stdout
// Any error output will be appended to /tmp/error-output.txt
fwrite($pipes[0], "<?php echo \"Hello World!\"; ?>" . chr(3));
fclose($pipes[0]);
while(!feof($pipes[1])) {
echo fgets($pipes[1], 1024);
}
fclose($pipes[1]);
// It is important that you close any pipes before calling
// proc_close in order to avoid a deadlock
$return_value = proc_close($process);
echo "command returned $return_value\n";
}
I'm running NT4 Server/PHP4.3.2.2/IIS4. This bit of code opened up 54
php.exe/cmd.exe (that's 54 of each or 108 total) processes on my
machine.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/21077
--
Edit this bug report at http://bugs.php.net/?id=21077&edit=1