> I'd put my $5.00 on APR being the cause of this problem. Mikhail, you
> will probably need to patch APR when you build Apache. Try this patch,
> which I am guessing will work on NetBSD:
> 
> Index: build/apr_hints.m4 
> ===================================================================
> RCS file: ./srclib/apr/build/apr_hints.m4,v
> retrieving revision 1.68
> diff -u -r1.68 apr_hints.m4
> --- build/apr_hints.m4  12 Aug 2004 13:44:29 -0000      1.68
> +++ build/apr_hints.m4  27 Aug 2004 06:12:04 -0000
> @@  -131,6 +131,8 @@
>          ;;
>      *-openbsd*)
>      APR_ADDTO(CPPFLAGS, [-D_POSIX_THREADS])
> +    APR_SETIFNULL(ac_cv_o_nonblock_inherited, [yes])
>          ;;
>      *-netbsd*)
>      APR_ADDTO(CPPFLAGS, [-DNETBSD])
> +    APR_SETIFNULL(ac_cv_o_nonblock_inherited, [yes])
> 
> The problem is that the APR library thinks a socket is blocking by
> default -- when in fact the reverse is true on some platforms (on
> OpenBSD, for example).
> 
> After applying this patch to your Apache, run ./buildconf to rebuild
> the configure script. Then run ./configure, make, make install.
> Let me know if it works for you and cc the Apache APR dev list.

Ken, Stas, done as advised. The only test which is failing now (and was 
failing before) is:

Failed Test             Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/apr-ext/threadmutex.t    2   512     3    6 200.00%  1-3
15 tests skipped.
Failed 1/209 test scripts, 99.52% okay. 3/3258 subtests failed, 99.91% 
okay.

k714% make test TEST_VERBOSE=1 TEST_FILES="t/apr-ext/threadmutex.t"
cd "src/modules/perl" && make -f Makefile.modperl
/usr/pkg/bin/perl -Iblib/arch/Apache2 -Iblib/lib/Apache2  t/TEST -clean
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= 
APACHE_TEST_APXS=  /usr/pkg/bin/perl -Iblib/arch/Apache2 
-Iblib/lib/Apache2  t/TEST -bugreport -verbose=1 t/apr-ext/threadmutex.t
/home/mgorb/httpd-2.0/bin/httpd -d 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/t -f 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/t/conf/httpd.conf -D APACHE2
using Apache/2.0.51-dev (prefork MPM)

