Brenda Washington wrote: > I'm getting this error when running a test in mod_perl. I've looked at the > httpd.conf file and I can't figure out > what's causing this error, or how to fix it. How do I re-define the value at > line 2107? > > [Tue Nov 15 14:36:14 2005] [info] 0 APR:: modules loaded > [Tue Nov 15 14:36:14 2005] [info] base server + 27 vhosts ready to run tests > ............. (in cleanup) Can't call method "push_handlers" on an > undefined value at /opt/apache/mod_perl-2.0.1/t/conf/httpd.conf line 2107. > Syntax error on line 2094 of /opt/apache/mod_perl-2.0.1/t/conf/httpd.conf: > \t(in cleanup) Can't call method "push_handlers" on an undefined value at > /opt/apache/mod_perl-2.0.1/t/conf/httpd.conf line 2107.\n > > This is the area in my httpd.conf where the error messages are generated > from. > > # APACHE_TEST_CONFIG_ORDER 1000 > Listen 0.0.0.0:8561 > <VirtualHost _default_:8561> > ServerName localhost:8561 > PerlModule TestHooks::push_handlers_anon > <Perl > > # want to push a handler for a vhost, via $s, but the only way to > # get $s for vhost is to traverse the vhosts list > use Apache::Test; > use Apache::TestRequest; > Apache::TestRequest::module('TestHooks::push_handlers_anon'); > my $hostport = Apache::TestRequest::hostport(Apache::Test::config()); > my($host, $port) = split ':', $hostport; > my $s = Apache2::ServerUtil->server; > my $vs = $s->next; > for (; $vs; $vs = $vs->next) { > last if $port == $vs->port > }
Smells like this loops falls through without finding the correct vhost. Can you dump out $host, $port and the final value of $vs ? -------------------------------------------------------------------------------- Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5 http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
signature.asc
Description: OpenPGP digital signature