Hi,

Actually I didn't see your original question, about the following error:
[Mon Mar 05 21:19:47 2007] [notice] Parent: child process exited with
status 3221225477 -- Restarting.

Actually, I am not even sure that this is due to MP2.

Indeed, on my development computer (running under Win XP, Apache/2.0.59), I am developing both PHP and Perl applications.
When developing for PHP, my Apache Server doesn't know about Mod Perl.

And yet, I'm keeping having the error you have, time to time, when loading my PHP pages.

Actually, the messages below are taken from my logs (Apache/2.0.59 and PHP 5.2.1)

[Fri May 25 10:01:24 2007] [notice] Parent: child process exited with status 3221225477 -- Restarting. [Fri May 25 10:01:24 2007] [notice] Apache/2.0.59 (Win32) PHP/5.2.1 configured -- resuming normal operations
[Fri May 25 10:01:24 2007] [notice] Server built: Jul 27 2006 15:55:03
[Fri May 25 10:01:24 2007] [notice] Parent: Created child process 3828
[Fri May 25 10:01:24 2007] [notice] Child 3828: Child process is running
[Fri May 25 10:01:24 2007] [notice] Child 3828: Acquired the start mutex.
[Fri May 25 10:01:24 2007] [notice] Child 3828: Starting 64 worker threads.

But that's quite transparent to the client, as it seems that after the restart, the page is served anyway. (but I get an ugly Windows error message box)

So, I think the problems we are encountering are more due to Apache than to ModPerl.

Lionel.



----- Original Message ----- From: "Foo JH" <[EMAIL PROTECTED]>
To: "Lionel MARTIN" <[EMAIL PROTECTED]>
Cc: "Perrin Harkins" <[EMAIL PROTECTED]>; <modperl@perl.apache.org>
Sent: Friday, May 25, 2007 10:29 AM
Subject: Re: Is it advisable NOT to limit MaxRequestsPerChild in Win32 modperl?


Hello Perrin and Lionel,

Lionel MARTIN wrote:
Unless I'm mistaken, and even if there is only one (child) Apache process and several thread under Windows (winnt MPM), the only directive that can be used is MaxRequestsPerChild and not MaxRequestsPerThread.

It is not possible to restart individual threads (and associated Perl Interpreteers), but only restart the child (which means restarting all the threads at once). So, basically, the value indicated by MaxRequestsPerChild is shared among all threads. (and its defaults value is 0, which means that your child is never restarted because of having handled too many requests).
Makes sense. I've tried inserting:
MaxRequestsPerThread 2

to httpd.conf, but it complains that 'perhaps misspelled or defined by a module not included in the configuration'. Which is quite true: I don't see any <IfModule> tags for WinNT. Any suggestions?


That's a bit of pity, because that's like an "all or nothing" behaviour, you can't kill individual threads because they are growing too much.
I know. It's the curse of being a Windows developer. We're all screwed.


Reply via email to