Re: cvs commit: httpd-test/perl-framework/Apache-Test/lib/Apache Test.pm TestConfig.pm TestRun.pm

2004-08-09 Thread Stas Bekman
[EMAIL PROTECTED] wrote:
stas2004/08/08 23:19:16
  Modified:perl-framework/Apache-Test/lib/Apache Test.pm TestConfig.pm
TestRun.pm
  Log:
  another round of fixes of fixes
We are definitely not ready for the planned release. My recent attempts 
to fix a fatal configuration bug affecting end users, have unstabilized 
things, as I have shuffled some of the execution sequences, and w/o 
tests I couldn't do through testing. So I discover problem as I deply 
A-T in various context. I hope it'll be back to stable soonish.

--
__
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: cvs commit: httpd-test/perl-framework/Apache-Test/lib/Apache Test.pm TestConfig.pm TestRun.pm

2004-08-09 Thread Geoffrey Young


Stas Bekman wrote:
 [EMAIL PROTECTED] wrote:
 
 stas2004/08/08 23:19:16

   Modified:perl-framework/Apache-Test/lib/Apache Test.pm
 TestConfig.pm
 TestRun.pm
   Log:
   another round of fixes of fixes
 
 
 We are definitely not ready for the planned release. My recent attempts
 to fix a fatal configuration bug affecting end users, have unstabilized
 things, as I have shuffled some of the execution sequences, and w/o
 tests I couldn't do through testing. So I discover problem as I deply
 A-T in various context. I hope it'll be back to stable soonish.

yeah, we discussed this semi-privately - we're bagging the proposed release
of A-T 1.13 and will re-roll a 1.13 candidate in a bit when we're all done
tinkering.  funny how activity seems to come in flurries :)

--Geoff


Re: failing httpd-test tests

2004-08-09 Thread Joe Orton
On Fri, Aug 06, 2004 at 07:26:31PM -0700, Stas Bekman wrote:
 Do you also get these tests failing with the current httpd-2.0?
 
 Failed Test   Stat Wstat Total Fail  Failed  List of Failed
 ---
 t/apache/limits.t   102  20.00%  7 9
 t/ssl/basicauth.t32  66.67%  2-3
 t/ssl/env.t 28   14  50.00%  15-28
 t/ssl/proxy.t  169  116  68.64%  1-58 112-169
 t/ssl/require.t  52  40.00%  2 5
 t/ssl/varlookup.t   72   72 100.00%  1-72
 t/ssl/verify.t   31  33.33%  2

I get just the ssl/basicauth.t failures and a whole bunch in
modules/access.t too using HEAD of httpd and httpd-test.  The tests were
all passing on July 25th before I went on holiday so it is a relatively
recent regression, but I turned off my nightly builds in the meantime so
I'll try and track it down manually...


Re: failing httpd-test tests

2004-08-09 Thread Joe Orton
There is something funky in the default_module detection; it's picking
up mod_auth.c and mod_access.c as the {auth,access}_module settings
rather than mod_auth_basic.c and mod_authz_host.c as expected with 2.0.

$ grep access_ conf/apache_test_config.pm
 'access_module_name' = 'mod_access',
 'access_module' = 'mod_access.c

that the failures I'm seeing here.

./TEST -debug seems to have stopper working sometime too

$ ./TEST -debug
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl /tmp/regressPPKikg/pf/t/TEST -debug
[warning] server localhost.localdomain:8529 shutdown
Use of uninitialized value in concatenation (.) or string at 
Apache-Test/lib/Apache/TestServer.pm line 130.

any ideas?

joe


Re: failing httpd-test tests

2004-08-09 Thread Joe Orton
On Mon, Aug 09, 2004 at 10:48:39AM -0400, Geoffrey Young wrote:
 Joe Orton wrote:
  There is something funky in the default_module detection; it's picking
  up mod_auth.c and mod_access.c as the {auth,access}_module settings
  rather than mod_auth_basic.c and mod_authz_host.c as expected with 2.0.
...
 I'm not sure if that's something stas touched or not.
 
 helpful information at this point would be some of the verbose output from
 the module selection reports using 'export APACHE_TEST_TRACE_LEVEL=debug'
 when running t/TEST -conf.  just to reduce things a bit, starting from a
 fresh checkout might be useful too - I'm still seeing random failures in
 some tests when I switch from 2.0 to 2.1 in the same working directory, even
 after running 'make realclean' and t/TEST -clean, but I haven't been able to
 put my finger on it.

OK, attached ./t/TEST -conf output after fresh checkout.

