Bug #44942 [Com]: exec() hangs apache

2012-12-05 Thread claudix dot kernel at gmail dot com
Edit report at https://bugs.php.net/bug.php?id=44942&edit=1

 ID: 44942
 Comment by: claudix dot kernel at gmail dot com
 Reported by:inqualab1985 at gmail dot com
 Summary:exec() hangs apache
 Status: Duplicate
 Type:   Bug
 Package:Program Execution
 Operating System:   Windows 2000 SP4
 PHP Version:5.2.5
 Block user comment: N
 Private report: N

 New Comment:

Seen the same behavior, not only in exec(), but also in similar functions as 
proc_open/proc_close. When there are concurrent scripts during a same PHP 
session, the script spawning the process randomly hangs.
System:
- Windows 2003 server SP2
- Apache 2.2.22/ PHP 5.4.3

I can confirm that calling session_write_close() and then session_start() does 
the trick. 

I've observed, though, that the code below doesn't work:

$proc = proc_open($cmd,$pipedesc,$pipes);
//do stuff with pipes... 
//... and close pipes
session_write_close();  //Close session before hanging function
$retval = proc_close($proc);
session_start(); //restore session

But the code below *does* work:

session_write_close();  //Close the session before proc_open()
$proc = proc_open($cmd,$pipedesc,$pipes);
//do stuff with pipes... 
//... and close pipes
$retval = proc_close($proc);
session_start(); //restore session

This made me go into the PHP source code (actually the source file 
"proc_open.c"). I've noticed that the command passed to proc_open() is spawned 
by calling the WINAPI function CreateProcess(...) with the parameter 
"bInheritHandles" set to TRUE. As of MSDN documentation, if this parameter is 
TRUE then all handles are inherited by the child process. It seems that the 
handle of the session is being inherited by the child process but for some 
reason the OS doesn't release it when the process ends, eventually yielding a 
deadlock. The code snippets above show this: the session has to be closed 
before calling proc_open() to prevent the spawned command from inheriting the 
session handle. People using exec() cannot see this effect because exec() 
virtually embeds proc_open/proc_close.

May this give a clue to PHP developers?

Claudi


Previous Comments:

[2012-10-15 15:00:52] mail at GerhardBechtold dot com

Pajoye,

I didn't find any documentation on the service sensitivity of the new PHP.

You might be right, that the eof of the console stream is not taken care 
properly, but in my case the system is now working (again).


[2012-10-15 09:12:30] paj...@php.net

@mail at GerhardBechtold dot com

this is documented, the shell/exec permissions have to be given.

However I do not think it is related to the original issue which is caused by a 
real bug in the php stream, where the eof of the console stream is not 
correctly 
detected and ends in an endless loop.


[2012-10-14 15:28:38] mail at GerhardBechtold dot com

After many hours of testing, I managed to solve my problem of exec() calls in 
PHP. This might be useful also for other developers, as I have seen many 
struggling with te same problem.

1. xampp must be installed in real (!) administrator mode (in Windows 7 / 32 & 
64 bit). 

2. In many environments, Apache and MySQL should not run as services, but be 
manually started (even not with interaction with desktop).

I have put a step-by-step procedure to troubleshoot at:

http://www.gerhardbechtold.com/LUPMIS/Manual/a15_xamppmap_maker_installation.html

(Ignore the references to our system LUPMIS).

Good luck to everybody 
Gerhard


[2012-09-27 21:02:13] mail at GerhardBechtold dot com

Thanks for looking into my problems with exec() at the latest PHP.

Example for actual code, as in application (was running nicely in earlier PHP 
installations, but not under PHP 2.4 anymore):

$str1Name = "C:\Map Maker\MMmacro.exe"; 
$str2Name = "command=remove layer"; 
exec(chr(34).$str1Name.chr(34).chr(32).chr(34).$str2Name.chr(34));

I am using a GIS called Map Maker, with powerful MMmacro functions 
(www.mapmaker.com). 'remove layer' is one of the most basic parameters of 
MMmacro.

A more simple test version also failed:

$str1Name = "C:\Windows\Notepad.exe";
exec($str1Name);

