From taylorsarah@example.com Mon Mar 01 13:31:42 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 19617 invoked from network); 1 Mar 2004 13:31:42 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 13:31:42 -0000 Received: (qmail 14343 invoked by uid 500); 1 Mar 2004 13:31:40 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 14211 invoked from network); 1 Mar 2004 13:31:32 -0000 Received: from unknown (HELO 218-168-207-97.HINET-IP.hinet.net) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 13:31:32 -0000 Received: from 83.161.120.155 by 83.161.120.155; Tue, 02 Mar 2004 08:33:51 -0500 Message-ID: <A[20 From taylorsarah@example.com Mon Mar 01 17:13:12 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 65440 invoked from network); 1 Mar 2004 17:13:12 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 17:13:12 -0000 Received: (qmail 35420 invoked by uid 500); 1 Mar 2004 17:12:53 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 35396 invoked by uid 500); 1 Mar 2004 17:12:53 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 35207 invoked from network); 1 Mar 2004 17:12:51 -0000 Received: from unknown (HELO styx.radan.com) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 17:12:51 -0000 Received: from unknown(83.161.120.155) by styx.radan.com via csmap id 218488f6_6ba4_11d8_9eac_0002b3cb43e0_3561; Mon, 01 Mar 2004 17:16:09 +0000 (GMT) Organisation: Radan Computational Ltd., Bath, UK. Phone: (581)345-5051 Fax: (581)345-5051 Web: http://www.radan.com/ Received: from uk.radan.com ([83.161.120.155]) by sockeye.uk.radan.com (8.9.1b+Sun/8.9.1) with ESMTP id RAA14924; Mon, 1 Mar 2004 17:11:41 GMT Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 17:15:35 +0000 From: Steve Hay <taylorsarah@example.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-gb, en, en-us MIME-Version: 1.0 To: Geoffrey Young <taylorsarah@example.com> CC: Randy Kobes <taylorsarah@example.com>, taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-NAIMIME-Disclaimer: 1 X-NAIMIME-Modified: 1 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Geoffrey Young wrote: >>>or you could just comment out each >>>different startup in TEST.PL (or just TEST if you don't feel like running >>>Makefile.PL each time) and run each one at a time. >>> >>> >>I just did that - only two of the tests sequences run >>individually - one where -defines is '' and the other when >>it's 'ReallyFirst'. In fact, running the two together (ie, >>when all the others are commented out) is fine - the server >>starts, stops, and starts again fine, so that's not the >>problem. >> >> > >blarg. > >ok, I'll hold off on committing then. attached is the final patch I would >have put in this evening, fwiw. > >as I mentioned, I'd be interested to know if the test suite I had sent runs >against current pristine CVS - the individual tests would fail, obviously, >but if the server can't start/stop/start 5 times with the given -D switches >then at least I'd know it wasn't my fault (at least not currently :) > I've tried out the "final" patch with CVS mp2 (at about 15:30 01 Mar 2004 GMT) on WinXP / MSVC++ 6 with Apache 2.0.48 / Perl 5.8.3 and I found that when running "nmake test" (just the standard mp2 tests) the server now hangs after starting up. The error_log contained: [Mon Mar 01 16:47:36 2004] [warn] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting so I changed A-T/lib/Apache/TestConfig.pm in the obvious way: <IfModule mpm_winnt.c> ThreadsPerChild 50 MaxRequestsPerChild 0 </IfModule> The standard mp2 testsuite now passes all tests successful. What do I do with the hook_order_test-mp2.tar.gz tests? Pardon my ignorance, but I have no idea where to put these files or what to do with them. - Steve ------------------------------------------------ Radan Computational Ltd. The information contained in this message and any files transmitted with it are confidential and intended for the addressee(s) only. If you have received this message in error or there are any problems, please notify the sender immediately. The unauthorized use, disclosure, copying or alteration of this message is strictly forbidden. Note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Radan Computational Ltd. The recipient(s) of this message should check it and any attached files for viruses: Radan Computational will accept no liability for any damage caused by any virus transmitted by this email. --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 17:36:10 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 79589 invoked from network); 1 Mar 2004 17:36:10 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 17:36:10 -0000 Received: (qmail 95039 invoked by uid 500); 1 Mar 2004 17:35:30 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 94981 invoked by uid 500); 1 Mar 2004 17:35:30 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 94909 invoked from network); 1 Mar 2004 17:35:29 -0000 Received: from unknown (HELO theoryx5.uwinnipeg.ca) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 17:35:29 -0000 Received: from theoryx5.uwinnipeg.ca (localhost.localdomain [83.161.120.155]) by theoryx5.uwinnipeg.ca (8.12.8/8.12.8) with ESMTP id i21HW8aX013418; Mon, 1 Mar 2004 11:32:08 -0600 Received: from localhost (randy@localhost) by theoryx5.uwinnipeg.ca (8.12.8/8.12.8/Submit) with ESMTP id i21HW8Bf013414; Mon, 1 Mar 2004 11:32:08 -0600 Date: Mon, 1 Mar 2004 11:32:08 -0600 (CST) From: Randy Kobes <taylorsarah@example.com> To: Steve Hay <taylorsarah@example.com> cc: Geoffrey Young <taylorsarah@example.com>, taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) In-Reply-To: <taylorsarah@example.com> Message-ID: <taylorsarah@example.com> References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N On Mon, 1 Mar 2004, Steve Hay wrote: > Geoffrey Young wrote: [ ... ] > >ok, I'll hold off on committing then. attached is the final patch I would > >have put in this evening, fwiw. > > > >as I mentioned, I'd be interested to know if the test suite I had sent runs > >against current pristine CVS - the individual tests would fail, obviously, > >but if the server can't start/stop/start 5 times with the given -D switches > >then at least I'd know it wasn't my fault (at least not currently :) > > > I've tried out the "final" patch with CVS mp2 (at about 15:30 01 Mar > 2004 GMT) on WinXP / MSVC++ 6 with Apache 2.0.48 / Perl 5.8.3 and I > found that when running "nmake test" (just the standard mp2 tests) the > server now hangs after starting up. The error_log contained: > > [Mon Mar 01 16:47:36 2004] [warn] Server ran out of threads to serve > requests. Consider raising the ThreadsPerChild setting > > so I changed A-T/lib/Apache/TestConfig.pm in the obvious way: > > <IfModule mpm_winnt.c> > ThreadsPerChild 50 > MaxRequestsPerChild 0 > </IfModule> > > The standard mp2 testsuite now passes all tests successful. I forgot to mention - I've also found lately that raising this limit is necessary. > What do I do with the hook_order_test-mp2.tar.gz tests? Pardon my > ignorance, but I have no idea where to put these files or what to do > with them. If I recall, you have the Win32 apxs installed? If so, all you need to do is unpack the tarball somewhere and run perl Makefile.PL --apxs C:\Path\to\apxs.bat nmake nmake test This assumes that the patched mp2 has been installed. -- best regards, randy --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 18:02:33 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 95429 invoked from network); 1 Mar 2004 18:02:33 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 18:02:33 -0000 Received: (qmail 62863 invoked by uid 500); 1 Mar 2004 18:02:11 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 62841 invoked by uid 500); 1 Mar 2004 18:02:11 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 62768 invoked from network); 1 Mar 2004 18:02:10 -0000 Received: from unknown (HELO mail.logilune.com) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 18:02:10 -0000 Received: from stason.org (localhost.logilune.com [83.161.120.155]) by mail.logilune.com (Postfix) with ESMTP id 577E51E18A1; Mon, 1 Mar 2004 19:02:12 +0100 (CET) Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 10:02:10 -0800 From: Stas Bekman <taylorsarah@example.com> Organization: Hope, Humanized User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115 X-Accept-Language: en-us, en, he, ru MIME-Version: 1.0 To: Geoffrey Young <taylorsarah@example.com> Cc: Randy Kobes <taylorsarah@example.com>, taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Geoffrey Young wrote: > Index: src/modules/perl/mod_perl.c > =================================================================== > RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v > retrieving revision 1.210 > diff -u -r1.210 mod_perl.c > --- src/modules/perl/mod_perl.c 1 Mar 2004 04:24:00 -0000 1.210 > +++ src/modules/perl/mod_perl.c 1 Mar 2004 04:57:56 -0000 > @@ -543,6 +543,11 @@ > { > /* we can't have PerlPreConfigHandler without first configuring mod_perl */ > > + /* PerlHook*Handler support */ > + apr_table_t *hook_order = apr_table_make(p, 0); why the duplicate? You already have hook_order static var in modperl_apache.c It should be: modperl_apache_init_hooks(p); with the above code moved to modperl_apache.c. (see below). > + modperl_apache_set_hook_order(hook_order); no need for this taylorsarah@example.com. > /* perl 5.8.1+ */ > modperl_hash_seed_init(p); > > @@ -573,6 +578,9 @@ > modperl_trace_logfile_set(s->error_log); > #endif > > + /* fixup the placement of user-defined Perl*Handlers in the hook order */ > + modperl_apache_resort_hooks(); yup, just like that one. two calls from mod_perl.c but none really gets/passes hook_order. > --- /dev/null 2003-01-30 05:24:37.000000000 -0500 > +++ src/modules/perl/modperl_apache.c 2004-02-29 23:42:16.000000000 -0500 > @@ -0,0 +1,115 @@ > +#include "mod_perl.h" > + > +/* PerlHook*Handler support */ > +static apr_table_t *hook_order; > + > +apr_table_t *modperl_apache_get_hook_order() { > + return hook_order; > +} void modperl_apache_init_hook_order(apr_pool_t p) { hook_order = apr_table_make(p, 0); } > +void modperl_apache_set_hook_order(apr_table_t *set_order) { > + hook_order = set_order; > +} nuke that one. __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:taylorsarah@example.com http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 18:04:28 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 96599 invoked from network); 1 Mar 2004 18:04:28 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 18:04:28 -0000 Received: (qmail 70018 invoked by uid 500); 1 Mar 2004 18:04:20 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 70008 invoked by uid 500); 1 Mar 2004 18:04:19 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 69993 invoked from network); 1 Mar 2004 18:04:19 -0000 Received: from unknown (HELO mail.logilune.com) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 18:04:19 -0000 Received: from stason.org (localhost.logilune.com [83.161.120.155]) by mail.logilune.com (Postfix) with ESMTP id 2B0A61E1861; Mon, 1 Mar 2004 19:04:21 +0100 (CET) Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 10:04:19 -0800 From: Stas Bekman <taylorsarah@example.com> Organization: Hope, Humanized User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115 X-Accept-Language: en-us, en, he, ru MIME-Version: 1.0 To: Randy Kobes <taylorsarah@example.com> Cc: Steve Hay <taylorsarah@example.com>, Geoffrey Young <taylorsarah@example.com>, taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Randy Kobes wrote: >><IfModule mpm_winnt.c> >> ThreadsPerChild 50 >> MaxRequestsPerChild 0 >></IfModule> >> >>The standard mp2 testsuite now passes all tests successful. > > > I forgot to mention - I've also found lately that raising > this limit is necessary. Any idea why? 50 threads is not enough to run the tests, when with prefork only 2 workers are taylorsarah@example.com. Do we have some threads leak? __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:taylorsarah@example.com http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 18:08:59 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 98664 invoked from network); 1 Mar 2004 18:08:59 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 18:08:59 -0000 Received: (qmail 76542 invoked by uid 500); 1 Mar 2004 18:08:51 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 76531 invoked by uid 500); 1 Mar 2004 18:08:51 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 76510 invoked from network); 1 Mar 2004 18:08:50 -0000 Received: from unknown (HELO styx.radan.com) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 18:08:50 -0000 Received: from unknown(83.161.120.155) by styx.radan.com via csmap id d2437614_6bab_11d8_9eac_0002b3cb43e0_3561; Mon, 01 Mar 2004 18:11:11 +0000 (GMT) Organisation: Radan Computational Ltd., Bath, UK. Phone: (581)345-5051 Fax: (581)345-5051 Web: http://www.radan.com/ Received: from uk.radan.com ([83.161.120.155]) by sockeye.uk.radan.com (8.9.1b+Sun/8.9.1) with ESMTP id SAA16119; Mon, 1 Mar 2004 18:06:44 GMT Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 18:10:38 +0000 From: Steve Hay <taylorsarah@example.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-gb, en, en-us MIME-Version: 1.0 To: Randy Kobes <taylorsarah@example.com> CC: Geoffrey Young <taylorsarah@example.com>, taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-NAIMIME-Disclaimer: 1 X-NAIMIME-Modified: 1 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Randy Kobes wrote: >On Mon, 1 Mar 2004, Steve Hay wrote: > > >>What do I do with the hook_order_test-mp2.tar.gz tests? Pardon my >>ignorance, but I have no idea where to put these files or what to do >>with them. >> >> > >If I recall, you have the Win32 apxs installed? If so, all >you need to do is unpack the tarball somewhere and run > perl Makefile.PL --apxs C:\Path\to\apxs.bat > nmake > nmake test >This assumes that the patched mp2 has been installed. > > Thanks. I'd left off the apxs bit. Looks much better now ;) I've now got the same problem as you, Randy -- it runs one set of tests OK (all successful), but then hangs trying to start the server the second time. And like you, I have this in the error_log: ... [Mon Mar 01 18:03:59 2004] [crit] (OS 6)The handle is invalid. : Child 3592: WAIT_FAILED -- shutting down server ... [Mon Mar 01 18:03:59 2004] [warn] (OS 995)The I/O operation has been aborted because of either a thread exit or an application request. : winnt_accept: Asynchronous AcceptEx failed. [Mon Mar 01 18:03:59 2004] [info] Child 3592: Accept thread exiting. [Mon Mar 01 18:04:00 2004] [notice] Child 3592: Released the start mutex [Mon Mar 01 18:04:00 2004] [info] Child 3592: 50 threads blocked on the completion port ... Well - at least there's two of us looking at it now... - Steve ------------------------------------------------ Radan Computational Ltd. The information contained in this message and any files transmitted with it are confidential and intended for the addressee(s) only. If you have received this message in error or there are any problems, please notify the sender immediately. The unauthorized use, disclosure, copying or alteration of this message is strictly forbidden. Note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Radan Computational Ltd. The recipient(s) of this message should check it and any attached files for viruses: Radan Computational will accept no liability for any damage caused by any virus transmitted by this email. --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 19:08:54 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 27822 invoked from network); 1 Mar 2004 19:08:54 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 19:08:54 -0000 Received: (qmail 10180 invoked by uid 500); 1 Mar 2004 19:08:40 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 10162 invoked by uid 500); 1 Mar 2004 19:08:40 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 10104 invoked from network); 1 Mar 2004 19:08:40 -0000 Received: from unknown (HELO secure.exclamationlabs.net) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 19:08:40 -0000 Received: from modperlcookbook.org (pcp05675728pcs.walngs01.pa.comcast.net [83.161.120.155]) (authenticated (0 bits)) by secure.exclamationlabs.net (8.11.6/8.11.6) with ESMTP id i21J8YY09218; Mon, 1 Mar 2004 13:08:34 -0600 Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 14:08:31 -0500 From: Geoffrey Young <taylorsarah@example.com> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Stas Bekman <taylorsarah@example.com> CC: taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> X-Enigmail-Version: 83.161.120.155 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N > It should be: > > modperl_apache_init_hooks(p); > > void modperl_apache_init_hook_order(apr_pool_t p) { > hook_order = apr_table_make(p, 0); > } ok, I'll do that. I was trying to solve a very strange problem that I couldn't figure out (but would probably obvious to someone else, naturally) - I was calling my get_hook_order() function from pre-init and initializing it, but for some reason the init wasn't taking. but I like your solution much, much better. thanks. --Geoff --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 19:21:38 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 33511 invoked from network); 1 Mar 2004 19:21:37 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 19:21:37 -0000 Received: (qmail 28514 invoked by uid 500); 1 Mar 2004 19:21:28 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 28501 invoked by uid 500); 1 Mar 2004 19:21:27 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 28488 invoked from network); 1 Mar 2004 19:21:27 -0000 Received: from unknown (HELO mail.logilune.com) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 19:21:27 -0000 Received: from stason.org (localhost.logilune.com [83.161.120.155]) by mail.logilune.com (Postfix) with ESMTP id 7E3FA1E1808; Mon, 1 Mar 2004 20:21:30 +0100 (CET) Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 11:21:28 -0800 From: Stas Bekman <taylorsarah@example.com> Organization: Hope, Humanized User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115 X-Accept-Language: en-us, en, he, ru MIME-Version: 1.0 To: Geoffrey Young <taylorsarah@example.com> Cc: taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Geoffrey Young wrote: > >>It should be: >> >> modperl_apache_init_hooks(p); >> > > >>void modperl_apache_init_hook_order(apr_pool_t p) { >> hook_order = apr_table_make(p, 0); >>} > > > ok, I'll do that. I was trying to solve a very strange problem that I > couldn't figure out (but would probably obvious to someone else, naturally) > - I was calling my get_hook_order() function from pre-init and initializing > it, but for some reason the init wasn't taking. > > but I like your solution much, much better. thanks. Actually, you don't even need modperl_apache_init_hook_order(), just move that init code into: modperl_apache_get_hook_order(); void modperl_apache_get_hook_order(apr_pool_t *p) { if (!hook_order) { hook_order = apr_table_make(p, 0); } return hook_order; } but you need to pass pool... so may be not... just another idea to make mod_perl.c less cluttered. did you have a chance to look at the temp pool? if it does what I think it does (i.e. get destroyed at the end of config) then you could use it instead. __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:taylorsarah@example.com http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 19:36:48 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 43097 invoked from network); 1 Mar 2004 19:36:47 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 19:36:47 -0000 Received: (qmail 56697 invoked by uid 500); 1 Mar 2004 19:36:37 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 56685 invoked by uid 500); 1 Mar 2004 19:36:37 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 56671 invoked from network); 1 Mar 2004 19:36:37 -0000 Received: from unknown (HELO secure.exclamationlabs.net) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 19:36:37 -0000 Received: from modperlcookbook.org (pcp05675728pcs.walngs01.pa.comcast.net [83.161.120.155]) (authenticated (0 bits)) by secure.exclamationlabs.net (8.11.6/8.11.6) with ESMTP id i21JaWY12628; Mon, 1 Mar 2004 13:36:32 -0600 Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 14:36:29 -0500 From: Geoffrey Young <taylorsarah@example.com> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Stas Bekman <taylorsarah@example.com> CC: taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> X-Enigmail-Version: 83.161.120.155 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N > Actually, you don't even need modperl_apache_init_hook_order(), just > move that init code into: modperl_apache_get_hook_order(); > > void modperl_apache_get_hook_order(apr_pool_t *p) { > if (!hook_order) { > hook_order = apr_table_make(p, 0); > } > return hook_order; > } I had suggested that before: >> yeah, ok. so I can keep the init in pre-config? I guess if I use the >> pconf >> it doesn't really matter - I can have the accessor init using pconf if >> the >> table is NULL. and I was doubting the lifetime of parms->pool anyway :) > > > If we implement the sub-pool for temp uses, then it'll have to be in > pre-config, so keep it there. > > but you need to pass pool... so may be not... just another idea to make > mod_perl.c less cluttered. passing the pool isn't that big a deal, or I could just use modperl_global_get_pconf(), in which case I'll also need to use pconf for the logic in modperl_cmd then (instead of parms->pool) so that the table and data have the same lifetime. using the global pool shouldn't be a big deal, since it's not a lot of data (and probably won't be any for 99% of the cases anyway). > > did you have a chance to look at the temp pool? if it does what I think > it does (i.e. get destroyed at the end of config) then you could use it > instead. no, I didn't trace the origins of those other two pools. but as per the above assertion, the pools should match, right? in which case it would be difficult to get into the modperl_cmd.c logic. --Geoff --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 19:59:54 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 53766 invoked from network); 1 Mar 2004 19:59:53 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 19:59:53 -0000 Received: (qmail 92584 invoked by uid 500); 1 Mar 2004 19:59:43 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 92571 invoked by uid 500); 1 Mar 2004 19:59:43 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 92545 invoked from network); 1 Mar 2004 19:59:42 -0000 Received: from unknown (HELO mail.logilune.com) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 19:59:42 -0000 Received: from stason.org (localhost.logilune.com [83.161.120.155]) by mail.logilune.com (Postfix) with ESMTP id 0B50A1E18BF; Mon, 1 Mar 2004 20:59:46 +0100 (CET) Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 11:59:44 -0800 From: Stas Bekman <taylorsarah@example.com> Organization: Hope, Humanized User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115 X-Accept-Language: en-us, en, he, ru MIME-Version: 1.0 To: Geoffrey Young <taylorsarah@example.com> Cc: taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Geoffrey Young wrote: >>but you need to pass pool... so may be not... just another idea to make >>mod_perl.c less cluttered. > > > passing the pool isn't that big a deal, or I could just use > modperl_global_get_pconf(), in which case I'll also need to use pconf for > the logic in modperl_cmd then (instead of parms->pool) so that the table and > data have the same lifetime. using the global pool shouldn't be a big deal, > since it's not a lot of data (and probably won't be any for 99% of the cases > anyway). Thinking forward I think you want to pass it explicitly from cmd. So if we do that temp pool/sub-pool solution we won't need to remember to change a lot of code and hunt for those global pool uses. >>did you have a chance to look at the temp pool? if it does what I think >>it does (i.e. get destroyed at the end of config) then you could use it >>instead. > > > no, I didn't trace the origins of those other two pools. but as per the > above assertion, the pools should match, right? in which case it would be > difficult to get into the modperl_cmd.c logic. right, see above. __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:taylorsarah@example.com http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 20:06:15 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 56640 invoked from network); 1 Mar 2004 20:06:15 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 20:06:15 -0000 Received: (qmail 5525 invoked by uid 500); 1 Mar 2004 20:06:04 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 5515 invoked by uid 500); 1 Mar 2004 20:06:04 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 5500 invoked from network); 1 Mar 2004 20:06:04 -0000 Received: from unknown (HELO mail.logilune.com) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 20:06:04 -0000 Received: from stason.org (localhost.logilune.com [83.161.120.155]) by mail.logilune.com (Postfix) with ESMTP id E8ACE1E1874 for <taylorsarah@example.com>; Mon, 1 Mar 2004 21:06:07 +0100 (CET) Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 12:06:06 -0800 From: Stas Bekman <taylorsarah@example.com> Organization: Hope, Humanized User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115 X-Accept-Language: en-us, en, he, ru MIME-Version: 1.0 To: mod_perl Dev <taylorsarah@example.com> Subject: [mp2] ptemp usage Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N I've looked at the httpd source code, ptemp is destroyed at the end of the post_config phase. So we should use it for any temporary things that don't need to live through the config. So hook-config is the perfect case for ptemp. We need to review other places where we should use ptemp instead. I'll update the docs. __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:taylorsarah@example.com http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 20:10:15 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 58780 invoked from network); 1 Mar 2004 20:10:15 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 20:10:15 -0000 Received: (qmail 10610 invoked by uid 500); 1 Mar 2004 20:10:04 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 10596 invoked by uid 500); 1 Mar 2004 20:10:04 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 10583 invoked from network); 1 Mar 2004 20:10:04 -0000 Received: from unknown (HELO secure.exclamationlabs.net) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 20:10:04 -0000 Received: from modperlcookbook.org (pcp05675728pcs.walngs01.pa.comcast.net [83.161.120.155]) (authenticated (0 bits)) by secure.exclamationlabs.net (8.11.6/8.11.6) with ESMTP id i21K9uY16706; Mon, 1 Mar 2004 14:09:56 -0600 Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 15:09:53 -0500 From: Geoffrey Young <taylorsarah@example.com> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Stas Bekman <taylorsarah@example.com> CC: mod_perl Dev <taylorsarah@example.com> Subject: Re: [mp2] ptemp usage References: <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> X-Enigmail-Version: 83.161.120.155 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Stas Bekman wrote: > I've looked at the httpd source code, ptemp is destroyed at the end of > the post_config phase. So we should use it for any temporary things that > don't need to live through the config. > > So hook-config is the perfect case for ptemp. that's fine, but how do you get to it? for instance, we can create the hook_order table using ptemp by calling the init in pre-config. however, there is no easy way to get to ptemp from modperl_cmd, where the data going into hook_order will be generated - all you have is pconf or parms->pool at that point. or are you planning on adding a set of hooks to get to ptemp? --Geoff --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 20:20:58 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 70874 invoked from network); 1 Mar 2004 20:20:58 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 20:20:58 -0000 Received: (qmail 32575 invoked by uid 500); 1 Mar 2004 20:20:47 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 32565 invoked by uid 500); 1 Mar 2004 20:20:47 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 32552 invoked from network); 1 Mar 2004 20:20:47 -0000 Received: from unknown (HELO secure.exclamationlabs.net) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 20:20:47 -0000 Received: from modperlcookbook.org (pcp05675728pcs.walngs01.pa.comcast.net [83.161.120.155]) (authenticated (0 bits)) by secure.exclamationlabs.net (8.11.6/8.11.6) with ESMTP id i21KKWY18214; Mon, 1 Mar 2004 14:20:32 -0600 Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 15:20:29 -0500 From: Geoffrey Young <taylorsarah@example.com> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Steve Hay <taylorsarah@example.com> CC: Randy Kobes <taylorsarah@example.com>, taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> X-Enigmail-Version: 83.161.120.155 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N > I've now got the same problem as you, Randy -- it runs one set of tests > OK (all successful), but then hangs trying to start the server the > second time. consistency is good :) I'm still unclear as to whether this is a fault of the new hook-ordering implementation, or a symptom of the way I chose to setup the tests. does it behave the same way against pristine mod_perl CVS? likewise, if you comment out everything in t/TEST save one test (any one save the first, which doesn't excercise the new directives) does the individual test pass? finally, is there something screwy with my IO in t/TEST - if you take out all the open and print foo does the problem go away? that was mostly for my debugging information anyway... --Geoff --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 20:37:08 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 78154 invoked from network); 1 Mar 2004 20:37:08 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 20:37:08 -0000 Received: (qmail 64098 invoked by uid 500); 1 Mar 2004 20:36:57 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 64083 invoked by uid 500); 1 Mar 2004 20:36:57 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 64062 invoked from network); 1 Mar 2004 20:36:56 -0000 Received: from unknown (HELO mail.logilune.com) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 20:36:56 -0000 Received: from stason.org (localhost.logilune.com [83.161.120.155]) by mail.logilune.com (Postfix) with ESMTP id 9C31E1E18E7; Mon, 1 Mar 2004 21:36:59 +0100 (CET) Message-ID: <taylorsarah@example.com> Date: Mon, 01 Mar 2004 12:36:58 -0800 From: Stas Bekman <taylorsarah@example.com> Organization: Hope, Humanized User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115 X-Accept-Language: en-us, en, he, ru MIME-Version: 1.0 To: Geoffrey Young <taylorsarah@example.com> Cc: mod_perl Dev <taylorsarah@example.com> Subject: Re: [mp2] ptemp usage References: <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Geoffrey Young wrote: > > Stas Bekman wrote: > >>I've looked at the httpd source code, ptemp is destroyed at the end of >>the post_config phase. So we should use it for any temporary things that >>don't need to live through the config. >> >>So hook-config is the perfect case for ptemp. > > > that's fine, but how do you get to it? for instance, we can create the > hook_order table using ptemp by calling the init in pre-config. however, > there is no easy way to get to ptemp from modperl_cmd, where the data going > into hook_order will be generated - all you have is pconf or parms->pool at > that point. > > or are you planning on adding a set of hooks to get to ptemp? I think we need a hook to access it. Have a static global, init it from pre_config and use it when needed. Here is a short summary of pool life-times: C<$log_pool> is a global pool's sub-pool, therefore its life-span is the same as the Apache program's one. C<$conf_pool> is the main process sub-pool, therefore its life-span is the same as the main process's one. The main process is a sub-pool of the global pool. C<$temp_pool> is a C<$conf_pool> subpool, created before the config phase, lives through the open_logs phase and get destroyed after the post_config phase. The ancestry tree: global | | main_process log | conf | temp __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:taylorsarah@example.com http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Mon Mar 01 20:40:20 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 79610 invoked from network); 1 Mar 2004 20:40:20 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 1 Mar 2004 20:40:20 -0000 Received: (qmail 68056 invoked by uid 500); 1 Mar 2004 20:40:09 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 67868 invoked by uid 500); 1 Mar 2004 20:40:08 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 67855 invoked from network); 1 Mar 2004 20:40:08 -0000 Received: from unknown (HELO minerva.ectoplasm.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Mar 2004 20:40:08 -0000 Received: from [83.161.120.155] (office4.tmcs.net [83.161.120.155]) (using SSLv3 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) by minerva.ectoplasm.org (Postfix) with ESMTP id EA61C5EB1C; Mon, 1 Mar 2004 12:40:13 -0800 (PST) Subject: Re: [mp2] ptemp usage From: "Philippe M. Chiasson" <taylorsarah@example.com> To: Stas Bekman <taylorsarah@example.com> Cc: Geoffrey Young <taylorsarah@example.com>, mod_perl Dev <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-9G0cbBzMhVTaf/r0KJGP" Message-Id: <taylorsarah@example.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.5.3 (1.5.3-1) Date: Mon, 01 Mar 2004 12:40:13 -0800 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N --=-9G0cbBzMhVTaf/r0KJGP Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Mon, 2004-03-01 at 12:36 -0800, Stas Bekman wrote: > Geoffrey Young wrote: > >=20 > > Stas Bekman wrote: > >=20 > >>I've looked at the httpd source code, ptemp is destroyed at the end of > >>the post_config phase. So we should use it for any temporary things tha= t > >>don't need to live through the config. > >> > >>So hook-config is the perfect case for ptemp. > >=20 > >=20 > > that's fine, but how do you get to it? for instance, we can create the > > hook_order table using ptemp by calling the init in pre-config. howeve= r, > > there is no easy way to get to ptemp from modperl_cmd, where the data g= oing > > into hook_order will be generated - all you have is pconf or parms->poo= l at > > that point. > >=20 > > or are you planning on adding a set of hooks to get to ptemp? >=20 > I think we need a hook to access it. Have a static global, init it from=20 > pre_config and use it when needed. That sounds good. Then we just need to sweep around and find the places where we should use it instead of a more global pool. > Here is a short summary of pool life-times: >=20 > C<$log_pool> is a global pool's sub-pool, therefore its life-span is > the same as the Apache program's one. >=20 > C<$conf_pool> is the main process sub-pool, therefore its life-span > is the same as the main process's one. The main process is a sub-pool > of the global pool. >=20 > C<$temp_pool> is a C<$conf_pool> subpool, created before the config > phase, lives through the open_logs phase and get destroyed after the > post_config phase. >=20 > The ancestry tree: >=20 > global > | | > main_process log > | > conf > | > temp >=20 > __________________________________________________________________ > Stas Bekman JAm_pH ------> Just Another mod_perl Hacker > http://stason.org/ mod_perl Guide ---> http://perl.apache.org > mailto:taylorsarah@example.com http://use.perl.org http://apacheweek.com > http://modperlbook.org http://apache.org http://ticketmaster.com >=20 > --------------------------------------------------------------------- > To unsubscribe, e-mail: taylorsarah@example.com > For additional commands, e-mail: taylorsarah@example.com >=20 --=-9G0cbBzMhVTaf/r0KJGP Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQBAQ5+syzKhB4jDpaURAng5AKDGhXFWp6J07Pz099UmaPqqzYhZlgCgtcy4 6ZRL74/p/zJBZCIbNSKpF98= =2NT8 -----END PGP SIGNATURE----- --=-9G0cbBzMhVTaf/r0KJGP-- From taylorsarah@example.com Tue Mar 02 02:15:01 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 52633 invoked from network); 2 Mar 2004 02:15:01 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 2 Mar 2004 02:15:01 -0000 Received: (qmail 9573 invoked by uid 500); 2 Mar 2004 02:14:43 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 9536 invoked from network); 2 Mar 2004 02:14:40 -0000 Received: from unknown (HELO (581)345-5051.direcpceu.com) (83.161.120.155) by daedalus.apache.org with SMTP; 2 Mar 2004 02:14:40 -0000 Message-ID: <taylorsarah@example.com> From: "Jasper Clay" <taylorsarah@example.com> To: taylorsarah@example.com Cc: taylorsarah@example.com Subject: A real business online Date: Tue, 02 Mar 2004 07:08:43 +0500 X-Mailer: bulk chairlady cliche-sultan: binary lost alexander MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="--32663707094598381519" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N ----32663707094598381519 Content-Type: text/html; Content-Transfer-Encoding: quoted-printable <html> <head> <title>83.161.120.155 m</title> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859= -1"> </head> <body> <p>In my <a href=3D"http://www.globalmarketing2000.biz/cashinwithgoogle/">= 54 Page comprehensive guide</a> I'll show you how to use Affiliate Programs= together with Google AdWords to make a good living. </p> <p>&nbsp;</p> <p><font size=3D"2">No more emails! please take me <a href=3D"http://www.g= lobalmarketing2000.biz/remove.html">off</a></font></p> </body> </html> ----32663707094598381519-- From taylorsarah@example.com Tue Mar 02 12:36:58 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 80732 invoked from network); 2 Mar 2004 12:36:57 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 2 Mar 2004 12:36:57 -0000 Received: (qmail 82196 invoked by uid 500); 2 Mar 2004 12:36:55 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 82175 invoked by uid 500); 2 Mar 2004 12:36:55 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 82160 invoked from network); 2 Mar 2004 12:36:54 -0000 Received: from unknown (HELO styx.radan.com) (83.161.120.155) by daedalus.apache.org with SMTP; 2 Mar 2004 12:36:54 -0000 Received: from unknown(83.161.120.155) by styx.radan.com via csmap id aaa1d22c_6c46_11d8_927f_0002b3cb43e0_5941; Tue, 02 Mar 2004 12:39:37 +0000 (GMT) Organisation: Radan Computational Ltd., Bath, UK. Phone: (581)345-5051 Fax: (581)345-5051 Web: http://www.radan.com/ Received: from uk.radan.com (tangaroa.uk.radan.com [83.161.120.155]) by sockeye.uk.radan.com (8.9.1b+Sun/8.9.1) with ESMTP id MAA14767; Tue, 2 Mar 2004 12:35:09 GMT Message-ID: <taylorsarah@example.com> Date: Tue, 02 Mar 2004 12:39:05 +0000 From: Steve Hay <taylorsarah@example.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-gb, en, en-us MIME-Version: 1.0 To: Geoffrey Young <taylorsarah@example.com> CC: Randy Kobes <taylorsarah@example.com>, taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-NAIMIME-Disclaimer: 1 X-NAIMIME-Modified: 1 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Geoffrey Young wrote: >>I've now got the same problem as you, Randy -- it runs one set of tests >>OK (all successful), but then hangs trying to start the server the >>second time. >> >> > >consistency is good :) > >I'm still unclear as to whether this is a fault of the new hook-ordering >implementation, or a symptom of the way I chose to setup the tests. does it >behave the same way against pristine mod_perl CVS? > How can I try that?! If I run it against pristine mp2 CVS then it complains "Invalid command 'PerlHookPostReadRequestHandler'" etc ;) > >likewise, if you comment out everything in t/TEST save one test (any one >save the first, which doesn't excercise the new directives) does the >individual test pass? > The first test alone obviously runs OK, and more importantly multiple runs of the first test go OK: Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRunPerl->new->run(@ARGV, '-defines', ''); Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRunPerl->new->run(@ARGV, '-defines', ''); The ReallyLast, Last and Mix tests all fail when tried out individually. The ReallyFirst test runs OK on its own, though. > >finally, is there something screwy with my IO in t/TEST - if you take out >all the open and print foo does the problem go away? that was mostly for my >debugging information anyway... > Removing all the open/print/close stuff makes no difference. (I'm testing this with "perl -Mblib t/TEST.PL" rather than "nmake test", btw.) Still can't understand where that "Invalid handle" error comes from. Here's what's on the call stack when that error comes out: child_main(apr_pool_t * 0x6ff1d724) line 946 ap_mpm_run(apr_pool_t * 0x0026abd8, apr_pool_t * 0x00848240, server_rec * 0x0026ca70) line 1629 main(int 4201858, const char * const * 0x0000000c) line 660 + 13 bytes APACHE! mainCRTStartup + 227 bytes KERNEL32! 77e814c7() The (HANDLE *) child_events that is passed to WaitForMultipleObjects() on line 935 of server/mpm/winnt/child.c is a pointer to an array of object handles. The first argument (here, 2) specifies the number of object handles in that array. Here's what the MSVC debugger shows for child_events as it is passed to WaitForMultipleObjects: child_events 0x0006fed4 [0] 0x00000cb0 [1] 0x00000000 The two events are exit_event and max_requests_per_child_event respectively. Is it significant that the latter is NULL and the former is not? Are they both supposed to be NULL or non-NULL? Maybe the NULL one is the "invalid handle", but why does it happen? There is a comment in the code about thread exits not being checked. I don't know if that's relevant or not? I tried increasing ThreadsPerChild further, and fiddled with MaxRequestsPerChild too, but to no avail. - Steve ------------------------------------------------ Radan Computational Ltd. The information contained in this message and any files transmitted with it are confidential and intended for the addressee(s) only. If you have received this message in error or there are any problems, please notify the sender immediately. The unauthorized use, disclosure, copying or alteration of this message is strictly forbidden. Note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Radan Computational Ltd. The recipient(s) of this message should check it and any attached files for viruses: Radan Computational will accept no liability for any damage caused by any virus transmitted by this email. --------------------------------------------------------------------- To unsubscribe, e-mail: taylorsarah@example.com For additional commands, e-mail: taylorsarah@example.com From taylorsarah@example.com Tue Mar 02 16:23:39 2004 Return-Path: <taylorsarah@example.com> Delivered-To: taylorsarah@example.com Received: (qmail 47405 invoked from network); 2 Mar 2004 16:23:39 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur-2.apache.org with SMTP; 2 Mar 2004 16:23:39 -0000 Received: (qmail 45716 invoked by uid 500); 2 Mar 2004 16:23:32 -0000 Delivered-To: taylorsarah@example.com Received: (qmail 45706 invoked by uid 500); 2 Mar 2004 16:23:32 -0000 Mailing-List: contact taylorsarah@example.com; run by ezmlm Precedence: bulk list-help: <mailto:taylorsarah@example.com> list-unsubscribe: <mailto:taylorsarah@example.com> list-post: <mailto:taylorsarah@example.com> Delivered-To: mailing list taylorsarah@example.com Received: (qmail 45688 invoked from network); 2 Mar 2004 16:23:32 -0000 Received: from unknown (HELO secure.exclamationlabs.net) (83.161.120.155) by daedalus.apache.org with SMTP; 2 Mar 2004 16:23:32 -0000 Received: from modperlcookbook.org (pcp05675728pcs.walngs01.pa.comcast.net [83.161.120.155]) (authenticated (0 bits)) by secure.exclamationlabs.net (8.11.6/8.11.6) with ESMTP id i22GNIY06901; Tue, 2 Mar 2004 10:23:18 -0600 Message-ID: <taylorsarah@example.com> Date: Tue, 02 Mar 2004 11:23:14 -0500 From: Geoffrey Young <taylorsarah@example.com> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Steve Hay <taylorsarah@example.com> CC: Randy Kobes <taylorsarah@example.com>, taylorsarah@example.com Subject: Re: dynamic request hook ordering (take 2) References: <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> <taylorsarah@example.com> In-Reply-To: <taylorsarah@example.com> X-Enigmail-Version: 83.161.120.155 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: multipart/mixed; boundary="------------060200060800070704060407" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N --------------060200060800070704060407 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit >>I'm still unclear as to whether this is a fault of the new hook-ordering >>implementation, or a symptom of the way I chose to setup the tests. does it >>behave the same way against pristine mod_perl CVS? >> > > How can I try that?! If I run it against pristine mp2 CVS then it > complains "Invalid command 'PerlHookPostReadRequestHandler'" etc ;) ah, yes. duh :) I guess what I was getting at, though, is the start/stop/start idea, but your other work shows that's not an issue. >>likewise, if you comment out everything in t/TEST save one test (any one >>save the first, which doesn't excercise the new directives) does the >>individual test pass? >> > > The first test alone obviously runs OK, and more importantly multiple > runs of the first test go OK: > > Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRunPerl->new->run(@ARGV, '-defines', ''); > Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRunPerl->new->run(@ARGV, '-defines', ''); ok. > > The ReallyLast, Last and Mix tests all fail when tried out > individually. rats. it seems that the issue is clearly related to what I'm doing then. it's almost like I suspected, that this feature would be adding a bit of instability for little value. but I/we are hip deep in it now, so it might as well get fixed rather than abandoned ;) > The ReallyFirst test runs OK on its own, though. it seems I forgot to add a -DReallyFirst, so this is running the default as well. > > >>finally, is there something screwy with my IO in t/TEST - if you take out >>all the open and print foo does the problem go away? that was mostly for my >>debugging information anyway... >> > > Removing all the open/print/close stuff makes no difference. ok. I don't suppose that sleeping between startups makes a difference? > > (I'm testing this with "perl -Mblib t/TEST.PL" rather than "nmake test", > btw.) sounds fine to me. > > Still can't understand where that "Invalid handle" error comes from. > Here's what's on the call stack when that error comes out: > > child_main(apr_pool_t * 0x6ff1d724) line 946 > ap_mpm_run(apr_pool_t * 0x0026abd8, apr_pool_t * 0x00848240, server_rec > * 0x0026ca70) line 1629 > main(int 4201858, const char * const * 0x0000000c) line 660 + 13 bytes > APACHE! mainCRTStartup + 227 bytes > KERNEL32! 77e814c7() > > The (HANDLE *) child_events that is passed to WaitForMultipleObjects() > on line 935 of server/mpm/winnt/child.c is a pointer to an array of > object handles. The first argument (here, 2) specifies the number of > object handles in that array. Here's what the MSVC debugger shows for > child_events as it is passed to WaitForMultipleObjects: > > child_events 0x0006fed4 > [0] 0x00000cb0 > [1] 0x00000000 > > The two events are exit_event and max_requests_per_child_event > respectively. Is it significant that the latter is NULL and the former > is not? Are they both supposed to be NULL or non-NULL? Maybe the NULL > one is the "invalid handle", but why does it happen? There is a comment > in the code about thread exits not being checked. I don't know if > that's relevant or not? > > I tried increasing ThreadsPerChild further, and fiddled with > MaxRequestsPerChild too, but to no avail. I spent the entire morning trolling through the winnt mpm and win32 API documentation and I'm stumped - I can't see the interaction between this code and what I'm taylorsarah@example.com. furthermore, the two events are created far _after_ I am finished doing stuff, since ap_run_mpm is called after post-config, so it's not like I am erasing a previously initialized state. anyway, attached is yet another patch. the main difference here is in the pools, so maybe that will have a positive effect :) stas at one point suggested nulling the table when I'm done with it, which might also be an idea - IIRC, there is some config-parsing done on shutdown as well, so maybe something is getting stuck using the table created with a dead pool or something. the only thing I could suggest at this point is to comment out the apr_hook_sort_all() call in modperl_apache_resort_hooks() to see if there isn't something about that function (or calling it) that is mucking up the works. what that would leave is the altering of the hook structure but (in theory) have no real effect since the hook order is the same as it was going in. anyway, thanks so much for taking the time to play with this. I hope it's fun at least :) --Geoff --------------060200060800070704060407 Content-Type: text/plain; name="hook_order-final2.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="hook_order-final2.patch" Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.335 diff -u -r1.335 Changes --- Changes 29 Feb 2004 05:28:43 -0000 1.335 +++ Changes 2 Mar 2004 14:01:11 -0000 @@ -12,6 +12,12 @@ =item 1.99_13-dev +Add new directives for manipulating the runtime order of Perl*Handlers: + PerlHookPostReadRequestHandler, PerlHookTransHandler, + PerlHookMapToStorageHandler, PerlHookHeaderParserHandler, + PerlHookAccessHandler, PerlHookAuthenHandler, PerlHookAuthzHandler, + PerlHookTypeHandler, PerlHookFixupHandler, PerlHookLogHandler + Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlSections->dump() and store(filename) [Gozer] expose $c->keepalive related constants [Stas] Index: lib/ModPerl/Code.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/ModPerl/Code.pm,v
{'source': 'Apache Software Foundation Public Mail Archives'}