joe
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl /var/tmp/pf-4/t/TEST -conf
[  debug] no custom config data was loaded
[  debug] configuring httpd
[  debug] no custom config data was loaded
[  debug] Writing custom config /var/tmp/pf-4/lib/Apache/TestConfigData.pm

  Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens [EMAIL PROTECTED]

  Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens [EMAIL PROTECTED]
[  debug] isolated httpd_info VERSION = Apache/2.1.0-dev
[  debug] isolated httpd_info BUILT = Aug  9 2004 09:08:40
[  debug] isolated httpd_info MODULE_MAGIC_NUMBER = 20040425:1
[  debug] isolated httpd_info SERVER_MPM = Prefork
[  debug] isolated httpd_defines APACHE_MPM_DIR = server/mpm/prefork
[  debug] isolated httpd_defines APR_HAS_SENDFILE = 1
[  debug] isolated httpd_defines APR_HAS_MMAP = 1
[  debug] isolated httpd_defines APR_HAVE_IPV6 (IPv4-mapped addresses enabled) 
= 1
[  debug] isolated httpd_defines APR_USE_SYSVSEM_SERIALIZE = 1
[  debug] isolated httpd_defines APR_USE_PTHREAD_SERIALIZE = 1
[  debug] isolated httpd_defines SINGLE_LISTEN_UNSERIALIZED_ACCEPT = 1
[  debug] isolated httpd_defines APR_HAS_OTHER_CHILD = 1
[  debug] isolated httpd_defines AP_HAVE_RELIABLE_PIPED_LOGS = 1
[  debug] isolated httpd_defines HTTPD_ROOT = /tmp/regressPPKikg/2.1-root
[  debug] isolated httpd_defines SUEXEC_BIN = 
/tmp/regressPPKikg/2.1-root/bin/suexec
[  debug] isolated httpd_defines DEFAULT_PIDLOG = logs/httpd.pid
[  debug] isolated httpd_defines DEFAULT_SCOREBOARD = logs/apache_runtime_status
[  debug] isolated httpd_defines DEFAULT_LOCKFILE = logs/accept.lock
[  debug] isolated httpd_defines DEFAULT_ERRORLOG = logs/error_log
[  debug] isolated httpd_defines AP_TYPES_CONFIG_FILE = conf/mime.types
[  debug] isolated httpd_defines SERVER_CONFIG_FILE = conf/httpd.conf
[  debug] inheriting config file: /tmp/regressPPKikg/2.1-root/conf/httpd.conf
[  debug] using httpd.conf inherited ServerRoot to resolve conf/ssl.conf
[  debug] conf/ssl.conf successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/conf/ssl.conf
[  debug] inheriting config file: /tmp/regressPPKikg/2.1-root/conf/ssl.conf
[  debug] using httpd.conf inherited ServerRoot to resolve modules/mod_echo.so
[  debug] modules/mod_echo.so successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/modules/mod_echo.so
[  debug] Found: echo_module = mod_echo.c
[  debug] LoadModule echo_module mod_echo.c
[  debug] using httpd.conf inherited ServerRoot to resolve 
modules/mod_case_filter.so
[  debug] modules/mod_case_filter.so successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/modules/mod_case_filter.so
[  debug] Found: case_filter_module = mod_case_filter.c
[  debug] LoadModule case_filter_module mod_case_filter.c
[  debug] using httpd.conf inherited ServerRoot to resolve 
modules/mod_case_filter_in.so
[  debug] modules/mod_case_filter_in.so successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/modules/mod_case_filter_in.so
[  debug] Found: case_filter_in_module = mod_case_filter_in.c
[  debug] LoadModule case_filter_in_module mod_case_filter_in.c
[  debug] using httpd.conf inherited ServerRoot to resolve 
modules/mod_deflate.so
[  debug] modules/mod_deflate.so successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/modules/mod_deflate.so
[  debug] Found: deflate_module = mod_deflate.c
[  debug] LoadModule deflate_module mod_deflate.c
[  debug] using httpd.conf inherited ServerRoot to resolve 
modules/mod_expires.so
[  debug] modules/mod_expires.so successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/modules/mod_expires.so
[  debug] Found: expires_module = mod_expires.c
[  debug] LoadModule expires_module mod_expires.c
[  debug] using httpd.conf inherited ServerRoot to resolve 
modules/mod_headers.so
[  debug] modules/mod_headers.so successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/modules/mod_headers.so
[  debug] Found: headers_module = mod_headers.c
[  debug] LoadModule headers_module mod_headers.c
[  debug] using httpd.conf inherited 

Re: failing httpd-test tests

