Edit report at http://bugs.php.net/bug.php?id=44994&edit=1
ID: 44994 Updated by: [email protected] Reported by: dbarrett at vistaprint dot com Summary: exec() produces zombie processes on Windows, hangs Apache -Status: No Feedback +Status: Assigned Type: Bug Package: Program Execution Operating System: win32 only - 2003 Server, 64-bit PHP Version: 5.2.6 Assigned To: pajoye Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2010-01-06 17:35:17] patrick dot bueker at triangle-solutions dot de I once had the problem too. I had the feeling that it has something to do with threadsafe or non-threadsafe versions of PHP. I still have the problem on some installations, others work. ------------------------------------------------------------------------ [2009-09-01 18:42:09] [email protected] I'm trying to come up with a reproducible test case for this bug. If anyone has a complete test scenario for this please post it. I simply can't replicate the effects here. G ------------------------------------------------------------------------ [2009-08-27 01:00:00] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2009-08-19 19:06:40] [email protected] Please try using this snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows: http://windows.php.net/snapshots/ ------------------------------------------------------------------------ [2009-08-19 17:26:55] [email protected] I've seen this happen in other languages too. This happens when the pipe between the parent and child fills up, and cmd.exe ends up blocking and creates a race condition. (Windows script host languages trip up on this quickly) in popen_ex() ( in tsrm_win32.c) the pipe is creates with a 2k buffer: if (!str_len || !CreatePipe(&in, &out, &security, 2048L)) { this should probably be significantly larger. I'd certainly go with at least 16k or 32k. (hey, it's only memory :D) as well, the elimination of the unrequired cmd.exe as the immediate child process would eliminate the possibility that *it's* buffer gets overwhelmed too. (which solves bug #43327, and I've passed a patch to Pierre for that.) ------------------------------------------------------------------------ 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/bug.php?id=44994 -- Edit this bug report at http://bugs.php.net/bug.php?id=44994&edit=1
