ID: 18833 Comment by: klaus dot wendel at lednew dot de Reported By: antoine dot bajolet at tdf dot fr Status: No Feedback Bug Type: *General Issues Operating System: GNU/Linux 2.4.9 RH 7.1 PHP Version: 4.2.1 New Comment:
[Ubuntu karmic 9.10; php-cli 5.2.10] > The per-user process number limit is set in > /etc/security/limits.conf. > In my case, it was enough to raise it and reboot. In my case, this wasn't the answer, unfortunately. Or fortunately, because I was forced to find a workaround, which could help others, too. In my code I replaced exec by following function: function user_proc_exec ($command,& $result,& $status) { $process = proc_open( $command, array( 0 => array("pipe", "r"), //STDIN 1 => array("pipe", "w"), //STDOUT 2 => array("pipe","w")), //STDERR $pipes ); $result = stream_get_contents($pipes[1]); $error = stream_get_contents($pipes[2]); fclose($pipes[1]); fclose($pipes[2]); $status= proc_close($process); return($error); } Everything is working fine now. Previous Comments: ------------------------------------------------------------------------ [2009-05-04 14:42:05] scherbakov_koksa at mail dot ru It seems I've finally figured out the reason (after a huge amount of googling UNIX forums). The PHP fork() error is accompanied by the following entries in Apache error_log: [Mon May 04 20:55:59 2009] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48 [Mon May 04 20:55:59 2009] [alert] Child 10053 returned a Fatal error... Apache is exiting! The system configuration doesn't allow Apache to execute more than N child processes simultaneously. Apache runs out of this limit and can't start any more processes. Hence is the error. The per-user process number limit is set in /etc/security/limits.conf. In my case, it was enough to raise it and reboot. ------------------------------------------------------------------------ [2009-03-09 13:33:36] steveg at bscopes dot com 1. did you ever figure out what caused this problem? 2. do you know which apache/php parameters to adjust ? ------------------------------------------------------------------------ [2009-02-05 11:37:09] scherbakov_koksa at mail dot ru I'm having the same issue with PHP 5.2.8, Apache 2.2.11, GNU/Linux (2.6.20-1.2320.fc5). A php script periodically (per user request) executes the following command: xsltproc <filename> <filename> In some time the script starts throwing the "unable to fork" warning. It is fixed by Apache restart. ------------------------------------------------------------------------ [2008-06-01 16:48:39] pahan at hubbitus dot spb dot su Have same trouble in PHP snapshot 200805080630: PHP Warning: exec(): Unable to fork [echo -ne '2008-06-01 05:15:27: Login: Unable to login (User: hel...@simpla y.ru)! reason:not connected! (CMD:LOGIN) sleep 50 seconds ' >> /home/pasha/temp/php-IMAP/logs/log_ERR 2>&1] in /var/www/_SHARED_/Debug/HuLOG.php on line 115 PHP Stack trace: PHP 1. {main}() /home/pasha/temp/php-IMAP/IMAP_answer.php:0 PHP 2. IMAP_mailbox_change_answer() /home/pasha/temp/php-IMAP/IMAP_answer.php:201 PHP 3. HuLOG->toLog() /home/pasha/temp/php-IMAP/IMAP_answer.php:67 PHP 4. HuLOG->writeLogs() /var/www/_SHARED_/Debug/HuLOG.php:158 PHP 5. HuLOG->log_to_file() /var/www/_SHARED_/Debug/HuLOG.php:162 PHP 6. exec() /var/www/_SHARED_/Debug/HuLOG.php:115 Warning: exec(): Unable to fork [echo -ne '2008-06-01 05:15:27: Login: Unable to login (User: hel...@simplay.ru) ! reason:not connected! (CMD:LOGIN) sleep 50 seconds ' >> /home/pasha/temp/php-IMAP/logs/log_ERR 2>&1] in /var/www/_SHARED_/Debug/HuLOG.php on line 115 Call Stack: 0.0019 375364 1. {main}() /home/pasha/temp/php-IMAP/IMAP_answer.php:0 184145.8861 16442044 2. IMAP_mailbox_change_answer() /home/pasha/temp/php-IMAP/IMAP_answer.php:201 184145.8903 16451552 3. HuLOG->toLog() /home/pasha/temp/php-IMAP/IMAP_answer.php:67 184145.8908 16451648 4. HuLOG->writeLogs() /var/www/_SHARED_/Debug/HuLOG.php:158 184145.8908 16451648 5. HuLOG->log_to_file() /var/www/_SHARED_/Debug/HuLOG.php:162 184145.8917 16451824 6. exec() /var/www/_SHARED_/Debug/HuLOG.php:115 ------------------------------------------------------------------------ [2007-12-05 05:22:57] jinglerobs at yahoo dot com Im using PHP 5.2.4 (cli), Apache & Mysql combination on a Slackware box. While running a script that processes large XML files and writes the log to a log file, I get Warning: exec(): Unable to fork Initially the script runs fine for some 3 or 4 hours after which it gives out the warnings. The script has a huge amount of data to process. I also tried to use the nohup command but was of no use. A screenshot of the problem is given below: DEBUG:INSERT into package (id,vendor,title,version,ver_major,ver_minor,ver_sub,ver_ext,type) values ('13001','Microsoft','Windows XP Home','0.0.0SP1','0','0','0','SP1','Software') Warning: exec(): Unable to fork [/usr/bin/bash -c "exec nohup setsid echo \"DEBUG: INSERT into package (id,vendor,title,version,ver_major,ver_minor,ver_sub,ver_ext,type) values ('13001','Microsoft','Windows XP Home','0.0.0SP1','0','0','0','SP1','Software') \">>feed2vendorDB.log 2>&1 &"] in /usr/local/apache2/htdocs/xml_feed/sircc_agnostic/feed2vendorDB/feed2vendorDB.php on line 1454 DEBUG:INSERT into package (id,vendor,title,version,ver_major,ver_minor,ver_sub,ver_ext,type) values ('13002','Microsoft','Windows XP Professional','0.0.0SP1','0','0','0','SP1','Software') Warning: exec(): Unable to fork [/usr/bin/bash -c "exec nohup setsid echo \"DEBUG: INSERT into package (id,vendor,title,version,ver_major,ver_minor,ver_sub,ver_ext,type) values ('13002','Microsoft','Windows XP Professional','0.0.0SP1','0','0','0','SP1','Software') \">>feed2vendorDB.log 2>&1 &"] in /usr/local/apache2/htdocs/xml_feed/sircc_agnostic/feed2vendorDB/feed2vendorDB.php on line 1454 DEBUG:INSERT into package (id,vendor,title,version,ver_major,ver_minor,ver_sub,ver_ext,type) values ('13134','KaZaA','KaZaA Media Desktop','2.0.0','2','0','0','','Software') Warning: exec(): Unable to fork [/usr/bin/bash -c "exec nohup setsid echo \"DEBUG: INSERT into package (id,vendor,title,version,ver_major,ver_minor,ver_sub,ver_ext,type) values ('13134','KaZaA','KaZaA Media Desktop','2.0.0','2','0','0','','Software') \">>feed2vendorDB.log 2>&1 &"] in /usr/local/apache2/htdocs/xml_feed/sircc_agnostic/feed2vendorDB/feed2vendorDB.php on line 1454 DEBUG:INSERT into package (id,vendor,title,version,ver_major,ver_minor,ver_sub,ver_ext,type) values ('11051','KaZaA','KaZaA Media Desktop','1.6.1','1','6','1','','Software') Warning: exec(): Unable to fork [/usr/bin/bash -c "exec nohup setsid echo \"DEBUG: INSERT into package (id,vendor,title,version,ver_major,ver_minor,ver_sub,ver_ext,type) values ('11051','KaZaA','KaZaA Media Desktop','1.6.1','1','6','1','','Software') \">>feed2vendorDB.log 2>&1 &"] in /usr/local/apache2/htdocs/xml_feed/sircc_agnostic/feed2vendorDB/feed2vendorDB.php on line 1454 DEBUG:INSERT into infection_vector (vector,deployed,effectiveness) values ('File Sharing / Peer to Peer / Kazaa','3','8') Warning: exec(): Unable to fork [/usr/bin/bash -c "exec nohup setsid echo \"DEBUG: INSERT into infection_vector (vector,deployed,effectiveness) values ('File Sharing / Peer to Peer / Kazaa','3','8') \">>feed2vendorDB.log 2>&1 &"] in /usr/local/apache2/htdocs/xml_feed/sircc_agnostic/feed2vendorDB/feed2vendorDB.php on line 1454 DEBUG:INSERT into infection_vector (vector,deployed,effectiveness) values ('File Transfer / Email Attachment','10','7') Warning: exec(): Unable to fork [/usr/bin/bash -c "exec nohup setsid echo \"DEBUG: INSERT into infection_vector (vector,deployed,effectiveness) values ('File Transfer / Email Attachment','10','7') \">>feed2vendorDB.log 2>&1 &"] in /usr/local/apache2/htdocs/xml_feed/sircc_agnostic/feed2vendorDB/feed2vendorDB.php on line 1454 Fatal error: Out of memory (allocated -1155268608) (tried to allocate 11080 bytes) in /usr/local/apache2/htdocs/xml_feed/sircc_agnostic/feed2vendorDB/feed2vendorDB.php on line 1447 [1]+ Exit 1 ./feed2vendorDB.sh Is this related to the max number of processes allowed in the memory, or a PHP-Apache prob??. Having a tough time .... ------------------------------------------------------------------------ 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/18833 -- Edit this bug report at http://bugs.php.net/?id=18833&edit=1