I also tested, all without success:
- with bat file, which then calls notepad.exe
- with exe/bat in different folders: document root (C:\xampp\htdocs) or from 
calling directory (C:\xampp\htdocs\lupmis_s)
- with 'start .'
- with popen
- with exec(  < file.in > file.out 2> nul", $output);
- with exec(,$output, $return);
- with exec("ping google.com", $output, $return);

-

My environment:

PHP 5.4.4 (VC 9)
Apache 2.4

Bug #44942 [Com]: exec() hangs apache

2012-10-15 Thread mail at GerhardBechtold dot com
Edit report at https://bugs.php.net/bug.php?id=44942&edit=1

 ID: 44942
 Comment by: mail at GerhardBechtold dot com
 Reported by:inqualab1985 at gmail dot com
 Summary:exec() hangs apache
 Status: Duplicate
 Type:   Bug
 Package:Program Execution
 Operating System:   Windows 2000 SP4
 PHP Version:5.2.5
 Block user comment: N
 Private report: N

 New Comment:

Pajoye,

I didn't find any documentation on the service sensitivity of the new PHP.

You might be right, that the eof of the console stream is not taken care 
properly, but in my case the system is now working (again).


Previous Comments:

[2012-10-15 09:12:30] paj...@php.net

@mail at GerhardBechtold dot com

this is documented, the shell/exec permissions have to be given.

However I do not think it is related to the original issue which is caused by a 
real bug in the php stream, where the eof of the console stream is not 
correctly 
detected and ends in an endless loop.


[2012-10-14 15:28:38] mail at GerhardBechtold dot com

After many hours of testing, I managed to solve my problem of exec() calls in 
PHP. This might be useful also for other developers, as I have seen many 
struggling with te same problem.

1. xampp must be installed in real (!) administrator mode (in Windows 7 / 32 & 
64 bit). 

2. In many environments, Apache and MySQL should not run as services, but be 
manually started (even not with interaction with desktop).

I have put a step-by-step procedure to troubleshoot at:

http://www.gerhardbechtold.com/LUPMIS/Manual/a15_xamppmap_maker_installation.html

(Ignore the references to our system LUPMIS).

Good luck to everybody 
Gerhard


[2012-09-27 21:02:13] mail at GerhardBechtold dot com

Thanks for looking into my problems with exec() at the latest PHP.

Example for actual code, as in application (was running nicely in earlier PHP 
installations, but not under PHP 2.4 anymore):

$str1Name = "C:\Map Maker\MMmacro.exe"; 
$str2Name = "command=remove layer"; 
exec(chr(34).$str1Name.chr(34).chr(32).chr(34).$str2Name.chr(34));

I am using a GIS called Map Maker, with powerful MMmacro functions 
(www.mapmaker.com). 'remove layer' is one of the most basic parameters of 
MMmacro.

A more simple test version also failed:

$str1Name = "C:\Windows\Notepad.exe";
exec($str1Name);

I also tested, all without success:
- with bat file, which then calls notepad.exe
- with exe/bat in different folders: document root (C:\xampp\htdocs) or from 
calling directory (C:\xampp\htdocs\lupmis_s)
- with 'start .'
- with popen
- with exec(  < file.in > file.out 2> nul", $output);
- with exec(,$output, $return);
- with exec("ping google.com", $output, $return);

-

My environment:

PHP 5.4.4 (VC 9)
Apache 2.4.2
Xampp 'default' installation 1.8 on C:\xampp
Apache with PHP, MySQL running as services

Win 7 Home Premium / 64 bit
4 GB RAM
HP Pavilion g7 Notebook
Bought in Germany, but OS and all programs installed in English
Running as administrator

Total application has > 220 PHP programs, with > 250 exec calls. 

If you give me your full email address, I can also send you the php.ini and 
httpd.conf.

Thanks for any advice
Gerhard


[2012-09-27 10:51:24] paj...@php.net

Tell us which command you use and how you call it, along with the parameters 
(external files and the likes can be sent to my email (my handle @ php.net).


[2012-09-27 10:39:33] mail at Gerhard-Bechtold dot com

Thanks for follow-up. Where can I send it to?
Regards
Gerhard




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

https://bugs.php.net/bug.php?id=44942


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=44942&edit=1


Bug #44942 [Com]: exec() hangs apache

2012-10-14 Thread mail at GerhardBechtold dot com
Edit report at https://bugs.php.net/bug.php?id=44942&edit=1

 ID: 44942
 Comment by: mail at GerhardBechtold dot com
 Reported by:inqualab1985 at gmail dot com
 Summary:exec() hangs apache
 Status: Duplicate
 Type:   Bug
 Package:Program Execution
 Operating System:   Windows 2000 SP4
 PHP Version:5.2.5
 Block user comment: N
 Private report: N

 New Comment:

After many hours of testing, I managed to solve my problem of exec() calls in 
PHP. This might be useful also for other developers, as I have seen many 
struggling with te same problem.

1. xampp must be installed in real (!) administrator mode (in Windows 7 / 32 & 
64 bit). 

2. In many environments, Apache and MySQL should not run as services, but be 
manually started (even not with interaction with desktop).

I have put a step-by-step procedure to troubleshoot at:

http://www.gerhardbechtold.com/LUPMIS/Manual/a15_xamppmap_maker_installation.html

(Ignore the references to our system LUPMIS).

Good luck to everybody 
Gerhard


Previous Comments:

[2012-09-27 21:02:13] mail at GerhardBechtold dot com

Thanks for looking into my problems with exec() at the latest PHP.

Example for actual code, as in application (was running nicely in earlier PHP 
installations, but not under PHP 2.4 anymore):

$str1Name = "C:\Map Maker\MMmacro.exe"; 
$str2Name = "command=remove layer"; 
exec(chr(34).$str1Name.chr(34).chr(32).chr(34).$str2Name.chr(34));

I am using a GIS called Map Maker, with powerful MMmacro functions 
(www.mapmaker.com). 'remove layer' is one of the most basic parameters of 
MMmacro.

A more simple test version also failed:

$str1Name = "C:\Windows\Notepad.exe";
exec($str1Name);

I also tested, all without success:
- with bat file, which then calls notepad.exe
- with exe/bat in different folders: document root (C:\xampp\htdocs) or from 
calling directory (C:\xampp\htdocs\lupmis_s)
- with 'start .'
- with popen
- with exec(  < file.in > file.out 2> nul", $output);
- with exec(,$output, $return);
- with exec("ping google.com", $output, $return);

-

My environment:

PHP 5.4.4 (VC 9)
Apache 2.4.2
Xampp 'default' installation 1.8 on C:\xampp
Apache with PHP, MySQL running as services

Win 7 Home Premium / 64 bit
4 GB RAM
HP Pavilion g7 Notebook
Bought in Germany, but OS and all programs installed in English
Running as administrator

Total application has > 220 PHP programs, with > 250 exec calls. 

If you give me your full email address, I can also send you the php.ini and 
httpd.conf.

Thanks for any advice
Gerhard


[2012-09-27 10:51:24] paj...@php.net

Tell us which command you use and how you call it, along with the parameters 
(external files and the likes can be sent to my email (my handle @ php.net).


[2012-09-27 10:39:33] mail at Gerhard-Bechtold dot com

Thanks for follow-up. Where can I send it to?
Regards
Gerhard


[2012-09-27 06:57:05] paj...@php.net

We need something to reproduce it, as we can't.

Do you have a common exe app that we can use to try to reproduce the problem 
you 
are experiencing?


[2012-09-24 08:28:46] mail at GerhardBechtold dot com

Despite various updates and fixes, I dont think, the 'exec problem' in PHP is 
solved.

In my PHP programs, I have plenty of calls from PHP 5.3.0 to external exe files 
with 'exec(...)' (on local drive, with Apache 2.2.12, installed through xampp 
1.7.x, on Vista and Win 7) on dozens of computers: Everything works well.

But when I migrated to new computer with PHP 5.4.4 (VC9, with Apache 2.4.2, 
installed through xampp 1.8, on Win 7/64), the SAME exec() calls dont work 
anymore. No display, no error messages, no entries in log file. Configuration 
in httpd.conf and php.ini are identical.

Any advice is appreciated. I also posted in xampp forum 
(http://www.apachefriends.org/f/viewtopic.php?f=6&t=51537, with confirmation, 
that I am not the only one with this problem).

Kind regards
Gerhard




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

https://bugs.php.net/bug.php?id=44942


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=44942&edit=1


Bug #44942 [Com]: exec() hangs apache

2012-09-27 Thread mail at GerhardBechtold dot com
Edit report at https://bugs.php.net/bug.php?id=44942&edit=1

 ID: 44942
 Comment by: mail at GerhardBechtold dot com
 Reported by:inqualab1985 at gmail dot com
 Summary:exec() hangs apache
 Status: Duplicate
 Type:   Bug
 Package:Program Execution
 Operating System:   Windows 2000 SP4
 PHP Version:5.2.5
 Block user comment: N
 Private report: N

 New Comment:

Thanks for looking into my problems with exec() at the latest PHP.

Example for actual code, as in application (was running nicely in earlier PHP 
installations, but not under PHP 2.4 anymore):

$str1Name = "C:\Map Maker\MMmacro.exe"; 
$str2Name = "command=remove layer"; 
exec(chr(34).$str1Name.chr(34).chr(32).chr(34).$str2Name.chr(34));

I am using a GIS called Map Maker, with powerful MMmacro functions 
(www.mapmaker.com). 'remove layer' is one of the most basic parameters of 
MMmacro.

A more simple test version also failed:

$str1Name = "C:\Windows\Notepad.exe";
exec($str1Name);

I also tested, all without success:
- with bat file, which then calls notepad.exe
- with exe/bat in different folders: document root (C:\xampp\htdocs) or from 
calling directory (C:\xampp\htdocs\lupmis_s)
- with 'start .'
- with popen
- with exec(  < file.in > file.out 2> nul", $output);
- with exec(,$output, $return);
- with exec("ping google.com", $output, $return);

-

My environment:

PHP 5.4.4 (VC 9)
Apache 2.4.2
Xampp 'default' installation 1.8 on C:\xampp
Apache with PHP, MySQL running as services

Win 7 Home Premium / 64 bit
4 GB RAM
HP Pavilion g7 Notebook
Bought in Germany, but OS and all programs installed in English
Running as administrator

Total application has > 220 PHP programs, with > 250 exec calls. 

If you give me your full email address, I can also send you the php.ini and 
httpd.conf.

Thanks for any advice
Gerhard


Previous Comments:

[2012-09-27 10:51:24] paj...@php.net

Tell us which command you use and how you call it, along with the parameters 
(external files and the likes can be sent to my email (my handle @ php.net).


[2012-09-27 10:39:33] mail at Gerhard-Bechtold dot com

Thanks for follow-up. Where can I send it to?
Regards
Gerhard


[2012-09-27 06:57:05] paj...@php.net

We need something to reproduce it, as we can't.

Do you have a common exe app that we can use to try to reproduce the problem 
you 
are experiencing?


[2012-09-24 08:28:46] mail at GerhardBechtold dot com

Despite various updates and fixes, I dont think, the 'exec problem' in PHP is 
solved.

In my PHP programs, I have plenty of calls from PHP 5.3.0 to external exe files 
with 'exec(...)' (on local drive, with Apache 2.2.12, installed through xampp 
1.7.x, on Vista and Win 7) on dozens of computers: Everything works well.

But when I migrated to new computer with PHP 5.4.4 (VC9, with Apache 2.4.2, 
installed through xampp 1.8, on Win 7/64), the SAME exec() calls dont work 
anymore. No display, no error messages, no entries in log file. Configuration 
in httpd.conf and php.ini are identical.

Any advice is appreciated. I also posted in xampp forum 
(http://www.apachefriends.org/f/viewtopic.php?f=6&t=51537, with confirmation, 
that I am not the only one with this problem).

Kind regards
Gerhard


[2012-06-04 05:09:12] hshs at hotmail dot com

This bug still exist. Same work around still works.




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

https://bugs.php.net/bug.php?id=44942


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=44942&edit=1


Bug #44942 [Com]: exec() hangs apache

2012-09-27 Thread mail at Gerhard-Bechtold dot com
Edit report at https://bugs.php.net/bug.php?id=44942&edit=1

 ID: 44942
 Comment by: mail at Gerhard-Bechtold dot com
 Reported by:inqualab1985 at gmail dot com
 Summary:exec() hangs apache
 Status: Duplicate
 Type:   Bug
 Package:Program Execution
 Operating System:   Windows 2000 SP4
 PHP Version:5.2.5
 Block user comment: N
 Private report: N

 New Comment:

Thanks for follow-up. Where can I send it to?
Regards
Gerhard


Previous Comments:

[2012-09-27 06:57:05] paj...@php.net

We need something to reproduce it, as we can't.

Do you have a common exe app that we can use to try to reproduce the problem 
you 
are experiencing?


[2012-09-24 08:28:46] mail at GerhardBechtold dot com

Despite various updates and fixes, I dont think, the 'exec problem' in PHP is 
solved.

In my PHP programs, I have plenty of calls from PHP 5.3.0 to external exe files 
with 'exec(...)' (on local drive, with Apache 2.2.12, installed through xampp 
1.7.x, on Vista and Win 7) on dozens of computers: Everything works well.

But when I migrated to new computer with PHP 5.4.4 (VC9, with Apache 2.4.2, 
installed through xampp 1.8, on Win 7/64), the SAME exec() calls dont work 
anymore. No display, no error messages, no entries in log file. Configuration 
in httpd.conf and php.ini are identical.

Any advice is appreciated. I also posted in xampp forum 
(http://www.apachefriends.org/f/viewtopic.php?f=6&t=51537, with confirmation, 
that I am not the only one with this problem).

Kind regards
Gerhard


[2012-06-04 05:09:12] hshs at hotmail dot com

This bug still exist. Same work around still works.


[2011-10-23 19:26:33] kevin at texasbb dot com

Happening to me on windows server 08 using IIS

session_write_close(); doesnt seem to work for me.
but i can use a page with iframes and eatch iframe can have a php with exec()
and all work.
i tested 10 different php iframes and could see all 10 processes open when page 
was loading.
when adding just 2 exec() calls on same script or even trying to use different 
php files called from 1 will freeze the second process from exec

just throwin this out there to help solve this

so iframes can call any number it seems but
more than 1 in same php script will hang on SECOND process(no need to reset 
server just kill the process and output from first will be there but second 
will 
not and page will finish loading).


[2011-10-10 15:30:00] jameslively at insightbb dot com

I am still seeing this issue on PHP 5.3.8.  I am running the site on Windows 
2k3 sp3 and Apache 2.2.




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

https://bugs.php.net/bug.php?id=44942


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=44942&edit=1


Bug #44942 [Com]: exec() hangs apache

2010-09-06 Thread richard at dlconsulting dot com
Edit report at http://bugs.php.net/bug.php?id=44942&edit=1

 ID: 44942
 Comment by: richard at dlconsulting dot com
 Reported by:inqualab1985 at gmail dot com
 Summary:exec() hangs apache
 Status: No Feedback
 Type:   Bug
 Package:Program Execution
 Operating System:   Windows 2000 SP4
 PHP Version:5.2.5
 Block user comment: N

 New Comment:

Had a similar problem which was reproducible on Apache 1.3.26 and PHP
5.2.14 or PHP 5.3.3, (Apache running on Windows XP SP3). Reproducable
when using Firefox 3.6.8, Chrome 5.0.375.127, IE 8.0.6001.18702
Interestingly, when the same PHP based system was running on linux
(Centos 5.5) this problem could not be reproduced.



A parent browser window opens a child popup to perform an import process
of some files into a system. The child popup window is running a PHP
script which as part of its process calls an external binaries such as
rm.exe or unzip.exe binary using the exec function.



As part of the html in the child popup window, we call a javascript
function with window.opener.location.reload();

which reloads the parent window (which is also generated via PHP).



When this bug occurs, the JavaScript above is near the top of the web
page, so that it seems to trigger a reload of the parent PHP script
during the child popup PHP process, and apparently this interferes
somehow with the execution of the child popup PHP process, because when
we tried moving this JavaScript to the bottom of the popup PHP process
webpage . . the problem goes away.



This problem, which seems somehow related to the concurrent execution of
the PHP of the parent browser window, hangs Apache completely. Apache
has to be terminated manually, and then restarted. Therefore this bug
was a showstopper until we happened upon a work-around.



If we remove calls to exec() in the child popup PHP script, the problem
disappears. The duration of the child popup PHP script is not trivial,
it might unzip / read / move maybe 50 files (although on fast hardware
this might take less than a second anyway . . .)


Previous Comments:

[2010-09-06 14:53:26] elwiz at 3e dot pl

Hello.



I am also having the same problem. One of my scripts is being called
multiple times (as a SRC for image tags) and each time it uses the exec
function. On windows XP, with PHP 5.2.5 and Apache 2.2 the PHP stops
responding. Requests for static files can be done but PHP scripts run
endlessly. Session closing and opening helps but it is still just a
workaround.


[2010-07-25 21:00:18] andy dot hilbig at clubsys dot co dot uk

I have been plagued with PHP freezing after a few minutes, days or maybe
weeks. 

I use exec() to link to custom vb.exe

I have searched and searched until today tried the
session_write_close(); before the exec()call and session_start ();
after.



I can now click [Next Day]/[Next Day] as fast as I like and all appears
solid now. Other users have connected at the same time.



So, thank you all very much for the cure.



I have umpteen years programming in machine code and 15 in VB6 with the
Jet engine to Access. All works well with Apache/PHP/VB exes. Do I
really need .Net ???


[2009-08-27 10:00:24] listephp at andrioli dot com

I've the same problem too.

I tried the latest snapshot 5.2.11RC2-dev build date: Aug 26 2009
23:42:35 , but it shows up.



Configuration

- Windows 2003 R2

- Apache 2.2.11



Both, exec() running java.exe and system() running .NET program, hang
Apache as described above.


[2009-06-08 16:41:29] alex at bartl dot net

Reproducable with PHP 5.2.9-1 on Windows2003 Server with Apache2.2

Workaround with calling session_write_close() before calling exec()

confirmed working



NOT reproducable with PHP 5.2.1 on Windows 2000 Server with IIS5



anyway, seems to be a duplicate of Bug#44994


[2009-04-07 15:12:50] gouldee at netscape dot com

I am having the same or similar issue:

OS: MS2003

PHP: 5.2.6

APACHE2: 2.2



The bug occurs with an PHP script that has a PHP passthru exec call that
hangs every now and then.  After the first hang occurs then any passthru
call hangs in the same manner.



I believe that the passthru call runs as I am calling a sendmail.exe
process that does send the E-Mail, however, the Browser page hangs after
the E-Mail has been sent by sendmail.exe called via passthru().



There are no PHP or Apache2 errors or warnings.  It seems that the
problem happens when (2) calls to the same .exe happens at the same
time, but, I have no real proof of this, as I can't provide execution
times for each instance of the send

Bug #44942 [Com]: exec() hangs apache

2010-09-06 Thread elwiz at 3e dot pl
Edit report at http://bugs.php.net/bug.php?id=44942&edit=1

 ID: 44942
 Comment by: elwiz at 3e dot pl
 Reported by:inqualab1985 at gmail dot com
 Summary:exec() hangs apache
 Status: No Feedback
 Type:   Bug
 Package:Program Execution
 Operating System:   Windows 2000 SP4
 PHP Version:5.2.5
 Block user comment: N

 New Comment:

Hello.



I am also having the same problem. One of my scripts is being called
multiple times (as a SRC for image tags) and each time it uses the exec
function. On windows XP, with PHP 5.2.5 and Apache 2.2 the PHP stops
responding. Requests for static files can be done but PHP scripts run
endlessly. Session closing and opening helps but it is still just a
workaround.


Previous Comments:

[2010-07-25 21:00:18] andy dot hilbig at clubsys dot co dot uk

I have been plagued with PHP freezing after a few minutes, days or maybe
weeks. 

I use exec() to link to custom vb.exe

I have searched and searched until today tried the
session_write_close(); before the exec()call and session_start ();
after.



I can now click [Next Day]/[Next Day] as fast as I like and all appears
solid now. Other users have connected at the same time.



So, thank you all very much for the cure.



I have umpteen years programming in machine code and 15 in VB6 with the
Jet engine to Access. All works well with Apache/PHP/VB exes. Do I
really need .Net ???


[2009-08-27 10:00:24] listephp at andrioli dot com

I've the same problem too.

I tried the latest snapshot 5.2.11RC2-dev build date: Aug 26 2009
23:42:35 , but it shows up.



Configuration

- Windows 2003 R2

- Apache 2.2.11



Both, exec() running java.exe and system() running .NET program, hang
Apache as described above.


[2009-06-08 16:41:29] alex at bartl dot net

Reproducable with PHP 5.2.9-1 on Windows2003 Server with Apache2.2

Workaround with calling session_write_close() before calling exec()

confirmed working



NOT reproducable with PHP 5.2.1 on Windows 2000 Server with IIS5



anyway, seems to be a duplicate of Bug#44994


[2009-04-07 15:12:50] gouldee at netscape dot com

I am having the same or similar issue:

OS: MS2003

PHP: 5.2.6

APACHE2: 2.2



The bug occurs with an PHP script that has a PHP passthru exec call that
hangs every now and then.  After the first hang occurs then any passthru
call hangs in the same manner.



I believe that the passthru call runs as I am calling a sendmail.exe
process that does send the E-Mail, however, the Browser page hangs after
the E-Mail has been sent by sendmail.exe called via passthru().



There are no PHP or Apache2 errors or warnings.  It seems that the
problem happens when (2) calls to the same .exe happens at the same
time, but, I have no real proof of this, as I can't provide execution
times for each instance of the sendmail.exe running.



This is a serious problem, as all pages that call an .exe process after
the initial hang will hang up as well. I can clear the bug by simply
stopping and restarting the Apache service.



I also note that If I run the page, that hangs up, manually in a Command
Prompt DOS window like:  D:\php page.php there are no hangs and the
process performs correctly even during and after the first showing of
the bug.  So the problem seems to be when PHP does an exec call in
conjunction with Apache, as I said even during the time a hang occurs I
can still exec passthru commands from a command prompt.



I can also run any page that calls PHP as long as the page does not have
any exec or passthru calls in it, and all pages with HTML only runs fine
as well during the hang period.


[2009-02-26 15:14:32] frase at cs dot wisc dot edu

This is happening to me as well, PHP 5.2.8, Apache 2.2.11, Windows 2000
Pro SP4.



However, it only seems to happen when PHP is configured as an Apache
module (php5apache2_2.dll); when I configure it as CGI, it works fine.



I also have anecdotal evidence that it's related somehow to other
sockets being open on the system.  In my case, we have a VB (compiled)
application with an embedded IE control, and also opens the serial port
to communicate with some hardware.  If that hardware is plugged in (and
PHP is loaded as a module), then our scripts hang at 'exec("ping -n 1
somehost")'.  If I unplug the hardware (so the serial port can't be
opened), it works.




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

Bug #44942 [Com]: exec() hangs apache

2010-07-25 Thread andy dot hilbig at clubsys dot co dot uk
Edit report at http://bugs.php.net/bug.php?id=44942&edit=1

 ID:   44942
 Comment by:   andy dot hilbig at clubsys dot co dot uk
 Reported by:  inqualab1985 at gmail dot com
 Summary:  exec() hangs apache
 Status:   No Feedback
 Type: Bug
 Package:  Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5

 New Comment:

I have been plagued with PHP freezing after a few minutes, days or maybe
weeks. 

I use exec() to link to custom vb.exe

I have searched and searched until today tried the
session_write_close(); before the exec()call and session_start ();
after.



I can now click [Next Day]/[Next Day] as fast as I like and all appears
solid now. Other users have connected at the same time.



So, thank you all very much for the cure.



I have umpteen years programming in machine code and 15 in VB6 with the
Jet engine to Access. All works well with Apache/PHP/VB exes. Do I
really need .Net ???


Previous Comments:

[2009-08-27 10:00:24] listephp at andrioli dot com

I've the same problem too.

I tried the latest snapshot 5.2.11RC2-dev build date: Aug 26 2009
23:42:35 , but it shows up.



Configuration

- Windows 2003 R2

- Apache 2.2.11



Both, exec() running java.exe and system() running .NET program, hang
Apache as described above.


[2009-06-08 16:41:29] alex at bartl dot net

Reproducable with PHP 5.2.9-1 on Windows2003 Server with Apache2.2

Workaround with calling session_write_close() before calling exec()

confirmed working



NOT reproducable with PHP 5.2.1 on Windows 2000 Server with IIS5



anyway, seems to be a duplicate of Bug#44994


[2009-04-07 15:12:50] gouldee at netscape dot com

I am having the same or similar issue:

OS: MS2003

PHP: 5.2.6

APACHE2: 2.2



The bug occurs with an PHP script that has a PHP passthru exec call that
hangs every now and then.  After the first hang occurs then any passthru
call hangs in the same manner.



I believe that the passthru call runs as I am calling a sendmail.exe
process that does send the E-Mail, however, the Browser page hangs after
the E-Mail has been sent by sendmail.exe called via passthru().



There are no PHP or Apache2 errors or warnings.  It seems that the
problem happens when (2) calls to the same .exe happens at the same
time, but, I have no real proof of this, as I can't provide execution
times for each instance of the sendmail.exe running.



This is a serious problem, as all pages that call an .exe process after
the initial hang will hang up as well. I can clear the bug by simply
stopping and restarting the Apache service.



I also note that If I run the page, that hangs up, manually in a Command
Prompt DOS window like:  D:\php page.php there are no hangs and the
process performs correctly even during and after the first showing of
the bug.  So the problem seems to be when PHP does an exec call in
conjunction with Apache, as I said even during the time a hang occurs I
can still exec passthru commands from a command prompt.



I can also run any page that calls PHP as long as the page does not have
any exec or passthru calls in it, and all pages with HTML only runs fine
as well during the hang period.


[2009-02-26 15:14:32] frase at cs dot wisc dot edu

This is happening to me as well, PHP 5.2.8, Apache 2.2.11, Windows 2000
Pro SP4.



However, it only seems to happen when PHP is configured as an Apache
module (php5apache2_2.dll); when I configure it as CGI, it works fine.



I also have anecdotal evidence that it's related somehow to other
sockets being open on the system.  In my case, we have a VB (compiled)
application with an embedded IE control, and also opens the serial port
to communicate with some hardware.  If that hardware is plugged in (and
PHP is loaded as a module), then our scripts hang at 'exec("ping -n 1
somehost")'.  If I unplug the hardware (so the serial port can't be
opened), it works.


[2009-02-17 10:12:38] russell_anam at hotmail dot com

I can indeed confirm that this bug exists in the latest PHP version (PHP
5.2.8). exec() would randomly hang the Apache and the only solution was
to restart the whole server (service restart did not help). I can also
confirm that vlabella's solution INDEED worked for us. Since this
workaround works I think it's safe to say this is indeed a PHP bug that
needs to be fixed ASAP.




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=44942


-- 
Edit th

#44942 [Com]: exec() hangs apache

2009-08-27 Thread listephp at andrioli dot com
 ID:   44942
 Comment by:   listephp at andrioli dot com
 Reported By:  inqualab1985 at gmail dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5
 New Comment:

I've the same problem too.
I tried the latest snapshot 5.2.11RC2-dev build date: Aug 26 2009
23:42:35 , but it shows up.

Configuration
- Windows 2003 R2
- Apache 2.2.11

Both, exec() running java.exe and system() running .NET program, hang
Apache as described above.


Previous Comments:


[2009-06-08 16:41:29] alex at bartl dot net

Reproducable with PHP 5.2.9-1 on Windows2003 Server with Apache2.2
Workaround with calling session_write_close() before calling exec()
confirmed working

NOT reproducable with PHP 5.2.1 on Windows 2000 Server with IIS5

anyway, seems to be a duplicate of Bug#44994



[2009-04-07 15:12:50] gouldee at netscape dot com

I am having the same or similar issue:
OS: MS2003
PHP: 5.2.6
APACHE2: 2.2

The bug occurs with an PHP script that has a PHP passthru exec call
that hangs every now and then.  After the first hang occurs then any
passthru call hangs in the same manner.

I believe that the passthru call runs as I am calling a sendmail.exe
process that does send the E-Mail, however, the Browser page hangs after
the E-Mail has been sent by sendmail.exe called via passthru().

There are no PHP or Apache2 errors or warnings.  It seems that the
problem happens when (2) calls to the same .exe happens at the same
time, but, I have no real proof of this, as I can't provide execution
times for each instance of the sendmail.exe running.

This is a serious problem, as all pages that call an .exe process after
the initial hang will hang up as well. I can clear the bug by simply
stopping and restarting the Apache service.

I also note that If I run the page, that hangs up, manually in a
Command Prompt DOS window like:  D:\php page.php there are no hangs and
the process performs correctly even during and after the first showing
of the bug.  So the problem seems to be when PHP does an exec call in
conjunction with Apache, as I said even during the time a hang occurs I
can still exec passthru commands from a command prompt.

I can also run any page that calls PHP as long as the page does not
have any exec or passthru calls in it, and all pages with HTML only runs
fine as well during the hang period.



[2009-02-26 15:14:32] frase at cs dot wisc dot edu

This is happening to me as well, PHP 5.2.8, Apache 2.2.11, Windows 2000
Pro SP4.

However, it only seems to happen when PHP is configured as an Apache
module (php5apache2_2.dll); when I configure it as CGI, it works fine.

I also have anecdotal evidence that it's related somehow to other
sockets being open on the system.  In my case, we have a VB (compiled)
application with an embedded IE control, and also opens the serial port
to communicate with some hardware.  If that hardware is plugged in (and
PHP is loaded as a module), then our scripts hang at 'exec("ping -n 1
somehost")'.  If I unplug the hardware (so the serial port can't be
opened), it works.



[2009-02-17 10:12:38] russell_anam at hotmail dot com

I can indeed confirm that this bug exists in the latest PHP version
(PHP 5.2.8). exec() would randomly hang the Apache and the only solution
was to restart the whole server (service restart did not help). I can
also confirm that vlabella's solution INDEED worked for us. Since this
workaround works I think it's safe to say this is indeed a PHP bug that
needs to be fixed ASAP.



[2009-01-29 18:21:30] rolinger1 at hotmail dot com

I came across this article searching for a similar problem. I am using
Perl 5.10 though but am having the same issue with Apache 2.2.  That
being said, I believe the issues are the same and that the problem is
with Apache and not php or perl.

With Perl I do a backtick call and Apache's CGI hangs.  The windows
system processes shows 1 cmd running and 1 perl app running for each
time I click on the called web script.  

Perl call:
@files = `dir ../configs /0:D /A:-D` ;

Somehow, apache uses the backtick command to launch a "cmd" console
process which in turn executes the system call "dir..."

I say the Apache CGI hangs because other PHP scripts (that don't do
system calls) all still seem to work.  But after the first CGI hang, all
other Perl calls hang - even scripts that don't have system calls in
them.  Scripts with system calls load another pair of cmd/perl processes
and return no data, scripts without system calls loads another perl
process but does return data.  

After the initial hang tho

#44942 [Com]: exec() hangs apache

2009-06-08 Thread alex at bartl dot net
 ID:   44942
 Comment by:   alex at bartl dot net
 Reported By:  inqualab1985 at gmail dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5
 New Comment:

Reproducable with PHP 5.2.9-1 on Windows2003 Server with Apache2.2
Workaround with calling session_write_close() before calling exec()
confirmed working

NOT reproducable with PHP 5.2.1 on Windows 2000 Server with IIS5

anyway, seems to be a duplicate of Bug#44994


Previous Comments:


[2009-04-07 15:12:50] gouldee at netscape dot com

I am having the same or similar issue:
OS: MS2003
PHP: 5.2.6
APACHE2: 2.2

The bug occurs with an PHP script that has a PHP passthru exec call
that hangs every now and then.  After the first hang occurs then any
passthru call hangs in the same manner.

I believe that the passthru call runs as I am calling a sendmail.exe
process that does send the E-Mail, however, the Browser page hangs after
the E-Mail has been sent by sendmail.exe called via passthru().

There are no PHP or Apache2 errors or warnings.  It seems that the
problem happens when (2) calls to the same .exe happens at the same
time, but, I have no real proof of this, as I can't provide execution
times for each instance of the sendmail.exe running.

This is a serious problem, as all pages that call an .exe process after
the initial hang will hang up as well. I can clear the bug by simply
stopping and restarting the Apache service.

I also note that If I run the page, that hangs up, manually in a
Command Prompt DOS window like:  D:\php page.php there are no hangs and
the process performs correctly even during and after the first showing
of the bug.  So the problem seems to be when PHP does an exec call in
conjunction with Apache, as I said even during the time a hang occurs I
can still exec passthru commands from a command prompt.

I can also run any page that calls PHP as long as the page does not
have any exec or passthru calls in it, and all pages with HTML only runs
fine as well during the hang period.



[2009-02-26 15:14:32] frase at cs dot wisc dot edu

This is happening to me as well, PHP 5.2.8, Apache 2.2.11, Windows 2000
Pro SP4.

However, it only seems to happen when PHP is configured as an Apache
module (php5apache2_2.dll); when I configure it as CGI, it works fine.

I also have anecdotal evidence that it's related somehow to other
sockets being open on the system.  In my case, we have a VB (compiled)
application with an embedded IE control, and also opens the serial port
to communicate with some hardware.  If that hardware is plugged in (and
PHP is loaded as a module), then our scripts hang at 'exec("ping -n 1
somehost")'.  If I unplug the hardware (so the serial port can't be
opened), it works.



[2009-02-17 10:12:38] russell_anam at hotmail dot com

I can indeed confirm that this bug exists in the latest PHP version
(PHP 5.2.8). exec() would randomly hang the Apache and the only solution
was to restart the whole server (service restart did not help). I can
also confirm that vlabella's solution INDEED worked for us. Since this
workaround works I think it's safe to say this is indeed a PHP bug that
needs to be fixed ASAP.



[2009-01-29 18:21:30] rolinger1 at hotmail dot com

I came across this article searching for a similar problem. I am using
Perl 5.10 though but am having the same issue with Apache 2.2.  That
being said, I believe the issues are the same and that the problem is
with Apache and not php or perl.

With Perl I do a backtick call and Apache's CGI hangs.  The windows
system processes shows 1 cmd running and 1 perl app running for each
time I click on the called web script.  

Perl call:
@files = `dir ../configs /0:D /A:-D` ;

Somehow, apache uses the backtick command to launch a "cmd" console
process which in turn executes the system call "dir..."

I say the Apache CGI hangs because other PHP scripts (that don't do
system calls) all still seem to work.  But after the first CGI hang, all
other Perl calls hang - even scripts that don't have system calls in
them.  Scripts with system calls load another pair of cmd/perl processes
and return no data, scripts without system calls loads another perl
process but does return data.  

After the initial hang though, all related processes (cmd or perl)
remain in memory and eventually Apache just hangs altogether.  And when
that happens we are forced to do a system reboot - simply doing a
service restart has won't work.



[2009-01-15 16:54:54] bill at sammer dot com

session_write_close fixes it for me too.  Thanks vlabella!

---

#44942 [Com]: exec() hangs apache

2009-04-07 Thread gouldee at netscape dot com
 ID:   44942
 Comment by:   gouldee at netscape dot com
 Reported By:  inqualab1985 at gmail dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5
 New Comment:

I am having the same or similar issue:
OS: MS2003
PHP: 5.2.6
APACHE2: 2.2

The bug occurs with an PHP script that has a PHP passthru exec call
that hangs every now and then.  After the first hang occurs then any
passthru call hangs in the same manner.

I believe that the passthru call runs as I am calling a sendmail.exe
process that does send the E-Mail, however, the Browser page hangs after
the E-Mail has been sent by sendmail.exe called via passthru().

There are no PHP or Apache2 errors or warnings.  It seems that the
problem happens when (2) calls to the same .exe happens at the same
time, but, I have no real proof of this, as I can't provide execution
times for each instance of the sendmail.exe running.

This is a serious problem, as all pages that call an .exe process after
the initial hang will hang up as well. I can clear the bug by simply
stopping and restarting the Apache service.

I also note that If I run the page, that hangs up, manually in a
Command Prompt DOS window like:  D:\php page.php there are no hangs and
the process performs correctly even during and after the first showing
of the bug.  So the problem seems to be when PHP does an exec call in
conjunction with Apache, as I said even during the time a hang occurs I
can still exec passthru commands from a command prompt.

I can also run any page that calls PHP as long as the page does not
have any exec or passthru calls in it, and all pages with HTML only runs
fine as well during the hang period.


Previous Comments:


[2009-02-26 15:14:32] frase at cs dot wisc dot edu

This is happening to me as well, PHP 5.2.8, Apache 2.2.11, Windows 2000
Pro SP4.

However, it only seems to happen when PHP is configured as an Apache
module (php5apache2_2.dll); when I configure it as CGI, it works fine.

I also have anecdotal evidence that it's related somehow to other
sockets being open on the system.  In my case, we have a VB (compiled)
application with an embedded IE control, and also opens the serial port
to communicate with some hardware.  If that hardware is plugged in (and
PHP is loaded as a module), then our scripts hang at 'exec("ping -n 1
somehost")'.  If I unplug the hardware (so the serial port can't be
opened), it works.



[2009-02-17 10:12:38] russell_anam at hotmail dot com

I can indeed confirm that this bug exists in the latest PHP version
(PHP 5.2.8). exec() would randomly hang the Apache and the only solution
was to restart the whole server (service restart did not help). I can
also confirm that vlabella's solution INDEED worked for us. Since this
workaround works I think it's safe to say this is indeed a PHP bug that
needs to be fixed ASAP.



[2009-01-29 18:21:30] rolinger1 at hotmail dot com

I came across this article searching for a similar problem. I am using
Perl 5.10 though but am having the same issue with Apache 2.2.  That
being said, I believe the issues are the same and that the problem is
with Apache and not php or perl.

With Perl I do a backtick call and Apache's CGI hangs.  The windows
system processes shows 1 cmd running and 1 perl app running for each
time I click on the called web script.  

Perl call:
@files = `dir ../configs /0:D /A:-D` ;

Somehow, apache uses the backtick command to launch a "cmd" console
process which in turn executes the system call "dir..."

I say the Apache CGI hangs because other PHP scripts (that don't do
system calls) all still seem to work.  But after the first CGI hang, all
other Perl calls hang - even scripts that don't have system calls in
them.  Scripts with system calls load another pair of cmd/perl processes
and return no data, scripts without system calls loads another perl
process but does return data.  

After the initial hang though, all related processes (cmd or perl)
remain in memory and eventually Apache just hangs altogether.  And when
that happens we are forced to do a system reboot - simply doing a
service restart has won't work.



[2009-01-15 16:54:54] bill at sammer dot com

session_write_close fixes it for me too.  Thanks vlabella!



[2008-12-04 04:35:44] dominic dot manley at det dot wa dot edu dot au

Big thanks to vlabella who led us to a work-around. This is one VERY
frustrating bug to track down!

We have an Apache/PHP 5.2.3/Win2003 setup and concurrent calls to a
script that exec()-ed the same command-line .exe caused the process to
get

#44942 [Com]: exec() hangs apache

2009-02-26 Thread frase at cs dot wisc dot edu
 ID:   44942
 Comment by:   frase at cs dot wisc dot edu
 Reported By:  inqualab1985 at gmail dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5
 New Comment:

This is happening to me as well, PHP 5.2.8, Apache 2.2.11, Windows 2000
Pro SP4.

However, it only seems to happen when PHP is configured as an Apache
module (php5apache2_2.dll); when I configure it as CGI, it works fine.

I also have anecdotal evidence that it's related somehow to other
sockets being open on the system.  In my case, we have a VB (compiled)
application with an embedded IE control, and also opens the serial port
to communicate with some hardware.  If that hardware is plugged in (and
PHP is loaded as a module), then our scripts hang at 'exec("ping -n 1
somehost")'.  If I unplug the hardware (so the serial port can't be
opened), it works.


Previous Comments:


[2009-02-17 10:12:38] russell_anam at hotmail dot com

I can indeed confirm that this bug exists in the latest PHP version
(PHP 5.2.8). exec() would randomly hang the Apache and the only solution
was to restart the whole server (service restart did not help). I can
also confirm that vlabella's solution INDEED worked for us. Since this
workaround works I think it's safe to say this is indeed a PHP bug that
needs to be fixed ASAP.



[2009-01-29 18:21:30] rolinger1 at hotmail dot com

I came across this article searching for a similar problem. I am using
Perl 5.10 though but am having the same issue with Apache 2.2.  That
being said, I believe the issues are the same and that the problem is
with Apache and not php or perl.

With Perl I do a backtick call and Apache's CGI hangs.  The windows
system processes shows 1 cmd running and 1 perl app running for each
time I click on the called web script.  

Perl call:
@files = `dir ../configs /0:D /A:-D` ;

Somehow, apache uses the backtick command to launch a "cmd" console
process which in turn executes the system call "dir..."

I say the Apache CGI hangs because other PHP scripts (that don't do
system calls) all still seem to work.  But after the first CGI hang, all
other Perl calls hang - even scripts that don't have system calls in
them.  Scripts with system calls load another pair of cmd/perl processes
and return no data, scripts without system calls loads another perl
process but does return data.  

After the initial hang though, all related processes (cmd or perl)
remain in memory and eventually Apache just hangs altogether.  And when
that happens we are forced to do a system reboot - simply doing a
service restart has won't work.



[2009-01-15 16:54:54] bill at sammer dot com

session_write_close fixes it for me too.  Thanks vlabella!



[2008-12-04 04:35:44] dominic dot manley at det dot wa dot edu dot au

Big thanks to vlabella who led us to a work-around. This is one VERY
frustrating bug to track down!

We have an Apache/PHP 5.2.3/Win2003 setup and concurrent calls to a
script that exec()-ed the same command-line .exe caused the process to
get caught up on the server. Apache wouldn't let go of it and the only
way to kill the process and get the site/sometimes whole server back was
to restart Apache.

I never would have suspected sessions causing this issue... none of our
investigations led us close to that direction. However, vlabella got it
spot on...

Calling session_write_close() before an exec() (or simply never
initiating session support to start with using session_start()) works
around the issue.



[2008-10-21 09:26:44] neododge at free dot fr

The same problem happens for me on PHP 5.2.6 / Apache 2.2.9, Apache
won't run any PHP after I try an exec/passthru/`` -no matter what
command I try. Only way to get PHP back seems to be closing all browser
windows that point to my server and waiting for a while before trying to
use a PHP page again.



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/44942

-- 
Edit this bug report at http://bugs.php.net/?id=44942&edit=1



#44942 [Com]: exec() hangs apache

2009-02-17 Thread russell_anam at hotmail dot com
 ID:   44942
 Comment by:   russell_anam at hotmail dot com
 Reported By:  inqualab1985 at gmail dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5
 New Comment:

I can indeed confirm that this bug exists in the latest PHP version
(PHP 5.2.8). exec() would randomly hang the Apache and the only solution
was to restart the whole server (service restart did not help). I can
also confirm that vlabella's solution INDEED worked for us. Since this
workaround works I think it's safe to say this is indeed a PHP bug that
needs to be fixed ASAP.


Previous Comments:


[2009-01-29 18:21:30] rolinger1 at hotmail dot com

I came across this article searching for a similar problem. I am using
Perl 5.10 though but am having the same issue with Apache 2.2.  That
being said, I believe the issues are the same and that the problem is
with Apache and not php or perl.

With Perl I do a backtick call and Apache's CGI hangs.  The windows
system processes shows 1 cmd running and 1 perl app running for each
time I click on the called web script.  

Perl call:
@files = `dir ../configs /0:D /A:-D` ;

Somehow, apache uses the backtick command to launch a "cmd" console
process which in turn executes the system call "dir..."

I say the Apache CGI hangs because other PHP scripts (that don't do
system calls) all still seem to work.  But after the first CGI hang, all
other Perl calls hang - even scripts that don't have system calls in
them.  Scripts with system calls load another pair of cmd/perl processes
and return no data, scripts without system calls loads another perl
process but does return data.  

After the initial hang though, all related processes (cmd or perl)
remain in memory and eventually Apache just hangs altogether.  And when
that happens we are forced to do a system reboot - simply doing a
service restart has won't work.



[2009-01-15 16:54:54] bill at sammer dot com

session_write_close fixes it for me too.  Thanks vlabella!



[2008-12-04 04:35:44] dominic dot manley at det dot wa dot edu dot au

Big thanks to vlabella who led us to a work-around. This is one VERY
frustrating bug to track down!

We have an Apache/PHP 5.2.3/Win2003 setup and concurrent calls to a
script that exec()-ed the same command-line .exe caused the process to
get caught up on the server. Apache wouldn't let go of it and the only
way to kill the process and get the site/sometimes whole server back was
to restart Apache.

I never would have suspected sessions causing this issue... none of our
investigations led us close to that direction. However, vlabella got it
spot on...

Calling session_write_close() before an exec() (or simply never
initiating session support to start with using session_start()) works
around the issue.



[2008-10-21 09:26:44] neododge at free dot fr

The same problem happens for me on PHP 5.2.6 / Apache 2.2.9, Apache
won't run any PHP after I try an exec/passthru/`` -no matter what
command I try. Only way to get PHP back seems to be closing all browser
windows that point to my server and waiting for a while before trying to
use a PHP page again.



[2008-09-15 17:01:02] vlabella at uamail dot albany dot edu

We have been having the same issue for a long time on win2003 with php
version 5.2.X and apache 5.2.x calling both perl scripts and .exe with
the exec fuinction.  We found that it mostly happens when php runs exec
concurrently on the same process.  For example we would have ajax call
do an exec on the server to read some data and feed it back to the user
every 5 seconds.  In addition the user could do an ajax call to do
something as well on this page.  if the user call came at the same time
as the schdeduled call then php would hang and we would have to restart
apache.  We found it also happens on pages where there are multiple
exec() calls.  We find that all the scripts and programs we call run
fine its just that php hangs when they finish for some reason.  We have
our max_execution_time set to 30 minutes so its not a timeout issue.

We found that calling
session_write_close();
before each exec call seemed to resolve this issue.  But we are not
really sure why and what other effects session_write_close(); may have
on other processes.

Hope this helps resolve this issue.  it is a major headache for us for
the past 2 years!!



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/44942

-- 
Edit 

#44942 [Com]: exec() hangs apache

2009-01-29 Thread rolinger1 at hotmail dot com
 ID:   44942
 Comment by:   rolinger1 at hotmail dot com
 Reported By:  inqualab1985 at gmail dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5
 New Comment:

I came across this article searching for a similar problem. I am using
Perl 5.10 though but am having the same issue with Apache 2.2.  That
being said, I believe the issues are the same and that the problem is
with Apache and not php or perl.

With Perl I do a backtick call and Apache's CGI hangs.  The windows
system processes shows 1 cmd running and 1 perl app running for each
time I click on the called web script.  

Perl call:
@files = `dir ../configs /0:D /A:-D` ;

Somehow, apache uses the backtick command to launch a "cmd" console
process which in turn executes the system call "dir..."

I say the Apache CGI hangs because other PHP scripts (that don't do
system calls) all still seem to work.  But after the first CGI hang, all
other Perl calls hang - even scripts that don't have system calls in
them.  Scripts with system calls load another pair of cmd/perl processes
and return no data, scripts without system calls loads another perl
process but does return data.  

After the initial hang though, all related processes (cmd or perl)
remain in memory and eventually Apache just hangs altogether.  And when
that happens we are forced to do a system reboot - simply doing a
service restart has won't work.


Previous Comments:


[2009-01-15 16:54:54] bill at sammer dot com

session_write_close fixes it for me too.  Thanks vlabella!



[2008-12-04 04:35:44] dominic dot manley at det dot wa dot edu dot au

Big thanks to vlabella who led us to a work-around. This is one VERY
frustrating bug to track down!

We have an Apache/PHP 5.2.3/Win2003 setup and concurrent calls to a
script that exec()-ed the same command-line .exe caused the process to
get caught up on the server. Apache wouldn't let go of it and the only
way to kill the process and get the site/sometimes whole server back was
to restart Apache.

I never would have suspected sessions causing this issue... none of our
investigations led us close to that direction. However, vlabella got it
spot on...

Calling session_write_close() before an exec() (or simply never
initiating session support to start with using session_start()) works
around the issue.



[2008-10-21 09:26:44] neododge at free dot fr

The same problem happens for me on PHP 5.2.6 / Apache 2.2.9, Apache
won't run any PHP after I try an exec/passthru/`` -no matter what
command I try. Only way to get PHP back seems to be closing all browser
windows that point to my server and waiting for a while before trying to
use a PHP page again.



[2008-09-15 17:01:02] vlabella at uamail dot albany dot edu

We have been having the same issue for a long time on win2003 with php
version 5.2.X and apache 5.2.x calling both perl scripts and .exe with
the exec fuinction.  We found that it mostly happens when php runs exec
concurrently on the same process.  For example we would have ajax call
do an exec on the server to read some data and feed it back to the user
every 5 seconds.  In addition the user could do an ajax call to do
something as well on this page.  if the user call came at the same time
as the schdeduled call then php would hang and we would have to restart
apache.  We found it also happens on pages where there are multiple
exec() calls.  We find that all the scripts and programs we call run
fine its just that php hangs when they finish for some reason.  We have
our max_execution_time set to 30 minutes so its not a timeout issue.

We found that calling
session_write_close();
before each exec call seemed to resolve this issue.  But we are not
really sure why and what other effects session_write_close(); may have
on other processes.

Hope this helps resolve this issue.  it is a major headache for us for
the past 2 years!!



[2008-08-08 18:55:29] jumpbackhack at gmail dot com

this is still a bug. this is not an apache issue as I have tested
various versions ranging from 2.0.x to 2.2.x

I have tested php v5.2.6 and even a late development version.  This
happens on linux OS as well even with shell_exec()

would there be a backtrace on a hang?

it appears that the hang happens after a successful script executes,
the following time the script runs there is the hang.  usually lasts 2-5
minutes before it allows apache to run any php again.

note that apache will serve static/html files without issue while any
php files are not called.

even a restart of apache does not resolve.

-

#44942 [Com]: exec() hangs apache

2009-01-15 Thread bill at sammer dot com
 ID:   44942
 Comment by:   bill at sammer dot com
 Reported By:  inqualab1985 at gmail dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5
 New Comment:

session_write_close fixes it for me too.  Thanks vlabella!


Previous Comments:


[2008-12-04 04:35:44] dominic dot manley at det dot wa dot edu dot au

Big thanks to vlabella who led us to a work-around. This is one VERY
frustrating bug to track down!

We have an Apache/PHP 5.2.3/Win2003 setup and concurrent calls to a
script that exec()-ed the same command-line .exe caused the process to
get caught up on the server. Apache wouldn't let go of it and the only
way to kill the process and get the site/sometimes whole server back was
to restart Apache.

I never would have suspected sessions causing this issue... none of our
investigations led us close to that direction. However, vlabella got it
spot on...

Calling session_write_close() before an exec() (or simply never
initiating session support to start with using session_start()) works
around the issue.



[2008-10-21 09:26:44] neododge at free dot fr

The same problem happens for me on PHP 5.2.6 / Apache 2.2.9, Apache
won't run any PHP after I try an exec/passthru/`` -no matter what
command I try. Only way to get PHP back seems to be closing all browser
windows that point to my server and waiting for a while before trying to
use a PHP page again.



[2008-09-15 17:01:02] vlabella at uamail dot albany dot edu

We have been having the same issue for a long time on win2003 with php
version 5.2.X and apache 5.2.x calling both perl scripts and .exe with
the exec fuinction.  We found that it mostly happens when php runs exec
concurrently on the same process.  For example we would have ajax call
do an exec on the server to read some data and feed it back to the user
every 5 seconds.  In addition the user could do an ajax call to do
something as well on this page.  if the user call came at the same time
as the schdeduled call then php would hang and we would have to restart
apache.  We found it also happens on pages where there are multiple
exec() calls.  We find that all the scripts and programs we call run
fine its just that php hangs when they finish for some reason.  We have
our max_execution_time set to 30 minutes so its not a timeout issue.

We found that calling
session_write_close();
before each exec call seemed to resolve this issue.  But we are not
really sure why and what other effects session_write_close(); may have
on other processes.

Hope this helps resolve this issue.  it is a major headache for us for
the past 2 years!!



[2008-08-08 18:55:29] jumpbackhack at gmail dot com

this is still a bug. this is not an apache issue as I have tested
various versions ranging from 2.0.x to 2.2.x

I have tested php v5.2.6 and even a late development version.  This
happens on linux OS as well even with shell_exec()

would there be a backtrace on a hang?

it appears that the hang happens after a successful script executes,
the following time the script runs there is the hang.  usually lasts 2-5
minutes before it allows apache to run any php again.

note that apache will serve static/html files without issue while any
php files are not called.

even a restart of apache does not resolve.



[2008-07-22 01:00:01] 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".



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/44942

-- 
Edit this bug report at http://bugs.php.net/?id=44942&edit=1



#44942 [Com]: exec() hangs apache

2008-12-03 Thread dominic dot manley at det dot wa dot edu dot au
 ID:   44942
 Comment by:   dominic dot manley at det dot wa dot edu dot au
 Reported By:  inqualab1985 at gmail dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5
 New Comment:

Big thanks to vlabella who led us to a work-around. This is one VERY
frustrating bug to track down!

We have an Apache/PHP 5.2.3/Win2003 setup and concurrent calls to a
script that exec()-ed the same command-line .exe caused the process to
get caught up on the server. Apache wouldn't let go of it and the only
way to kill the process and get the site/sometimes whole server back was
to restart Apache.

I never would have suspected sessions causing this issue... none of our
investigations led us close to that direction. However, vlabella got it
spot on...

Calling session_write_close() before an exec() (or simply never
initiating session support to start with using session_start()) works
around the issue.


Previous Comments:


[2008-10-21 09:26:44] neododge at free dot fr

The same problem happens for me on PHP 5.2.6 / Apache 2.2.9, Apache
won't run any PHP after I try an exec/passthru/`` -no matter what
command I try. Only way to get PHP back seems to be closing all browser
windows that point to my server and waiting for a while before trying to
use a PHP page again.



[2008-09-15 17:01:02] vlabella at uamail dot albany dot edu

We have been having the same issue for a long time on win2003 with php
version 5.2.X and apache 5.2.x calling both perl scripts and .exe with
the exec fuinction.  We found that it mostly happens when php runs exec
concurrently on the same process.  For example we would have ajax call
do an exec on the server to read some data and feed it back to the user
every 5 seconds.  In addition the user could do an ajax call to do
something as well on this page.  if the user call came at the same time
as the schdeduled call then php would hang and we would have to restart
apache.  We found it also happens on pages where there are multiple
exec() calls.  We find that all the scripts and programs we call run
fine its just that php hangs when they finish for some reason.  We have
our max_execution_time set to 30 minutes so its not a timeout issue.

We found that calling
session_write_close();
before each exec call seemed to resolve this issue.  But we are not
really sure why and what other effects session_write_close(); may have
on other processes.

Hope this helps resolve this issue.  it is a major headache for us for
the past 2 years!!



[2008-08-08 18:55:29] jumpbackhack at gmail dot com

this is still a bug. this is not an apache issue as I have tested
various versions ranging from 2.0.x to 2.2.x

I have tested php v5.2.6 and even a late development version.  This
happens on linux OS as well even with shell_exec()

would there be a backtrace on a hang?

it appears that the hang happens after a successful script executes,
the following time the script runs there is the hang.  usually lasts 2-5
minutes before it allows apache to run any php again.

note that apache will serve static/html files without issue while any
php files are not called.

even a restart of apache does not resolve.



[2008-07-22 01:00:01] 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".



[2008-07-14 21:14:29] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.





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/44942

-- 
Edit this bug report at http://bugs.php.net/?id=44942&edit=1



#44942 [Com]: exec() hangs apache

2008-10-21 Thread neododge at free dot fr
 ID:   44942
 Comment by:   neododge at free dot fr
 Reported By:  inqualab1985 at gmail dot com
 Status:   No Feedback
 Bug Type: Program Execution
 Operating System: Windows 2000 SP4
 PHP Version:  5.2.5
 New Comment:

The same problem happens for me on PHP 5.2.6 / Apache 2.2.9, Apache
won't run any PHP after I try an exec/passthru/`` -no matter what
command I try. Only way to get PHP back seems to be closing all browser
windows that point to my server and waiting for a while before trying to
use a PHP page again.


Previous Comments:


[2008-09-15 17:01:02] vlabella at uamail dot albany dot edu

We have been having the same issue for a long time on win2003 with php
version 5.2.X and apache 5.2.x calling both perl scripts and .exe with
the exec fuinction.  We found that it mostly happens when php runs exec
concurrently on the same process.  For example we would have ajax call
do an exec on the server to read some data and feed it back to the user
every 5 seconds.  In addition the user could do an ajax call to do
something as well on this page.  if the user call came at the same time
as the schdeduled call then php would hang and we would have to restart
apache.  We found it also happens on pages where there are multiple
exec() calls.  We find that all the scripts and programs we call run
fine its just that php hangs when they finish for some reason.  We have
our max_execution_time set to 30 minutes so its not a timeout issue.

We found that calling
session_write_close();
before each exec call seemed to resolve this issue.  But we are not
really sure why and what other effects session_write_close(); may have
on other processes.

Hope this helps resolve this issue.  it is a major headache for us for
the past 2 years!!



[2008-08-08 18:55:29] jumpbackhack at gmail dot com

this is still a bug. this is not an apache issue as I have tested
various versions ranging from 2.0.x to 2.2.x

I have tested php v5.2.6 and even a late development version.  This
happens on linux OS as well even with shell_exec()

would there be a backtrace on a hang?

it appears that the hang happens after a successful script executes,
the following time the script runs there is the hang.  usually lasts 2-5
minutes before it allows apache to run any php again.

note that apache will serve static/html files without issue while any
php files are not called.

even a restart of apache does not resolve.



[2008-07-22 01:00:01] 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".



[2008-07-14 21:14:29] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.





[2008-07-09 13:17:48] lk at profline dot ch

I forgot the specifications, we use:

Windows XP  
Apache 2.2.8
PHP 5.2.6

Is that an apache or a php related problem ?



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/44942

-- 
Edit this bug report at http://bugs.php.net/?id=44942&edit=1



#44942 [Com]: exec() hangs apache

2008-06-10 Thread aleaddict at yahoo dot com
 ID:   44942
 Comment by:   aleaddict at yahoo dot com
 Reported By:  inqualab1985 at gmail dot com
 Status:   Open
 Bug Type: Program Execution
 Operating System: Microsoft Window 2000 SP4
 PHP Version:  5.2.5
 New Comment:

Windows Server 2003 R2 Service Pack 1
Apache 2.2.6
PHP 5.2.4 (upgraded to 5.2.6 with no success)

Executing resource kit utility shortcut.exe via exec() with EXACTLY the
same results...  Random, no errors logged, hangs up all succeeding calls
to exec(), requires restart.

Keith


Previous Comments:


[2008-05-14 07:56:17] inqualab1985 at gmail dot com

Dear Jani

There is no problem with 'sample.exe'. I have tested the same for
different exe or even for dos command. It hangs when we are calling the
page at regular interval of time (through Ajax).

There is a problem in the definition of exec() function.

For any further information , feel free to contact me.



[2008-05-09 14:20:40] [EMAIL PROTECTED]

What exactly does this "sample.exe" do? It's most likely not any PHP
problem at all anyway, you just call some exe that "hangs" itself..



[2008-05-08 05:40:53] inqualab1985 at gmail dot com

Description:

Hi! PHP Team

I am facing a problem of apache hang up due to exec() function.

I am using PHP 5.2.5 and Apache 2.2 on MS Window 2000 SP4 & also on MS
Window XP.

The problem is that I have to execute a exe, for which I have use
exec(). Normally it works Fine, but sometime (randomly) it hang up. It
will lock the apache and if we call the same page or any other page of
php having exec(), it hang up at the line where exec() function is used.
If we commented the line having exec(), then the page run & loaded
correctly.

The problem also become critical because there is no error for this.
Also none of the error handling & logging mechanism works.

The only solution to this problem is to restart the Apache.

I am providing you as much as information as possible to catch the
problem correctly.
 

Reproduce code:
---
$exeFilePath = realpath("../sample.exe");   

if (eregi("win", PHP_OS))
$command = "\"\"$exeFilePath\" argument1\"";
else
$command = "\"$exeFilePath\" argument1";

$output = null;
$returnVal = null;
$result = exec($command,$output,$returnVal);
if($returnVal !=0)
   echo "Error";
else
   echo $output[0];

echo "end of the program";

Expected result:

it will show the output of exe for particular argument. 

Actual result:
--
Normally it works correctly as expected but sometime the the execution
of the page hang at line "$result = exec($command,$output,$returnVal);" 
. After this has happen I am not able to run any script that will use
the exec(). In all scripts apache hangs at exec() function, do not
matter  which exe will be called. 





-- 
Edit this bug report at http://bugs.php.net/?id=44942&edit=1