You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Foo Ji-Haw <jh...@nexlabs.com> on 2005/08/30 11:04:36 UTC

apache+mod_perl on Windows fails ungracefully?

Hi all,

I have a small setup development setup on a Windows 2000 Server+Apache 2+ActivePerl 5.8.6+mod_perl 2.0.1. With a setting of 5 threads per child.

I have 3 external clients hitting the server simultaneously doing batch SOAP calls, plus my local web browser which I browse around my mp2 site looking at the SOAP call statistics as they happen. Once in a while, Apache will cause a dialog box with the message (attached):
The instruction at "0x2808771f1" referenced memory at "0x318e0c0". The memory could not be "read".

Looking at the Apache error log, I get this message:
[warn] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting

The good news is that after clicking away the dialog box, Apache is back up on its own. 

Question is, why must the dialog box pop up? This is a bad thing, as it causes my web applications to hang until someone comes along to close the dialog box. Evidently, Apache is capable of restarting when it is under load (not difficult when you have only 5 threads). I have created some 3-4 mp2 apps and they all display the dialog box when under load. 

Perhaps I missed out something here. Can anyone enlighten me on this? Thanks.

Re: apache+mod_perl on Windows fails ungracefully?

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Tue, 30 Aug 2005, Foo Ji-Haw wrote:

> Hi all,
>
> I have a small setup development setup on a Windows 2000 
> Server+Apache 2+ActivePerl 5.8.6+mod_perl 2.0.1. With a 
> setting of 5 threads per child.
>
> I have 3 external clients hitting the server 
> simultaneously doing batch SOAP calls, plus my local web 
> browser which I browse around my mp2 site looking at the 
> SOAP call statistics as they happen. Once in a while, 
> Apache will cause a dialog box with the message 
> (attached): The instruction at "0x2808771f1" referenced 
> memory at "0x318e0c0". The memory could not be "read".
>
> Looking at the Apache error log, I get this message: 
> [warn] Server ran out of threads to serve requests. 
> Consider raising the ThreadsPerChild setting
>
> The good news is that after clicking away the dialog box, 
> Apache is back up on its own.
>
> Question is, why must the dialog box pop up? This is a bad 
> thing, as it causes my web applications to hang until 
> someone comes along to close the dialog box. Evidently, 
> Apache is capable of restarting when it is under load (not 
> difficult when you have only 5 threads). I have created 
> some 3-4 mp2 apps and they all display the dialog box when 
> under load.
>
> Perhaps I missed out something here. Can anyone enlighten 
> me on this? Thanks.

I don't think this is controllable within mod_perl, as the
error is coming from the Apache side, and would happen
under a suitable load for non-mod_perl applications.

Is there a reason you can't increase ThreadsPerChild?
The default for WinNT MPM is 250, at least for recent
Apache2 versions.

-- 
best regards,
randy kobes