[BUG] mod_perl2 test failures (when building Debian package)
Hi, I am a member of the Debian pkg-perl group [1]. I stumbled upon a test failure when rebuilding - For further information on my build environment, please refer to the bug report in the Debian BTS [2]. The test failure appears on hooks/authz.t: Test Summary Report --- t/hooks/authz (Wstat: 0 Tests: 4 Failed: 1) Failed test: 4 As per the instructions on the modperl website, I ran (snipping out the repetitive lines that I don't think convey any extra information): $ make test TEST_VERBOSE=1 TEST_FILES=hooks/authz.t (...) /usr/bin/perl -Iblib/arch -Iblib/lib \ t/TEST -clean [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/bin/perl /tmp/build-area/libapache2-mod-perl2-2.0.4/t/TEST -clean echo *** PASSENV: APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= APACHE_TEST_APXS= *** PASSENV: APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= APACHE_TEST_APXS= echo *** APACHE_TEST_HTTPD: *** APACHE_TEST_HTTPD: echo *** APACHE_TEST_EXTRA_ARGS: *** APACHE_TEST_EXTRA_ARGS: APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= APACHE_TEST_APXS= \ /usr/bin/perl -Iblib/arch -Iblib/lib \ t/TEST -bugreport -verbose=1 hooks/authz.t [warning] setting ulimit to allow core files ulimit -c unlimited; /usr/bin/perl /tmp/build-area/libapache2-mod-perl2-2.0.4/t/TEST -bugreport -verbose=1 'hooks/authz.t' /usr/sbin/apache2 -d /tmp/build-area/libapache2-mod-perl2-2.0.4/t -f /tmp/build-area/libapache2-mod-perl2-2.0.4/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS using Apache/2.2.11 (prefork MPM) waiting 120 seconds for server to start: .[Mon Dec 22 10:34:52 2008] [info] 6 Apache2:: modules loaded [Mon Dec 22 10:34:52 2008] [info] 0 APR:: modules loaded [Mon Dec 22 10:34:52 2008] [info] base server + 28 vhosts ready to run tests . waiting 120 seconds for server to start: ok (waited 1 secs) (...) server localhost:8550 listening (TestHooks::hookrun) (...) t/hooks/authz 1..4 # Running under perl version 5.01 for linux # Current time local: Mon Dec 22 10:34:54 2008 # Current time GMT: Mon Dec 22 16:34:54 2008 # Using Test.pm version 1.25 # Using Apache/Test.pm version 1.31 ok 1 ok 2 ok 3 not ok 4 # Failed test 4 in t/hooks/authz.t at line 19 Failed 1/4 subtests Test Summary Report --- t/hooks/authz (Wstat: 0 Tests: 4 Failed: 1) Failed test: 4 Files=1, Tests=4, 0 wallclock secs ( 0.03 usr 0.01 sys + 0.40 cusr 0.06 csys = 0.50 CPU) Result: FAIL Failed 1/1 test programs. 1/4 subtests failed. [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/ | ++ make: *** [run_tests] Error 1 This test attempts to: ok ! GET_OK $location; Fail to get the requested resource with no authorization information my $rc = GET_RC $location; ok $rc == 401; Ensure the failure is due to lack of authorization ok GET_OK $location, username = 'dougm', password = 'foo'; Ensure that, given the proper authorization credentials, the request succeeds. ok ! GET_OK $location, username = 'jobbob', password = 'whatever'; Ensure that, without a wrong authorization, the request fails Now, this last step is the one failing - For some reason, I get this in my logs/error_log: 127.0.0.1 - - [22/Dec/2008:10:34:54 -0600] GET /index.html HTTP/1.0 200 873 127.0.0.1 - - [22/Dec/2008:10:34:54 -0600] GET /TestHooks__authz HTTP/1.0 401 534 127.0.0.1 - - [22/Dec/2008:10:34:54 -0600] GET /TestHooks__authz HTTP/1.0 401 534 127.0.0.1 - - [22/Dec/2008:10:34:54 -0600] GET /TestHooks__authz HTTP/1.0 401 534 127.0.0.1 - dougm [22/Dec/2008:10:34:54 -0600] GET /TestHooks__authz HTTP/1.0 200 217 127.0.0.1 - dougm [22/Dec/2008:10:34:54 -0600] GET /TestHooks__authz HTTP/1.0 200 217 This is, either the test sends again the original authorization information, or the server fails to forget it and process the new one. Thank you for any insight. Oh! I am not subscribed to the list, and I'm not the sole maintainer for this package in Debian - please include the bug report's mail address (509...@bugs.debian.org) in any replies. Thanks, [1] http://pkg-perl.alioth.debian.org/ [2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=509457 -- Gunnar Wolf - gw...@gwolf.org - (+52-55)5623-0154 / 1451-2244 PGP key 1024D/8BB527AF 2001-10-23 Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
Re: Bug#509457: [BUG] mod_perl2 test failures (when building Debian package)
On Mon, Dec 22, 2008 at 10:47:18AM -0600, Gunnar Wolf wrote: I am a member of the Debian pkg-perl group [1]. I stumbled upon a test failure when rebuilding - For further information on my build environment, please refer to the bug report in the Debian BTS [2]. The test failure appears on hooks/authz.t: Test Summary Report --- t/hooks/authz (Wstat: 0 Tests: 4 Failed: 1) Failed test: 4 This broke when libwww-perl was upgraded from 5.813 to 5.820. It still happens with the current version, 5.822. This changelog entry seems relevant: 2008-09-24 Release 5.815 [...] Also thanks to contributions by Bron Gondwana LWP's Basic/Digest authenticate modules now registers handlers which allow them to automatically fill in the Authorization headers without first taking the round-trip of a 401 response when LWP knows the credentials for a given realm. My limited understanding of this is that it's a bug in LWP: the new handler installed by LWP::Authen::Basic::authenticate() uses $ua-credentials() instead of $ua-get_basic_credentials(). However, the LWP::UserAgent documentation recommends that subclasses override just get_basic_credentials(), and that's what Apache::TestRequest currently does. The attached patch works around the problem by providing a credentials() wrapper too. It's probably not quite correct, but the tests pass with this on both libwww-perl 5.813 and 5.822. -- Niko Tyni nt...@debian.org Index: Apache-Test/lib/Apache/TestRequest.pm === --- Apache-Test/lib/Apache/TestRequest.pm (revision 28483) +++ Apache-Test/lib/Apache/TestRequest.pm (working copy) @@ -256,6 +256,11 @@ $self; } +sub credentials { +my $self = shift; +return $self-get_basic_credentials(@_); +} + sub get_basic_credentials { my($self, $realm, $uri, $proxy) = @_;
Re: Bug#509457: [BUG] mod_perl2 test failures (when building Debian package)
Niko Tyni wrote: On Mon, Dec 22, 2008 at 10:47:18AM -0600, Gunnar Wolf wrote: The attached patch works around the problem by providing a credentials() wrapper too. It's probably not quite correct, but the tests pass with this on both libwww-perl 5.813 and 5.822. Committed revision 728811. http://svn.apache.org/viewvc?rev=728811view=rev Thanks! -- Philip M. Gollucci (pgollu...@p6m7g8.com) c: 703.336.9354 Consultant - P6M7G8 Inc. http://p6m7g8.net Senior System Admin - RideCharge, Inc. http://ridecharge.com 1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70 3F8C 75B8 8FFB DB9B 8C1C Work like you don't need the money, love like you'll never get hurt, and dance like nobody's watching.
[mp2] undefined symbol in make test with threaded Apache 2.2.11
This is my first attempt at using a threaded MPM. Sorry but I don't have time to try prefork build of Apache 2.2.11. Leaving town tomorrow but will monitor email for comments on this. Thanks, cmac www.animalhead.com -8-- Start Bug Report 8-- 1. Problem Description: Neither mod_perl 2.0.4 nor the current build modperl-2.0_20081223052020 play well with apache 2.2.11. Both get the following error message shortly after entering 'make test': mod_perl-2.0.4 $ make test cd src/modules/perl make /usr/bin/perl -Iblib/arch -Iblib/lib t/TEST -clean APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= APACHE_TEST_APXS= /usr/bin/perl -Iblib/arch -Iblib/ lib t/TEST -bugreport -verbose=0 /usr/local/apache2/bin/httpd -d /build/mod_perl-2.0.4/t -f /build/ mod_perl-2.0.4/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS using Apache/2.2.11 (event MPM) waiting 120 seconds for server to start: .httpd: Syntax error on line 17 of /build/mod_perl-2.0.4/t/conf/httpd.conf: Cannot load /build/ mod_perl-2.0.4/src/modules/perl/mod_perl.so into server: /build/ mod_perl-2.0.4/src/modules/perl/mod_perl.so: Undefined symbol PL_markstack_ptr 2. Used Components and their Configuration: *** mod_perl version 2.04 *** using /build/mod_perl-2.0.4/lib/Apache2/BuildConfig.pm *** Makefile.PL options: MP_APR_LIB = aprext MP_APXS= /usr/local/apache2/bin/apxs MP_COMPAT_1X = 1 MP_GENERATE_XS = 1 MP_LIBNAME = mod_perl MP_USE_DSO = 1 *** /usr/local/apache2/bin/httpd -V Server version: Apache/2.2.11 (Unix) Server built: Dec 22 2008 22:17:00 Server's Module Magic Number: 20051115:21 Server loaded: APR 1.3.3, APR-Util 1.3.4 Compiled using: APR 1.3.3, APR-Util 1.3.4 Architecture: 32-bit Server MPM: Event threaded: yes (fixed thread count) forked: yes (variable process count) Server compiled with -D APACHE_MPM_DIR=server/mpm/experimental/event -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_FLOCK_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT=/usr/local/apache2 -D SUEXEC_BIN=/usr/local/apache2/bin/suexec -D DEFAULT_SCOREBOARD=logs/apache_runtime_status -D DEFAULT_ERRORLOG=logs/error_log -D AP_TYPES_CONFIG_FILE=conf/mime.types -D SERVER_CONFIG_FILE=conf/httpd.conf *** /usr/bin/ldd /usr/local/apache2/bin/httpd /usr/local/apache2/bin/httpd: libz.so.3 = /lib/libz.so.3 (0x2820a000) libm.so.4 = /lib/libm.so.4 (0x2821b000) libpcre.so.0 = /usr/local/lib/libpcre.so.0 (0x28231000) libaprutil-1.so.3 = /usr/local/apache2/lib/libaprutil-1.so. 3 (0x2825d000) libexpat.so.6 = /usr/local/lib/libexpat.so.6 (0x2827c000) libapr-1.so.3 = /usr/local/apache2/lib/libapr-1.so.3 (0x2829d000) libcrypt.so.3 = /lib/libcrypt.so.3 (0x282c5000) libpthread.so.2 = /lib/libpthread.so.2 (0x282dd000) libc.so.6 = /lib/libc.so.6 (0x28301000) *** (apr|apu)-config linking info -L/usr/local/apache2/lib -laprutil-1 -lexpat -L/usr/local/lib -L/usr/local/apache2/lib -lapr-1 -lcrypt -lpthread *** /usr/local/bin/perl -V Summary of my perl5 (revision 5 version 8 subversion 9) configuration: Platform: osname=freebsd, osvers=6.3-release, archname=i386-freebsd-thread- multi-64int uname='freebsd sakomina.securesites.net 6.3-release freebsd 6.3- release #2: wed jun 25 14:30:46 mdt 2008 r...@fc:usrsrcsysi386compilevkern i386 ' config_args='-Dd_dosuid=define -Dotherlibdirs=/usr/local/lib/ perl5/5.8.7/i386-freebsd:/usr/local/lib/perl5/5.8.7:/usr/local/lib/ perl5/site_perl/5.8.7/i386-freebsd:/usr/local/lib/perl5/vendor_perl/ 5.8.7/i386-freebsd -Dvendorprefix=/usr/local -Dmyhostname=www - Dmydomain=animalhead.com -Dusethreads -Dusemultiplicity -Duseithreads -Duse64bitint' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno- strict-aliasing -pipe -I/usr/local/include', optimize='-O', cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict- aliasing -pipe -I/usr/local/include' ccversion='', gccversion='3.4.6 [FreeBSD] 20060305', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags ='-pthread -Wl,-E -L/usr/local/lib'
Re: [mp2] undefined symbol in make test with threaded Apache 2.2.11
PL_markstack_ptr Thats a perl function its irrelevant of httpd versions. Are you use you are using the /usr/local/bin/perl below ? *** /usr/local/bin/perl -V Summary of my perl5 (revision 5 version 8 subversion 9) configuration: Platform: osname=freebsd, osvers=6.3-release, Oooh my os, now you're in trouble. -Dusethreads -Dusemultiplicity -Duseithreads -Duse64bitint' usethreads=define use5005threads=undef useithreads=define usemultiplicity=define perl 5.8.9 is not in the ports tree yet, how did you install perl, its also not a GA release, its a Release Candidate (RC) If you get through all that, I'll take a deeper look. Also, does this not happen with 2.2.10 though that should be irrelevant. -- 1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70 3F8C 75B8 8FFB DB9B 8C1C Philip M. Gollucci (pgollu...@p6m7g8.com) c: 703.336.9354 Consultant - P6M7G8 Inc.http://p6m7g8.net Director IT - RideCharge, Inc. http://ridecharge.com Contractor - PositiveEnergyUSA http://positiveenergyusa.com ASF Member - Apache Software Foundation http://apache.org FreeBSD Committer - FreeBSD Foundation http://freebsd.org Work like you don't need the money, love like you'll never get hurt, and dance like nobody's watching.