2004-08-09 Thread Joe Orton
Yes, sorry I'm talking about 2.1 here of course.  I debugged this as far
as finding that $self-{modules} appears to be empty at the time that
the -default_module calls are made.

Attached:

1) patch to add debugging to default_module
2) ./TEST -conf output with patch applied
3) resultant apache_test_config.pm


Index: Apache-Test/lib/Apache/TestConfig.pm
===
RCS file: 
/home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfig.pm,v
retrieving revision 1.235
diff -u -r1.235 TestConfig.pm
--- Apache-Test/lib/Apache/TestConfig.pm9 Aug 2004 06:19:15 -   
1.235
+++ Apache-Test/lib/Apache/TestConfig.pm9 Aug 2004 15:37:38 -
@@ -371,13 +371,27 @@
 
 my $mname = $name . '_module_name';
 
+debug dm: looking for $mname;
+
+if ($self-{vars}-{$mname}) {
+debug dm: already got $self-{vars}-{$mname};
+}
+
 unless ($self-{vars}-{$mname}) {
 ($self-{vars}-{$mname}) = grep {
 $self-{modules}-{$_.c};
 } @$choices;
 
+if ($self-{vars}-{$mname}) {
+debug dm: found $self-{vars}-{$mname} from choices;
+} else {
+debug dm: falling back on default $choices-[0];
+}
+
 $self-{vars}-{$mname} ||= $choices-[0];
 }
+
+debug dm: found $self-{vars}-{$mname};
 
 $self-{vars}-{$name . '_module'} =
   $self-{vars}-{$mname} . '.c'
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl /var/tmp/pf-4/t/TEST -conf
[  debug] no custom config data was loaded
[  debug] dm: looking for cgi_module_name
[  debug] dm: falling back on default mod_cgi
[  debug] dm: found mod_cgi
[  debug] dm: looking for thread_module_name
[  debug] dm: falling back on default worker
[  debug] dm: found worker
[  debug] dm: looking for ssl_module_name
[  debug] dm: falling back on default mod_ssl
[  debug] dm: found mod_ssl
[  debug] dm: looking for access_module_name
[  debug] dm: falling back on default mod_access
[  debug] dm: found mod_access
[  debug] dm: looking for auth_module_name
[  debug] dm: falling back on default mod_auth
[  debug] dm: found mod_auth
[  debug] dm: looking for php_module_name
[  debug] dm: falling back on default mod_php4
[  debug] dm: found mod_php4
[  debug] configuring httpd
[  debug] no custom config data was loaded
[  debug] Writing custom config /var/tmp/pf-4/lib/Apache/TestConfigData.pm

  Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens [EMAIL PROTECTED]

  Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens [EMAIL PROTECTED]
[  debug] isolated httpd_info VERSION = Apache/2.1.0-dev
[  debug] isolated httpd_info BUILT = Aug  9 2004 09:08:40
[  debug] isolated httpd_info MODULE_MAGIC_NUMBER = 20040425:1
[  debug] isolated httpd_info SERVER_MPM = Prefork
[  debug] isolated httpd_defines APACHE_MPM_DIR = server/mpm/prefork
[  debug] isolated httpd_defines APR_HAS_SENDFILE = 1
[  debug] isolated httpd_defines APR_HAS_MMAP = 1
[  debug] isolated httpd_defines APR_HAVE_IPV6 (IPv4-mapped addresses enabled) 
= 1
[  debug] isolated httpd_defines APR_USE_SYSVSEM_SERIALIZE = 1
[  debug] isolated httpd_defines APR_USE_PTHREAD_SERIALIZE = 1
[  debug] isolated httpd_defines SINGLE_LISTEN_UNSERIALIZED_ACCEPT = 1
[  debug] isolated httpd_defines APR_HAS_OTHER_CHILD = 1
[  debug] isolated httpd_defines AP_HAVE_RELIABLE_PIPED_LOGS = 1
[  debug] isolated httpd_defines HTTPD_ROOT = /tmp/regressPPKikg/2.1-root
[  debug] isolated httpd_defines SUEXEC_BIN = 
/tmp/regressPPKikg/2.1-root/bin/suexec
[  debug] isolated httpd_defines DEFAULT_PIDLOG = logs/httpd.pid
[  debug] isolated httpd_defines DEFAULT_SCOREBOARD = logs/apache_runtime_status
[  debug] isolated httpd_defines DEFAULT_LOCKFILE = logs/accept.lock
[  debug] isolated httpd_defines DEFAULT_ERRORLOG = logs/error_log
[  debug] isolated httpd_defines AP_TYPES_CONFIG_FILE = conf/mime.types
[  debug] isolated httpd_defines SERVER_CONFIG_FILE = conf/httpd.conf
[  debug] inheriting config file: /tmp/regressPPKikg/2.1-root/conf/httpd.conf
[  debug] using httpd.conf inherited ServerRoot to resolve conf/ssl.conf
[  debug] conf/ssl.conf successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/conf/ssl.conf
[  debug] inheriting config file: /tmp/regressPPKikg/2.1-root/conf/ssl.conf
[  debug] using httpd.conf inherited ServerRoot to resolve modules/mod_echo.so
[  debug] modules/mod_echo.so successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/modules/mod_echo.so
[  debug] Found: echo_module = mod_echo.c
[  debug] LoadModule echo_module mod_echo.c
[  debug] using httpd.conf inherited ServerRoot to resolve 
modules/mod_case_filter.so
[  debug] modules/mod_case_filter.so successfully resolved to existing file 
/tmp/regressPPKikg/2.1-root/modules/mod_case_filter.so
[  debug] Found: case_filter_module = mod_case_filter.c
[  debug] LoadModule case_filter_module mod_case_filter.c
[  debug] using httpd.conf inherited ServerRoot 

