[BUG] mod_perl2 test failures (when building Debian package)

2008-12-22 Thread Gunnar Wolf
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)

2008-12-22 Thread Niko Tyni
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)

2008-12-22 Thread Philip M. Gollucci

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

2008-12-22 Thread craig

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

2008-12-22 Thread Philip M. Gollucci

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.