|
Hi all, I’m having a hard time getting mod_perl2 to
make tests automatically as part of an install script. What happens has
happened many times before, but was not a problem since we knew the workaround. The problem is that the first time “make test”
is made, the system times out waiting for the apache server. However, a ps
reveals that the apache daemon is running and netstat –l says it is
listening. The test script simply fails to realize the daemon Here’s the relevant info. (We are, as you can
see, compiling up a separate environment that we use for running unit testing
before we perform the actual install) suppressed mod_perl-2.0.4]#
/usr/local/smmtest/perl/bin/perl Makefile.PL
MP_APXS=/usr/local/smmtest/apache/bin/apxs “Make” runs without any incident. And
then we run make test, and this happens: /usr/local/smmtest/perl/bin/perl -Iblib/arch
-Iblib/lib \ t/TEST
-clean [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/local/smmtest/perl/bin/perl
/tmp/mod_perl-2.0.4/t/TEST -clean APACHE_TEST_GROUP= APACHE_TEST_HTTPD=
APACHE_TEST_PORT= APACHE_TEST_USER= APACHE_TEST_APXS= \
/usr/local/smmtest/perl/bin/perl -Iblib/arch -Iblib/lib \ t/TEST
-bugreport -verbose=0 [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/local/smmtest/perl/bin/perl
/tmp/mod_perl-2.0.4/t/TEST -bugreport -verbose=0 [warning] root mode: changing the files ownership to
'nobody' (99:99) [warning] testing whether 'nobody' is able to -rwx
/tmp/mod_perl-2.0.4/t "/usr/local/smmtest/perl/bin/perl"
-Mlib=/tmp/mod_perl-2.0.4/Apache-Test/lib -MApache::TestRun -e 'eval {
Apache::TestRun::run_root_fs_test(99, 99, q[/tmp/mod_perl-2.0.4/t]) }'; [warning] result: OK [warning] the client side drops 'root' permissions
and becomes 'nobody' /usr/local/smmtest/apache/bin/httpd -d
/tmp/mod_perl-2.0.4/t -f /tmp/mod_perl-2.0.4/t/conf/httpd.conf -D APACHE2 -D
PERL_USEITHREADS using Apache/2.0.63 (prefork MPM) waiting 120 seconds for server to start:
.ap_get_server_banner() not available until httpd/2.2.4 falling back to
ap_get_server_version() at
/usr/local/smmtest/perl/lib/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line
253. ap_get_server_description() not available until
httpd/2.2.4 falling back to ap_get_server_version() at /usr/local/smmtest/perl/lib/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm
line 253. [Tue May 13 10:06:22 2008] [info] 6 Apache2:: modules
loaded [Tue May 13 10:06:22 2008] [info] 0 APR:: modules
loaded [Tue May 13 10:06:22 2008] [info] base server + 28
vhosts ready to run tests ap_get_server_banner() not available until
httpd/2.2.4 falling back to ap_get_server_version() at
/usr/local/smmtest/perl/lib/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line
253. ap_get_server_description() not available until
httpd/2.2.4 falling back to ap_get_server_version() at
/usr/local/smmtest/perl/lib/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line
253. . waiting 120 seconds for server to start: ok (waited 0
secs) server vm-test1:8529 started server vm-test1:8530 listening (filter_out_apache) server vm-test1:8531 listening (perlsections) server vm-test1:8532 listening (inherit) server vm-test1:8533 listening
(TestModperl::setupenv) server vm-test1:8534 listening (TestModperl::merge) server vm-test1:8535 listening
(TestModperl::perl_options) server vm-test1:8536 listening
(TestModperl::perl_options2) server vm-test1:8537 listening (TestVhost::log) server vm-test1:8538 listening (TestVhost::config) server vm-test1:8539 listening (TestModules::proxy) server vm-test1:8540 listening (TestUser::rewrite) server vm-test1:8541 listening
(TestProtocol::echo_nonblock) server vm-test1:8542 listening
(TestProtocol::echo_bbs2) server vm-test1:8543 listening
(TestProtocol::echo_timeout) server vm-test1:8544 listening
(TestProtocol::pseudo_http) server vm-test1:8545 listening
(TestProtocol::echo_block) server vm-test1:8546 listening
(TestProtocol::echo_filter) server vm-test1:8547 listening
(TestProtocol::echo_bbs) server vm-test1:8548 listening
(TestPreConnection::note) server vm-test1:8549 listening (TestHooks::stacked_handlers2) server vm-test1:8550 listening (TestHooks::hookrun) server vm-test1:8551 listening (TestHooks::trans) server vm-test1:8552 listening (TestHooks::init) server vm-test1:8553 listening (TestHooks::startup) server vm-test1:8554 listening
(TestFilter::in_bbs_msg) server vm-test1:8555 listening
(TestFilter::in_str_msg) server vm-test1:8556 listening
(TestFilter::in_bbs_inject_header) server vm-test1:8557 listening
(TestFilter::both_str_con_add) server vm-test1:8558 listening (TestDirective::perlrequire) server vm-test1:8559 listening
(TestDirective::perlmodule) server vm-test1:8560 listening
(TestDirective::perlloadmodule3) server vm-test1:8561 listening
(TestDirective::perlloadmodule5) server vm-test1:8562 listening
(TestDirective::perlloadmodule4) server vm-test1:8563 listening (TestAPI::add_config) server vm-test1:8564 listening
(TestDirective::perlloadmodule6) server vm-test1:8565 listening
(TestHooks::push_handlers_anon) still waiting for server to warm up: ............. While we wait for the 120-second timeout, I can see
this: suppressed ~]# ps ax | grep httpd 23498 ?
Ss 0:00 /usr/local/smmtest/apache/bin/httpd -d
/tmp/mod_perl-2.0.4/t -f /tmp/mod_perl-2.0.4/t/conf/httpd.conf -D APACHE2 -D
PERL_USEITHREADS 23502 ?
S 0:00 /usr/local/smmtest/apache/bin/httpd -d
/tmp/mod_perl-2.0.4/t -f /tmp/mod_perl-2.0.4/t/conf/httpd.conf -D APACHE2 -D
PERL_USEITHREADS 23503 ?
S 0:00 /usr/local/smmtest/apache/bin/httpd -d
/tmp/mod_perl-2.0.4/t -f /tmp/mod_perl-2.0.4/t/conf/httpd.conf -D APACHE2 -D
PERL_USEITHREADS 23535 pts/1
S+ 0:00 grep httpd And this: suppressed ~]# netstat -ltp Active Internet connections (only servers) Proto Recv-Q Send-Q Local
Address
Foreign
Address
State PID/Program name tcp
0 0
*:8544
*:*
LISTEN 23498/httpd tcp
0 0
*:8545
*:*
LISTEN 23498/httpd tcp
0 0
*:8546
*:*
LISTEN 23498/httpd tcp 0
0
*:8547
*:*
LISTEN 23498/httpd tcp
0 0
*:8548
*:*
LISTEN 23498/httpd tcp
0 0
*:8549
*:* LISTEN
23498/httpd tcp
0 0
*:8550
*:*
LISTEN 23498/httpd tcp
0 0
*:8551
*:*
LISTEN 23498/httpd tcp
0 0
*:8552
*:*
LISTEN 23498/httpd tcp
0 0
*:8553
*:*
LISTEN 23498/httpd tcp
0 0
*:rtsp-alt
*:* LISTEN
23498/httpd tcp
0 0
*:d-fence
*:*
LISTEN 23498/httpd tcp
0 0
*:8556
*:*
LISTEN 23498/httpd tcp 0
0
*:8557
*:*
LISTEN 23498/httpd tcp
0 0
*:8558
*:*
LISTEN 23498/httpd tcp
0 0
*:8559
*:*
LISTEN
23498/httpd tcp
0 0
*:8560
*:*
LISTEN 23498/httpd tcp
0 0
*:8529
*:*
LISTEN 23498/httpd tcp
0 0 *:8561
*:*
LISTEN 23498/httpd tcp
0 0
*:8530
*:*
LISTEN 23498/httpd tcp
0 0
*:8562
*:*
LISTEN 23498/httpd tcp
0 0
*:8563
*:*
LISTEN 23498/httpd tcp
0 0
*:8531
*:*
LISTEN 23498/httpd tcp
0 0
*:8564 *:*
LISTEN 23498/httpd tcp
0 0
*:8532
*:*
LISTEN 23498/httpd tcp
0 0
*:8533
*:*
LISTEN 23498/httpd tcp
0 0
*:8565
*:*
LISTEN 23498/httpd tcp
0 0
*:8534
*:*
LISTEN 23498/httpd tcp
0 0
*:8535
*:*
LISTEN 23498/httpd tcp
0 0
*:8536
*:*
LISTEN 23498/httpd tcp
0 0
*:8537
*:*
LISTEN 23498/httpd tcp 0
0
*:8538
*:*
LISTEN 23498/httpd tcp
0 0
*:8539
*:*
LISTEN 23498/httpd tcp
0 0
*:8540
*:* LISTEN
23498/httpd tcp
0 0
*:8541
*:*
LISTEN 23498/httpd tcp
0 0
*:8542
*:*
LISTEN 23498/httpd tcp
0 0
*:8543
*:*
LISTEN 23498/httpd tcp
0 0
*:ssh
*:*
LISTEN 1248/sshd So, the apache servers that are being used for running
the test actually start, but the test suite fails to connect to them. The
processes are still there after the timeout: “the server is down, giving
up after 121 secs”. If I run “make test” a second time, then
the test suite is run and all tests are completed successfully. The log files contain no relevant information. The system in this case is RHEL 5 64bit, but we
experience the same hiccup on RHEL 4 32bit as well. Anybody have a clue about why this is happening? Best regards, Jens-Petter Salvesen Senior developer |
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.