Re: failing httpd-test tests

2004-08-09 Thread Joe Orton
On Mon, Aug 09, 2004 at 11:55:57AM -0400, Geoffrey Young wrote:
 
 
 Joe Orton wrote:
  Yes, sorry I'm talking about 2.1 here of course.  I debugged this as far
  as finding that $self-{modules} appears to be empty at the time that
  the -default_module calls are made.
 
 yes, I see that there is no aaa stuff in your resulting conf, which I assume
 is because you don't have any aaa LoadModule statements in your main
 httpd.conf.  this should be fine under normal circumstances.  the only thing
 I can think of that might trip this up is if you have those modules compiled
 statically, but I'm not entirely sure.

Yes, indeed.

$ ./bin/httpd  -l | grep mod_auth
  mod_authn_file.c
  mod_authn_default.c
  mod_authz_host.c
  mod_authz_groupfile.c
  mod_authz_user.c
  mod_authz_default.c
  mod_auth_basic.c

 anyway, if t/modules/access.t is failing for you, please run
 
 $ t/TEST t/modules/access.t -v
 
 and post the resulting output - the call to need_access should be sufficient
 to keep that test from running at all if it can't find an appropriate aaa
 module.

All tests which expect access do pass, all those expecting access denial
fail, i.e. failing exactly as if no access control is applied.

# Order mutual-failure
# Allow from 127.0.0.1/16
# Deny from 66.6.6.6
# expecting access.
ok 374
# ---
...
# Order mutual-failure
# Allow from 66.6.6.6
# Deny from 66.6.6.6
# expecting access denial.
# Failed test 408 in t/modules/access.t at line 185 fail #8
not ok 408

does that help?

joe


Re: failing httpd-test tests

2004-08-09 Thread Stas Bekman
Geoffrey Young wrote:
Joe Orton wrote:
There is something funky in the default_module detection; it's picking
up mod_auth.c and mod_access.c as the {auth,access}_module settings
rather than mod_auth_basic.c and mod_authz_host.c as expected with 2.0.
$ grep access_ conf/apache_test_config.pm
'access_module_name' = 'mod_access',
'access_module' = 'mod_access.c
that the failures I'm seeing here.

any ideas?

I'm not sure if that's something stas touched or not.
I think not, but I'm not 100% sure. All I did is split the A-T 
configuration process in 2 parts, postponing the httpd-specific 
information finding to a later stage.

helpful information at this point would be some of the verbose output from
the module selection reports using 'export APACHE_TEST_TRACE_LEVEL=debug'
when running t/TEST -conf.  
it's simpler with: t/TEST -conf -trace=debug :)
--
__
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: failing httpd-test tests

2004-08-09 Thread Stas Bekman
Joe Orton wrote:
There is something funky in the default_module detection; it's picking
up mod_auth.c and mod_access.c as the {auth,access}_module settings
rather than mod_auth_basic.c and mod_authz_host.c as expected with 2.0.
$ grep access_ conf/apache_test_config.pm
 'access_module_name' = 'mod_access',
 'access_module' = 'mod_access.c
that the failures I'm seeing here.
./TEST -debug seems to have stopper working sometime too
$ ./TEST -debug
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl /tmp/regressPPKikg/pf/t/TEST -debug
[warning] server localhost.localdomain:8529 shutdown
Use of uninitialized value in concatenation (.) or string at 
Apache-Test/lib/Apache/TestServer.pm line 130.

any ideas?
Indeed. I've committed the fix.
--
__
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