Re: Apache-Test
torsdag 13 januari 2005 01.56 skrev Stas Bekman: Hi Oden, Hi Stas. I have been struggling for several hours now trying to understand how Apache-Test is supposed to work with mod_perl-2.0.0-RC3, apache-2.0.52 and Mandrakelinux. I'm maintaining these softwares in Mandrakelinux. Apache-Test seems to think it's a apache-1.x environment passing -D APACHE1 and for example using Port in the generated config file. Even though I have constructed a httpd.conf.in file it still wants to put Port in the generated file. I'm very confused..., and no perl hacker. don't touch httpd.conf. httpd.conf.in will be ignored. if you want to add more config it has to be named differently. Please see: Oh, I was reading Apache-Test/README and the Cheat List section. I says this was the thing to do. I first tried to put my httpd.conf.in file in Apache-Test/t/conf/ but that was ignored. Then I put it in t/conf/ and that actually worked better until I got Port in the generated file for some reason... http://perl.apache.org/docs/general/testing/testing.html#Extending_Configur ation_Setup I guess it should say that people must not create httpd.conf.in. please explain in detail (show the commands) what are doing, since I don't understand how did you get A-T think it's running apache1. Nothing fancy, make is (excuse the rpm stuff): %{__perl} Makefile.PL \ %if %{build_debug} MP_MAINTAINER=1 \ MP_TRACE=1 \ MP_CCOPTS=$(%{apxs} -q CFLAGS) -g3 -Werror \ %else MP_CCOPTS=$(%{apxs} -q CFLAGS) \ %endif MP_APXS=%{apxs} \ MP_APR_CONFIG=%{_bindir}/apr-config \ MP_INST_APACHE2=1 \ INSTALLDIRS=vendor /dev/null make test gives: [...] /usr/bin/perl5.8.5 -Iblib/arch/Apache2 -Iblib/lib/Apache2 \ t/TEST -clean [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST -clean APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= APACHE_TEST_APXS= \ /usr/bin/perl5.8.5 -Iblib/arch/Apache2 -Iblib/lib/Apache2 \ t/TEST -bugreport -verbose=0 [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST -bugreport -verbose=0 [ error] Found mod_perl/1.999020, but it can't be used with Apache-PREFORK-AdvancedExtranetServer/2.0.52 ++ | Please file a bug report: http://perl.apache.org/bugs/ | ++ make: *** [run_tests] Error 1 Here I suspected it didn't like my funny server string, so I commented lines 61-65 in the Apache-Test/lib/Apache/TestRunPerl.pm file and that gives: [...] /usr/bin/perl5.8.5 -Iblib/arch/Apache2 -Iblib/lib/Apache2 \ t/TEST -clean [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST -clean APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= APACHE_TEST_APXS= \ /usr/bin/perl5.8.5 -Iblib/arch/Apache2 -Iblib/lib/Apache2 \ t/TEST -bugreport -verbose=0 [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST -bugreport -verbose=0 /usr/sbin/httpd2 -d /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t -f /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/conf/httpd.conf -D APACHE1 -D PERL_USEITHREADS using Apache-PREFORK-AdvancedExtranetServer/2.0.52 (prefork MPM) waiting 120 seconds for server to start: .Syntax error on line 27 of /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/conf/httpd.conf: Port was replaced with Listen in Apache 2.0 [ error] server has died with status 255 (t/logs/error_log wasn't created, start the server in the debug mode) make: *** [run_tests] Error 143 A-T is bundled with modperl and it's the one that should be run. Not any previously installed A-T. The system is clean except for parts of mod_perl 1.x that seems to be a requisite to get this mod_perl pick up missing pieces. Here's what's installed: $ rpm -ql mod_perl-common-1.3.31_1.29-3mdk | grep /usr/lib/ /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache.pm /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache/Connection.pm /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache/Constants /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache/Constants.pm /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache/Constants/Exports.pm /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache/Debug.pm /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache/ExtUtils.pm /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache/FakeRequest.pm /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache/File.pm /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache/Include.pm
Re: Apache-Test
Oden Eriksson wrote: I have been struggling for several hours now trying to understand how Apache-Test is supposed to work with mod_perl-2.0.0-RC3, apache-2.0.52 and Mandrakelinux. I'm maintaining these softwares in Mandrakelinux. Apache-Test seems to think it's a apache-1.x environment passing -D APACHE1 and for example using Port in the generated config file. Even though I have constructed a httpd.conf.in file it still wants to put Port in the generated file. I'm very confused..., and no perl hacker. don't touch httpd.conf. httpd.conf.in will be ignored. if you want to add more config it has to be named differently. Please see: Oh, I was reading Apache-Test/README and the Cheat List section. I says this was the thing to do. I first tried to put my httpd.conf.in file in Apache-Test/t/conf/ but that was ignored. Then I put it in t/conf/ and that actually worked better until I got Port in the generated file for some reason... Hmm, I had no idea we had this feature. I guess it exists then. My apologies for misleading you, Oden. http://perl.apache.org/docs/general/testing/testing.html#Extending_Configur ation_Setup I guess it should say that people must not create httpd.conf.in. please explain in detail (show the commands) what are doing, since I don't understand how did you get A-T think it's running apache1. Nothing fancy, make is (excuse the rpm stuff): %{__perl} Makefile.PL \ %if %{build_debug} MP_MAINTAINER=1 \ MP_TRACE=1 \ MP_CCOPTS=$(%{apxs} -q CFLAGS) -g3 -Werror \ %else MP_CCOPTS=$(%{apxs} -q CFLAGS) \ %endif MP_APXS=%{apxs} \ MP_APR_CONFIG=%{_bindir}/apr-config \ MP_INST_APACHE2=1 \ INSTALLDIRS=vendor /dev/null make test gives: unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST -bugreport -verbose=0 [ error] Found mod_perl/1.999020, but it can't be used with Apache-PREFORK-AdvancedExtranetServer/2.0.52 ++ | Please file a bug report: http://perl.apache.org/bugs/ | ++ make: *** [run_tests] Error 1 Here I suspected it didn't like my funny server string, so I commented lines 61-65 in the Apache-Test/lib/Apache/TestRunPerl.pm file and that gives: may be we should stop trying to parse the leading string and just gor for /x.y.zz part. Otherwise we will never satisfy everybody. [...] /usr/bin/perl5.8.5 -Iblib/arch/Apache2 -Iblib/lib/Apache2 \ t/TEST -clean [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST -clean APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= APACHE_TEST_APXS= \ /usr/bin/perl5.8.5 -Iblib/arch/Apache2 -Iblib/lib/Apache2 \ t/TEST -bugreport -verbose=0 [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST -bugreport -verbose=0 /usr/sbin/httpd2 -d /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t -f /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/conf/httpd.conf -D APACHE1 -D PERL_USEITHREADS using Apache-PREFORK-AdvancedExtranetServer/2.0.52 (prefork MPM) waiting 120 seconds for server to start: .Syntax error on line 27 of /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/conf/httpd.conf: Port was replaced with Listen in Apache 2.0 Please post the output of: % t/TEST -conf -trace=debug I think what happens is this. MP_INST_APACHE2=1 tweaks Makefile to insert mp2 modules into Apache2 subdir, but since you use a custom INSTALLDIRS it fails to do that. And then: if ($rev == 2) { eval { require Apache2 require mod_perl }; } else { eval { require mod_perl }; } loads modperl1. but I've just tried here with the same options and it works fine. A-T is bundled with modperl and it's the one that should be run. Not any previously installed A-T. The system is clean except for parts of mod_perl 1.x that seems to be a requisite to get this mod_perl pick up missing pieces. Here's what's installed: what do you mean requisite? you mean mp2 requires mp1? $ rpm -ql mod_perl-common-1.3.31_1.29-3mdk | grep /usr/lib/ [...] /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/mod_perl_tuning.pod -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
[A-T patch] extend which() to search under perl's bin
Looks like a useful feature, needed to code it manually in libapreq test, so why not include it in A-T. the only question is may be it's better to search perl's bin first and not last? Index: Changes === --- Changes (revision 124937) +++ Changes (working copy) @@ -8,6 +8,10 @@ =item 1.20-dev +extend Apache::TestConfig::which() to search under perl's bin +directory (in the case of local perl install many utils get installed +there, but won't be in PATH). [Stas] + Apache::TestConfig::inherit_load_module handles .dll modules (previously was only .so) [Stas] Index: lib/Apache/TestConfig.pm === --- lib/Apache/TestConfig.pm(revision 124937) +++ lib/Apache/TestConfig.pm(working copy) @@ -1643,7 +1643,13 @@ return undef unless $program; -for my $base (map { catfile($_, $program) } File::Spec-path()) { +my @dirs = File::Spec-path(); + +require Config; +my $perl_bin = $Config::Config{bin} || ''; +push @dirs, $perl_bin if $perl_bin and -d $perl_bin; + +for my $base (map { catfile $_, $program } @dirs) { if ($ENV{HOME} and not WIN32) { # only works on Unix, but that's normal: # on Win32 the shell doesn't have special treatment of '~' -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Apache-Test
torsdag 13 januari 2005 15.34 skrev Stas Bekman: Geoffrey Young wrote: may be we should stop trying to parse the leading string and just gor for /x.y.zz part. Otherwise we will never satisfy everybody. I think the last time this came up we decided that we just couldn't satsify everyone and we left it as is. my personal pov is that Apache-Test is for the Apache webserver as it ships from httpd.apache.org - if third parties want to mess with the official server designation they can, this being open source and all, but then they shouldn't expect software that adheres to the conventions within httpd to run without similar modifications. that is, if you patch httpd to create a custom server name you can patch Apache-Test to work with the custom name if you want it to work with your distribution. it shouldn't be the development team's issue. In which case we need to remove the custom patterns we have added so far? +1, but the last time we added a new pattern when somebody brought an argument, that users weren't able to run A-T because of this failure and waiting for the vendor to fix this was not an option. Moreover if users download A-T from CPAN and not a binary package from the vendor, they will have this problem and they will come to complain here. So may be my suggestion of just matching the /x.y.zz part is worth a try? To test this I have removed the tagging but got problems elsewhere because we use defines to activate stuff in our config. So for example *if* mod_env is installed we pass -DHAVE_ENV when starting apache. I think the easiest thing for me to do is to make a wrapper that feeds A-T with what it wants. Does the A-T stuff has to be installed? Is it required during mod_perl runtime in any way? -- Regards // Oden Eriksson
Re: Apache-Test
Oden Eriksson wrote: [...] Please post the output of: % t/TEST -conf -trace=debug Attached. So it has matched it as revision 1: [ debug] Matched Apache revision Apache-PREFORK-AdvancedExtranetServer/2.0.52 1 Frankly I have no idea how could it possibly happen. And that's where the problem is coming from. Please try this patch: Index: lib/Apache/TestServer.pm === --- lib/Apache/TestServer.pm(revision 124937) +++ lib/Apache/TestServer.pm(working copy) @@ -67,15 +67,9 @@ # string and various variations made by distributions which mangle # that string -# Apache/2.0.50-dev -($self-{rev}) = $self-{version} =~ m|^Apache/(\d)\.|; +# Foo/x.y.z +($self-{rev}) = $self-{version} =~ m|/(\d)\.|; -# Apache-AdvancedExtranetServer/1.3.29 (Mandrake Linux/1mdk) -($self-{rev}) ||= $self-{version} =~ m|^Apache.*?/(\d)\.|; - -# IBM_HTTP_SERVER/1.3.19 Apache/1.3.20 (Unix) -($self-{rev}) ||= $self-{version} =~ m|^.*?Apache.*?/(\d)\.|; - if ($self-{rev}) { debug Matched Apache revision $self-{version} $self-{rev}; } I think what happens is this. MP_INST_APACHE2=1 tweaks Makefile to insert mp2 modules into Apache2 subdir, but since you use a custom INSTALLDIRS it fails to do that. And then: if ($rev == 2) { eval { require Apache2 require mod_perl }; } else { eval { require mod_perl }; } loads modperl1. but I've just tried here with the same options and it works fine. I also tried to leave out MP_INST_APACHE2=1 as well as not having mod_perl-common-1.3.31_1.29-3mdk installed. I just saw this: Warning: the following files are missing in your kit: META.yml But the file is there. It's possible that Apache-Test/Makefile.PL is the one that has complained. But ignore that for now. A-T is bundled with modperl and it's the one that should be run. Not any previously installed A-T. The system is clean except for parts of mod_perl 1.x that seems to be a requisite to get this mod_perl pick up missing pieces. Here's what's installed: what do you mean requisite? you mean mp2 requires mp1? Maybe it's a thing of the past, or I'm just too tired right now. At one time I saw something like Found mod_perl-1.x, good, will install relatively to Apache2/. And that message was despite the MP_INST_APACHE2=1 thing. Hmm, do you think it's a misleading message? I guess we could remove it if MP_INST_APACHE2=1 is used explicitly. -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Apache-Test
Stas Bekman wrote: Geoffrey Young wrote: In which case we need to remove the custom patterns we have added so far? hmm, did we actually add any, or just make the regex a bit more loose? I can't recall. can you see how Apache-PREFORK-AdvancedExtranetServer/2.0.52 matches 1? That's because our code is completely broken, since this is bogus: # Apache-AdvancedExtranetServer/1.3.29 (Mandrake Linux/1mdk) ($self-{rev}) ||= $self-{version} =~ m|^Apache.*?/(\d)\.|; # IBM_HTTP_SERVER/1.3.19 Apache/1.3.20 (Unix) ($self-{rev}) ||= $self-{version} =~ m|^.*?Apache.*?/(\d)\.|; it always matches 1. It should be: # Apache-AdvancedExtranetServer/1.3.29 (Mandrake Linux/1mdk) ($self-{rev}) ||= ($self-{version} =~ m|^Apache.*?/(\d)\.|); # IBM_HTTP_SERVER/1.3.19 Apache/1.3.20 (Unix) ($self-{rev}) ||= ($self-{version} =~ m|^.*?Apache.*?/(\d)\.|); we have noticed that bug, since those patterns were written when testing 1.3 and of course it has matched 1 :) yeah, I wish I had noticed before - it's a major gripe of mine that ||= wrecks that match idiom. Let's try first with a relaxed /x.y.zz, before we add yet another env var. ok. --Geoff
Re: Apache-Test
torsdag 13 januari 2005 16.15 skrev Stas Bekman: Oden Eriksson wrote: [...] Please post the output of: % t/TEST -conf -trace=debug Attached. So it has matched it as revision 1: [ debug] Matched Apache revision Apache-PREFORK-AdvancedExtranetServer/2.0.52 1 Frankly I have no idea how could it possibly happen. And that's where the problem is coming from. Please try this patch: [...] That worked! Thanks Stas! But now I need to feed it with defines somehow and make it include module specific files from /etc/conf/conf.d/*.conf that should provide further info. This is tricky, but fun! I think what happens is this. MP_INST_APACHE2=1 tweaks Makefile to insert mp2 modules into Apache2 subdir, but since you use a custom INSTALLDIRS it fails to do that. And then: if ($rev == 2) { eval { require Apache2 require mod_perl }; } else { eval { require mod_perl }; } loads modperl1. but I've just tried here with the same options and it works fine. I also tried to leave out MP_INST_APACHE2=1 as well as not having mod_perl-common-1.3.31_1.29-3mdk installed. I just saw this: Warning: the following files are missing in your kit: META.yml But the file is there. It's possible that Apache-Test/Makefile.PL is the one that has complained. But ignore that for now. Ok. A-T is bundled with modperl and it's the one that should be run. Not any previously installed A-T. The system is clean except for parts of mod_perl 1.x that seems to be a requisite to get this mod_perl pick up missing pieces. Here's what's installed: what do you mean requisite? you mean mp2 requires mp1? Maybe it's a thing of the past, or I'm just too tired right now. At one time I saw something like Found mod_perl-1.x, good, will install relatively to Apache2/. And that message was despite the MP_INST_APACHE2=1 thing. Hmm, do you think it's a misleading message? I guess we could remove it if MP_INST_APACHE2=1 is used explicitly. That would be great! That would mean I don't have to have any apache_1 stuff installed when building this module. Thanks Stas. -- Regards // Oden Eriksson
Recent problem with Apache::Test v. 1.19
Hello: I cannot test Apache::Test version 1.19 on Debian woody (5.006001) because of problems compiling Cwd on perl 5.6. However, it does compile on darwin (5.008001). FYI -- a strange result comes up when using Cwd during the test on darwin: -- use strict; use warnings; no warnings qw(uninitialized); use Cwd; use Apache::Test; use Apache::TestUtil; use Apache::TestRequest qw(GET_BODY GET_OK); use Apache::Wyrd::Services::Index; my $directory = getcwd(); $directory = $directory/t if (-d 't'); my $count = count; print 1..$count\n; my $index = undef; print not unless (GET_OK '/13.html'); print ok 1 - Index creation\n; [...] it fails at the first invocation of GET_OK with the error that the top directory is not exported by the lib module (Apache::TestConfig invokes lib-(top directory). I can circumvent it by invoking: eval 'use lib top directory' before calling GET_FOO, but this is a little kludgy. BK
Re: Apache-Test
Stas Bekman wrote: Maybe it's a thing of the past, or I'm just too tired right now. At one time I saw something like Found mod_perl-1.x, good, will install relatively to Apache2/. And that message was despite the MP_INST_APACHE2=1 thing. Hmm, do you think it's a misleading message? I guess we could remove it if MP_INST_APACHE2=1 is used explicitly. That would be great! That would mean I don't have to have any apache_1 stuff installed when building this module. OK, going to look at it. Could you paste the exact message, Oden? Take a look at modperl-2.0/Makefile.PL: if ($build-{MP_INST_APACHE2}) { print ok (installing relative to Apache2/)\n; } else { The logic looks fine to me. If you have specified MP_INST_APACHE2=1 as you've suggested above, it'd have printed: print ok (installing relative to Apache2/)\n; -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Recent problem with Apache::Test v. 1.19
Barry King wrote: Hello: I cannot test Apache::Test version 1.19 on Debian woody (5.006001) because of problems compiling Cwd on perl 5.6. However, it does compile on darwin (5.008001). FYI -- a strange result comes up when using Cwd during the test on darwin: -- use strict; use warnings; no warnings qw(uninitialized); use Cwd; use Apache::Test; use Apache::TestUtil; use Apache::TestRequest qw(GET_BODY GET_OK); use Apache::Wyrd::Services::Index; my $directory = getcwd(); $directory = $directory/t if (-d 't'); my $count = count; print 1..$count\n; my $index = undef; print not unless (GET_OK '/13.html'); print ok 1 - Index creation\n; [...] it fails at the first invocation of GET_OK with the error that the top directory is not exported by the lib module (Apache::TestConfig invokes lib-(top directory). I can circumvent it by invoking: eval 'use lib top directory' before calling GET_FOO, but this is a little kludgy. sorry, I don't understand your interpretation of the errors, Barry. Any chance we can see the exact errors? The requirement for Cwd 2.06 was needed to get the tests running under -T, which was otherwise blowing up (precisely under 5.6.x). If there are problems with Cwd please contact the author of that module. I've added the prerequisite when I saw that it's available on CPAN and builds fine on linux under 5.6. -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
A-T: httpd.conf.in
As Oden has pointed out, the custom httpd.conf.in advertised in the README doesn't work. I've confirmed yet. So I suppose this feature existed before but was lost. So should we just nuke it from README? Or should we implement it? If the latter I'd like to add a test for it, so it's not again lost in the flurry of changes. I think we should implement it, since if someone is very unhappy about the autogenerated httpd.conf they can supply their custom httpd.conf.in -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Recent problem with Apache::Test v. 1.19
Christopher H. Laco wrote: Stas Bekman wrote: [snip] The requirement for Cwd 2.06 was needed to get the tests running under -T, which was otherwise blowing up (precisely under 5.6.x). If there are Just for my learning, which version of -T? [t/mytest.t] #!perl -wT use Apache::Test; or PerlTaint On or perl -wT t/TEST or make test? There is only one version of taint, it doesn't matter how you invoke it. It was blowing up when File::Spec::rel2abs was used. Search this list's archives for that module to find the right thread discussing this problem. In the project I'm currently working on, it's all running under 5.6.1 w/A-T 1.16, stock Cwd 2.04 without any blowups under the first and third options. All hell breaks loose when I try PerlTaint on, but those appeared to be AxKit issue in my case. The difference is not first/third vs. second, but plain perl vs. mod_perl. Under mod_perl there are many things happening which don't happen under plain perl. The main cause is a persistance of things. So some totally unrelated code may cause taint problems. So you need to seek the cause and fix it. -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com