You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Fred Moyer <fr...@taperfriendlymusic.org> on 2008/02/16 21:30:31 UTC

[BUG] Apache::Test (was RE: [RELEASE CANDIDATE] Apache-Reload 0.10 RC3)

>>> Fred Moyer wrote:
> Here's the problem, the first line in t/conf/extra.last.conf.in is
>
> <IfModule mod_perl.c>
>
> And here is the unix vx linux relevant apache_test_config.pm section [1].
> Notice how Win32 doesn't have mod_perl.c, hence the IfModule is false, and
> the location directives are not set.

And now I have found a setup where this condition is exhibited on Linux
2.6.21-gentoo, so this is not a windows specific issue, it appears to be a
minor bug in Apache::Test.

-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

mod_perl.c is not listed in the modules section in apache_test_config.pm. 
More specifically, dynamically loaded modules are not listed.  This
problem was been demonstrated by Steve Hay under win32, mod_perl 1.31. 
Today I was able to reproduce the problem with Linux 2.6 on my production
environment.

I have not yet determined why this issue occurs on some environments and
not others, but for some reason Apache::Test is not picking up dynamically
loaded modules in both of these environments.

The mp2bug report here was able to find apxs, but not httpd.  On my
production environment, path to httpd is set an alias which was not run
before I ran mp2bug.  So mod_perl was built with httpd and apxs in $PATH,
but mp2bug was run without httpd or apxs in $PATH.

This is obviously an esoteric condition, and one that can be remedied on
my setup at least by using t/all.t, but I am noting this bug here for
future reference.

2. Used Components and their Configuration:

*** mod_perl version 2.000004

*** using
/home/phred/dev/sl/trunk/SL/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
  MP_APR_LIB     => aprext
  MP_APXS        => /home/phred/dev/sl/httpd2/bin/apxs
  MP_COMPAT_1X   => 1
  MP_GENERATE_XS => 1
  MP_LIBNAME     => mod_perl
  MP_USE_DSO     => 1


*** The httpd binary was not found


*** (apr|apu)-config linking info

 -L/home/phred/dev/sl/httpd2/lib -laprutil-1 -lpq -lexpat
 -L/home/phred/dev/sl/httpd2/lib -lapr-1 -luuid -lrt -lcrypt  -lpthread -ldl



*** /home/phred/dev/perl/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=linux, osvers=2.6.21-gentoo, archname=x86_64-linux
    uname='linux www.redhotpenguin.com 2.6.21-gentoo #7 smp sat sep 1
18:28:15 pdt 2007 x86_64 dual core amd opteron(tm) processor 285
authenticamd gnulinux '
    config_args='-Dprefix=/home/phred/dev/perl'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm',
    optimize='-O2',
    cppflags='-fPIC -I/usr/include/gdbm'
    ccversion='', gccversion='4.1.1 (Gentoo 4.1.1)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =''
    libpth=/lib64 /usr/lib64
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.4.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.4'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fpic', lddlflags='-shared'


Characteristics of this binary (from libperl):
  Compile-time options: PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT
                        USE_LARGE_FILES USE_PERLIO
  Built under linux
  Compiled at Oct 10 2007 13:25:21
  %ENV:
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /home/phred/dev/perl/lib/5.8.8/x86_64-linux
    /home/phred/dev/perl/lib/5.8.8
    /home/phred/dev/perl/lib/site_perl/5.8.8/x86_64-linux
    /home/phred/dev/perl/lib/site_perl/5.8.8
    /home/phred/dev/perl/lib/site_perl
    .

*** Packages of interest status:

Apache2            : -
Apache2::Request   : 2.08
CGI                : 3.15
ExtUtils::MakeMaker: 6.30
LWP                : 5.805
mod_perl           : -
mod_perl2          : 2.000004


3. This is the core dump trace: (if you get a core dump):

  [CORE TRACE COMES HERE]

This report was generated by bin/mp2bug on Sat Feb 16 20:16:57 2008 GMT.

-------------8<---------- End Bug Report --------------8<----------

Note: Complete the rest of the details and post this bug report to
modperl <at> perl.apache.org. To subscribe to the list send an empty
email to modperl-subscribe@perl.apache.org.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [BUG] Apache::Test (was RE: [RELEASE CANDIDATE] Apache-Reload 0.10 RC3)

Posted by Geoffrey Young <ge...@modperlcookbook.org>.
> This is obviously an esoteric condition, and one that can be remedied on
> my setup at least by using t/all.t, but I am noting this bug here for
> future reference.

this is just weird :)

without probing further, I'd say that all.t isn't a bad idea.  stas and 
I had a series of arguments long ago on what it meant when mod_perl 
wasn't available but folks were using Test*Perl features.  I'm still of 
the belief that tests should individually probe for what they need via 
need(), either in each individual test or an all.t.

since Apache::Reload is being released solo, I think it's perfectly 
valid to make sure mod_perl is available via an all.t test - there are 
many, many (obscure or not) circumstances where mod_perl might not be 
available at test time, none of which are a reflection on the code in 
Apache::Reload.  imho, if the test environment doesn't have everything 
it needs it's not a test failure :)

so, I guess this doesn't help us figure out where Apache-Test is going 
wrong.  but it's all I have at the moment :)

--Geoff

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org