waiting 120 seconds for server to start: .....[Tue Sep 07 11:21:14 2004] 
[info] 27 Apache:: modules loaded
[Tue Sep 07 11:21:14 2004] [info] 7 APR:: modules loaded
[Tue Sep 07 11:21:14 2004] [info] base server + 20 vhosts ready to run 
tests
...
waiting 120 seconds for server to start: ok (waited 7 secs)
server localhost:8529 started
server localhost:8530 listening (TestModperl::setupenv)
server localhost:8531 listening (TestModperl::merge)
server localhost:8532 listening (TestModperl::perl_options)
server localhost:8533 listening (TestVhost::config)
server localhost:8534 listening (TestProtocol::pseudo_http)
server localhost:8535 listening (TestProtocol::echo_filter)
server localhost:8536 listening (TestProtocol::echo_bbs2)
server localhost:8537 listening (TestProtocol::echo_bbs)
server localhost:8538 listening (TestProtocol::echo_timeout)
server localhost:8539 listening (TestProtocol::echo_block)
server localhost:8540 listening (TestPreConnection::note)
server localhost:8541 listening (TestHooks::startup)
server localhost:8542 listening (TestHooks::stacked_handlers2)
server localhost:8543 listening (TestHooks::hookrun)
server localhost:8544 listening (TestFilter::in_bbs_msg)
server localhost:8545 listening (TestFilter::both_str_con_add)
server localhost:8546 listening (TestFilter::in_bbs_inject_header)
server localhost:8547 listening (TestFilter::in_str_msg)
server localhost:8548 listening (TestDirective::perlrequire)
server localhost:8549 listening (TestDirective::perlmodule)
server localhost:8550 listening (TestDirective::perlloadmodule4)
server localhost:8551 listening (TestDirective::perlloadmodule5)
server localhost:8552 listening (TestDirective::perlloadmodule3)
server localhost:8553 listening (TestDirective::perlloadmodule6)
t/apr-ext/threadmutex....1..3
# Running under perl version 5.008004 for netbsd
# Current time local: Tue Sep  7 11:21:17 2004
# Current time GMT:   Tue Sep  7 07:21:17 2004
# Using Test.pm version 1.24
# Using Apache/Test.pm version 1.14
Can't locate APR/ThreadMutex.pm in @INC (@INC contains: 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/Apache-Test 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/blib/lib 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/blib/arch 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/blib/lib/Apache2 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/blib/arch/Apache2 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/lib 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/Apache-Test/lib 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/t/lib blib/arch/Apache2 
blib/lib/Apache2 /usr/pkg/lib/perl5/site_perl/5.8.4/i386-netbsd 
/usr/pkg/lib/perl5/site_perl/5.8.4/i386-netbsd 
/usr/pkg/lib/perl5/site_perl/5.8.4 
/usr/pkg/lib/perl5/site_perl/5.8.4/i386-netbsd 
/usr/pkg/lib/perl5/site_perl/5.8.4 /usr/pkg/lib/perl5/site_perl 
/usr/pkg/lib/perl5/5.8.4/i386-netbsd /usr/pkg/lib/perl5/5.8.4/i386-netbsd 
/usr/pkg/lib/perl5/5.8.4 . /usr/pkg/lib/perl5/site_perl/5.8.4/i386-netbsd 
/usr/pkg/lib/perl5/site_perl/5.8.4 /usr/pkg/lib/perl5/site_perl 
/usr/pkg/lib/perl5/5.8.4/i386-netbsd /usr/pkg/lib/perl5/5.8.4 .) at 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/t/lib/TestAPRlib/threadmutex.pm 
line 18.
dubious
        Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-3
        Failed 3/3 tests, 0.00% okay
Failed Test             Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/apr-ext/threadmutex.t    2   512     3    6 200.00%  1-3
Failed 1/1 test scripts, 0.00% okay. 3/3 subtests failed, 0.00% okay.
[warning] server localhost:8529 shutdown
[  error] error running tests (please examine t/logs/error_log)
+--------------------------------------------------------+
| Please file a bug report: http://perl.apache.org/bugs/ |
+--------------------------------------------------------+
*** Error code 1

Stop.
make: stopped in /home/mgorb/mp-test/mod_perl-1.99_16
k714%
k714% cat t/logs/error_log
END in modperl_extra.pl, pid=22961
[Tue Sep 07 11:21:17 2004] [notice] Apache/2.0.51-dev (Unix) world 
domination series/2.0 mod_perl/1.99_16 Perl/v5.8.4 configured -- resuming 
normal operations
[Tue Sep 07 11:21:17 2004] [info] Server built: Sep  7 2004 10:38:55
[Tue Sep 07 11:21:17 2004] [debug] prefork.c(955): AcceptMutex: sysvsem 
(default: sysvsem)
[Tue Sep 07 11:21:19 2004] [info] Child process pid=22975 is exiting
END in modperl_extra.pl, pid=22975
[Tue Sep 07 11:21:19 2004] [info] Child process pid=22976 is exiting
END in modperl_extra.pl, pid=22976
[Tue Sep 07 11:21:19 2004] [info] removed PID file 
/usr/home/mgorb/mp-test/mod_perl-1.99_16/t/logs/httpd.pid (pid=22968)
[Tue Sep 07 11:21:19 2004] [notice] caught SIGTERM, shutting down
END in modperl_extra.pl, pid=22968
k714%


-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to