#32838 [NEW]: child processes opened with proc_open freeze the script
| From: | mjpph at stardust dot fi | Date: | Tue, 26 Apr 2005 12:31:22 +0000 |
| Subject: | #32838 [NEW]: child processes opened with proc_open freeze the script | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-78210@lists.php.net to get a copy of this message | ||
From: mjpph at stardust dot fi
Operating system: Linux
PHP version: 5.0.4
PHP Bug Type: Program Execution
Bug description: child processes opened with proc_open freeze the script
Description:
------------
I've created three scripts during some time, which of the latest is under
PHP 5.0.4. It opens hlds or srcds process as a child process using
proc_open. Every pipe is made non-blocking also there are no infinite
loops except the one that selects the child process's stdout pipe.
The script reads and runs succesfully for some time, then it suddenly
freezes. All buffering is turned off that can be turned off, I also added
some DEBUG printouts in the code and it even once freezed in the middle of
a single print. The same thing happens with pty and pipe support.
Everything has been checked out dozens of times. Both the child process's
stdout and stderr pipes are selected and read constantly.
If the child process is terminated from a shell with a kill command the
php script suddenly exits without any error or warning message even though
it should keep looping the child process, which it normally does if it
doesn't freeze.
This behaviour is only happening with hlds and srcds child processes. I've
run thousands of execution times of hltv's witht the same script and it has
never freezed. Srcds and hlds processes output a lot more data though.
The child process actually continues to run without any problems even if
the proc_open is done without pipes and the script has frozen. Obviously
the php script as a control script becomes completely useless after this.
--
Edit bug report at http://bugs.php.net/?id=32838&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=32838&r=trysnapshot4
Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=32838&r=trysnapshot50
Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=32838&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=32838&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=32838&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=32838&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=32838&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=32838&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32838&r=support
Expected behavior: http://bugs.php.net/fix.php?id=32838&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=32838&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=32838&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=32838&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=32838&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=32838&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=32838&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32838&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=32838&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=32838&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=32838&r=mysqlcfg