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