You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Steve Hay <st...@googlemail.com> on 2015/04/09 15:29:44 UTC

Re: Trunk: APR.so won't load

Sorry for the slow reply.

I cannot reproduce the problem here on Windows. Your example module
loads up fine with all the "use APR" lines uncommented.

The build system (and the means by which APR::* should be loadable
without mod_perl.so being loaded) is different on Windows, but I did
notice this:

ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
but when I run Module.c through the preprocessor I find that ap_strchr
gets changed to strchr, and the latter is simply imported from the C
run-time library.

I guess that's down to this code in httpd.h:

#ifdef AP_DEBUG

#undef strchr
# define strchr(s, c)  ap_strchr(s,c)
#undef strrchr
# define strrchr(s, c) ap_strrchr(s,c)
#undef strstr
# define strstr(s, c)  ap_strstr(s,c)

#else

/** use this instead of strchr */
# define ap_strchr(s, c)     strchr(s, c)
/** use this instead of strchr */
# define ap_strchr_c(s, c)   strchr(s, c)
/** use this instead of strrchr */
# define ap_strrchr(s, c)    strrchr(s, c)
/** use this instead of strrchr */
# define ap_strrchr_c(s, c)  strrchr(s, c)
/** use this instead of strrstr*/
# define ap_strstr(s, c)     strstr(s, c)
/** use this instead of strrstr*/
# define ap_strstr_c(s, c)   strstr(s, c)

#endif

so presumably I do not have AP_DEBUG defined for my build (even though
it was a debug build).

It looks like AP_DEBUG should not be defined, even in maintainer mode,
according to an old Changes entry:

remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
MP_MAINTAINER mode to avoid collisions [Joe Orton]

but do you somehow have AP_DEBUG defined somewhere, which causes the
replacement of ap_strchr with strchr to not happen for you?


On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
> Hi All
>
> I had some more time looking into this, and here's some info I can provide.
>
> --------------------------------------------------------------------------
>
> # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> ELF Header:
>   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>   Class:                             ELF64
>   Data:                              2's complement, little endian
>   Version:                           1 (current)
>   OS/ABI:                            UNIX - System V
>   ABI Version:                       0
>   Type:                              DYN (Shared object file)
>   Machine:                           Advanced Micro Devices X86-64
>   Version:                           0x1
>   Entry point address:               0x1cb0
>   Start of program headers:          64 (bytes into file)
>   Start of section headers:          15480 (bytes into file)
>   Flags:                             0x0
>   Size of this header:               64 (bytes)
>   Size of program headers:           56 (bytes)
>   Number of program headers:         6
>   Size of section headers:           64 (bytes)
>   Number of section headers:         29
>   Section header string table index: 26
>
> Section Headers:
>   [Nr] Name              Type             Address           Offset
>        Size              EntSize          Flags  Link  Info  Align
>   [ 0]                   NULL             0000000000000000  00000000
>        0000000000000000  0000000000000000           0     0     0
>
> [ Lines removed for clarity ]
>
> Dynamic section at offset 0x36f8 contains 27 entries:
>   Tag        Type                         Name/Value
>  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>
> [ Lines removed for clarity ]
>
> Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>   Offset          Info           Type           Sym. Value    Sym. Name + Addend
> 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
> 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
> 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
> 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
> 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
> 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
> 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
> 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>
> [ Lines removed for clarity ]
>
> Symbol table '.dynsym' contains 86 entries:
>    Num:    Value          Size Type    Bind   Vis      Ndx Name
>      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>
>
> [ Lines removed for clarity ]
>
> Symbol table '.symtab' contains 143 entries:
>    Num:    Value          Size Type    Bind   Vis      Ndx Name
>      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>
> [ Lines removed for clarity ]
>
>     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>
>
> [ Lines removed for clarity ]
>
> --------------------------------------------------------------------------
>
> It seems that ap_strchr is not defined anywhere outside httpd, and not in
> any of the shared libs. This seems to create the problem when building
> a module with mod_perl or outside the mod_perl source.
>
> I find a somewhat related change by Stas in the past in the Changes file:
>
> bug reports generating code: [Stas]
> - add (apr|apu)-config linking info
> - show the full path to the config file used to get the data for the
>   report
>
> The APR and APR::* family of modules can now be used without having
> to load mod_perl.so. On *nix, this is done by compiling the needed
> functions from the appropriate sources used to build mod_perl.so
> into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> a static library of needed functions is built, and APR/APR::*
> then link into this library [Stas, Joe Schaefer, Randy Kobes]
>
>
> I hope this helps resolve this issue in any way.
>
>
>
>
>
> Regards,
>
> Jie
>
> * Jie Gao <J....@sydney.edu.au> wrote:
>
>> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> From: Jie Gao <J....@sydney.edu.au>
>> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Trunk: APR.so won't load
>> User-Agent: Mutt/1.5.21 (2010-09-15)
>>
>> I have got the source code from the trunk, "make test" mostly passed except for
>> a threading issue, but I installed it anyway.
>>
>> Tried to load a test module, but it fails with the following error:
>>
>> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>>
>> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>>
>> #-------------------------------------------------------------------------
>>
>> package mytest::mytestmodule;
>>
>> use 5.010001;
>> use strict;
>> use warnings;
>> use Carp;
>> $SIG{__DIE__} = \&Carp::confess;
>>
>> use mod_perl2;
>> use Apache2::Connection();
>> use Apache2::RequestRec();
>> use Apache2::SubRequest();
>> use Apache2::Access();
>> use Apache2::RequestUtil();
>> use Apache2::Response();
>> use Apache2::Log();
>> use Apache2::Util();
>> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> use Apache2::URI();
>> use Apache2::Filter ();
>> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> use IO::Socket qw(SOCK_STREAM);
>> use Data::Dumper;
>> use AnyDBM_File ();
>> #use APR::Brigade ();
>> #use APR::Bucket ();
>> #use APR::Base64 ();
>> #use APR::Table ();
>> #use APR::URI ();
>> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> #use Apache2::MPM();
>>
>> our $VERSION = '1.0.1';
>>
>> 1;
>> __END__
>>
>> #-------------------------------------------------------------------------
>>
>> -------------8<---------- Start Bug Report ------------8<----------
>> 1. Problem Description:
>>
>>   [DESCRIBE THE PROBLEM HERE]
>>
>> 2. Used Components and their Configuration:
>>
>> *** mod_perl version 2.000009
>>
>> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>>
>> *** Makefile.PL options:
>>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>>   MP_APR_LIB     => aprext
>>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>>   MP_COMPAT_1X   => 1
>>   MP_GENERATE_XS => 1
>>   MP_LIBNAME     => mod_perl
>>   MP_USE_DSO     => 1
>>
>>
>> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> Server version: Apache/2.4.12 (Unix)
>> Server built:   Feb 27 2015 20:05:23
>> Server's Module Magic Number: 20120211:41
>> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> Architecture:   64-bit
>> Server MPM:     worker
>>   threaded:     yes (fixed thread count)
>>     forked:     yes (variable process count)
>> Server compiled with....
>>  -D APR_HAS_SENDFILE
>>  -D APR_HAS_MMAP
>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>  -D APR_USE_SYSVSEM_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=256
>>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>>
>>
>> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>>
>>
>> *** (apr|apu)-config linking info
>>
>>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>>
>>
>>
>> *** /usr/local/bin/perl -V
>> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>>
>>   Platform:
>>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>>     hint=recommended, useposix=true, d_sigaction=define
>>     useithreads=define, usemultiplicity=define
>>     use64bitint=define, use64bitall=define, uselongdouble=undef
>>     usemymalloc=n, bincompat5005=undef
>>   Compiler:
>>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>>     optimize='-O2',
>>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>>     gnulibc_version='2.12'
>>   Dynamic Linking:
>>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>>
>>
>> Characteristics of this binary (from libperl):
>>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>>                         PERL_DONT_CREATE_GVSV
>>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>>                         USE_PERL_ATOF USE_REENTRANT_API
>>   Built under linux
>>   Compiled at Feb 25 2015 15:58:55
>>   %ENV:
>>     PERL_LWP_USE_HTTP_10="1"
>>   @INC:
>>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>>     /usr/local/lib/perl5/site_perl/5.20.2
>>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>>     /usr/local/lib/perl5/5.20.2
>>     /usr/local/lib/perl5/site_perl/5.18.2
>>     /usr/local/lib/perl5/site_perl/5.18.0
>>     /usr/local/lib/perl5/site_perl
>>     .
>>
>> *** Packages of interest status:
>>
>> Apache2            : -
>> Apache2::Request   : -
>> CGI                : 3.65
>> ExtUtils::MakeMaker: 6.98
>> LWP                : 5.837
>> mod_perl           : -
>> mod_perl2          : 2.000009
>>
>>
>> 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 Sun Mar  1 06:21:21 2015 GMT.
>>
>> -------------8<---------- End Bug Report --------------8<----------
>>
>> # ls -al /usr/local/httpd-2.4.12/lib/
>> total 4108
>> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>>
>>
>>
>>
>>
>>
>> Regards,
>>
>>
>> Jie.
>>
>>
>>

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


Re: Trunk: APR.so won't load

Posted by Joe Schaefer <jo...@yahoo.com.INVALID>.
AP_DEBUG is pure evil if it's making its way into the builds of APR modules.It takes strchr and the like and REPLACES THOSE with ap_strchr.  The onlyway round this is to use apr_ stuff instead. 


     On Thursday, April 9, 2015 10:04 PM, Jie Gao <J....@sydney.edu.au> wrote:
   

 Hi Steve

I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
strchr before recompiling.  I still got the same error message after that.

I re-compiled apache without enabling the maintainer mode:

---
CC="gcc"; export CC
CFLAGS="-Wall -O3"; export CFLAGS
"./configure" \
"--prefix=/usr/local/httpd-2.4.12" \
"--with-included-apr" \
"--with-mpm=worker" \
"--enable-auth-digest" \
"--enable-dav" \
"--enable-expires" \
"--enable-headers" \
"--enable-proxy-html" \
"--enable-xml2enc" \
"--enable-info" \
"--enable-mime-magic" \
"--enable-nonportable-atomics" \
"--enable-proxy" \
"--enable-proxy-balancer" \
"--enable-proxy-http" \
"--enable-rewrite" \
"--enable-so" \
"--enable-ssl" \
"--enable-unique-id" \
"--enable-vhost-alias" \
"--enable-modules=most" \
"--enable-mods-shared=most" \
"--enable-lbmethod-byrequests" \
"--enable-lbmethod-bytraffic" \
"--enable-lbmethod-bybusyness" \
"--enable-lbmethod-heartbeat" \
"--enable-heartmonitor" \
"--enable-watchdog" \
"--enable-ratelimit" \
"--enable-ext-filter" \
"--enable-request" \
"CC=gcc" \
"CFLAGS=-Wall -O3" \
"$@"
---

and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:

---
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
        /usr/local/bin/perl -Iblib/arch -Iblib/lib \
        t/TEST -bugreport -verbose=0
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
/usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
using Apache/2.4.12 (worker MPM)

waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
[Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
[Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
[Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
.............................................................................................................................................................................................................................................................................................................
waiting 300 seconds for server to start: not ok
[  error] giving up after 301 secs. If you think that your system
is slow or overloaded try again with a longer timeout value.
by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
to a high value (e.g. 600) and repeat the last command.

[  error] server failed to start! (please examine t/logs/error_log)
+--------------------------------------------------------+
| Please file a bug report: http://perl.apache.org/bugs/ |
+--------------------------------------------------------+
make: *** [run_tests] Error 1
[08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
-rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
[08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
********************************************************************************
*** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
*** Following a line consisting only of * characters there should be a line  ***
*** containing                                                              ***
***    "cleanup died: testing server_shutdown_cleanup_register".            ***
*** The next line should then read                                          ***
***    "done with server_shutdown_cleanup_register"                        ***
********************************************************************************
Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
*** done with server_shutdown_cleanup_register                              ***
********************************************************************************
END in modperl_extra.pl, pid=19848
END in modperl_extra.pl, pid=19848
[Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
[Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
---

Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
 



Regards,

Jie 

* Steve Hay <st...@googlemail.com> wrote:

> Date: Thu, 9 Apr 2015 18:27:51 +0100
> From: Steve Hay <st...@googlemail.com>
> To: Jie Gao <J....@sydney.edu.au>
> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>  <de...@perl.apache.org>
> Subject: Re: Trunk: APR.so won't load
> 
> Actually, I don't think there is anything stopping -DAP_DEBUG from
> coming through from the httpd config. The change that was made
> (r357052) just stopped mod_perl from adding that itself when
> MP_MAINTAINER is specified.
> 
> But maybe we do need to filter out -DAP_DEBUG?
> Or else stop using ap_strchr() and just use strchr() directly?
> 
> Could you try the latter, since it seems like an easy fix? -- Change
> the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
> to be strchr() instead and then rebuild. Does that make the problem go
> away?
> 
> 
> On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
> > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
> >
> > I think that symbol is not supposed to find its way into the mod_perl
> > build options, but it's obviously getting picked up somewhere and
> > slipping through...
> >
> >
> > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
> >> Hi Steve
> >>
> >> httpd is configured with "--enable-maintainer-mode".
> >>
> >> For mod_perl:
> >>
> >>    /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
> >>
> >> and I found the following line in the resultant Makefile:
> >>
> >> CCFLAGS =  -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
> >>
> >>
> >>
> >> Regards,
> >>
> >> Jie
> >>
> >> * Steve Hay <st...@googlemail.com> wrote:
> >>
> >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> >>> From: Steve Hay <st...@googlemail.com>
> >>> To: Jie Gao <J....@sydney.edu.au>
> >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >>>  <de...@perl.apache.org>
> >>> Subject: Re: Trunk: APR.so won't load
> >>>
> >>> Sorry for the slow reply.
> >>>
> >>> I cannot reproduce the problem here on Windows. Your example module
> >>> loads up fine with all the "use APR" lines uncommented.
> >>>
> >>> The build system (and the means by which APR::* should be loadable
> >>> without mod_perl.so being loaded) is different on Windows, but I did
> >>> notice this:
> >>>
> >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> >>> but when I run Module.c through the preprocessor I find that ap_strchr
> >>> gets changed to strchr, and the latter is simply imported from the C
> >>> run-time library.
> >>>
> >>> I guess that's down to this code in httpd.h:
> >>>
> >>> #ifdef AP_DEBUG
> >>>
> >>> #undef strchr
> >>> # define strchr(s, c)  ap_strchr(s,c)
> >>> #undef strrchr
> >>> # define strrchr(s, c) ap_strrchr(s,c)
> >>> #undef strstr
> >>> # define strstr(s, c)  ap_strstr(s,c)
> >>>
> >>> #else
> >>>
> >>> /** use this instead of strchr */
> >>> # define ap_strchr(s, c)    strchr(s, c)
> >>> /** use this instead of strchr */
> >>> # define ap_strchr_c(s, c)  strchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr(s, c)    strrchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
> >>> /** use this instead of strrstr*/
> >>> # define ap_strstr(s, c)    strstr(s, c)
> >>> /** use this instead of strrstr*/
> >>> # define ap_strstr_c(s, c)  strstr(s, c)
> >>>
> >>> #endif
> >>>
> >>> so presumably I do not have AP_DEBUG defined for my build (even though
> >>> it was a debug build).
> >>>
> >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
> >>> according to an old Changes entry:
> >>>
> >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
> >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
> >>>
> >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
> >>> replacement of ap_strchr with strchr to not happen for you?
> >>>
> >>>
> >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
> >>> > Hi All
> >>> >
> >>> > I had some more time looking into this, and here's some info I can provide.
> >>> >
> >>> > --------------------------------------------------------------------------
> >>> >
> >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> >>> > ELF Header:
> >>> >  Magic:  7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> >>> >  Class:                            ELF64
> >>> >  Data:                              2's complement, little endian
> >>> >  Version:                          1 (current)
> >>> >  OS/ABI:                            UNIX - System V
> >>> >  ABI Version:                      0
> >>> >  Type:                              DYN (Shared object file)
> >>> >  Machine:                          Advanced Micro Devices X86-64
> >>> >  Version:                          0x1
> >>> >  Entry point address:              0x1cb0
> >>> >  Start of program headers:          64 (bytes into file)
> >>> >  Start of section headers:          15480 (bytes into file)
> >>> >  Flags:                            0x0
> >>> >  Size of this header:              64 (bytes)
> >>> >  Size of program headers:          56 (bytes)
> >>> >  Number of program headers:        6
> >>> >  Size of section headers:          64 (bytes)
> >>> >  Number of section headers:        29
> >>> >  Section header string table index: 26
> >>> >
> >>> > Section Headers:
> >>> >  [Nr] Name              Type            Address          Offset
> >>> >        Size              EntSize          Flags  Link  Info  Align
> >>> >  [ 0]                  NULL            0000000000000000  00000000
> >>> >        0000000000000000  0000000000000000          0    0    0
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Dynamic section at offset 0x36f8 contains 27 entries:
> >>> >  Tag        Type                        Name/Value
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libaprutil-1.so.0]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libexpat.so.1]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libapr-1.so.0]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [librt.so.1]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libcrypt.so.1]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libpthread.so.0]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libc.so.6]
> >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
> >>> >  Offset          Info          Type          Sym. Value    Sym. Name + Addend
> >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
> >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
> >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
> >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
> >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
> >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
> >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
> >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Symbol table '.dynsym' contains 86 entries:
> >>> >    Num:    Value          Size Type    Bind  Vis      Ndx Name
> >>> >      0: 0000000000000000    0 NOTYPE  LOCAL  DEFAULT  UND
> >>> >      1: 00000000000018b8    0 SECTION LOCAL  DEFAULT    9
> >>> >      2: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
> >>> >      3: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
> >>> >      4: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
> >>> >      5: 0000000000000000    0 FUNC    GLOBAL DEFAULT  UND apr_strerror
> >>> >      6: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
> >>> >      7: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
> >>> >      8: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
> >>> >      9: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >>> >
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Symbol table '.symtab' contains 143 entries:
> >>> >    Num:    Value          Size Type    Bind  Vis      Ndx Name
> >>> >      0: 0000000000000000    0 NOTYPE  LOCAL  DEFAULT  UND
> >>> >      1: 0000000000000190    0 SECTION LOCAL  DEFAULT    1
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> >    69: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >>> >
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > --------------------------------------------------------------------------
> >>> >
> >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
> >>> > any of the shared libs. This seems to create the problem when building
> >>> > a module with mod_perl or outside the mod_perl source.
> >>> >
> >>> > I find a somewhat related change by Stas in the past in the Changes file:
> >>> >
> >>> > bug reports generating code: [Stas]
> >>> > - add (apr|apu)-config linking info
> >>> > - show the full path to the config file used to get the data for the
> >>> >  report
> >>> >
> >>> > The APR and APR::* family of modules can now be used without having
> >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
> >>> > functions from the appropriate sources used to build mod_perl.so
> >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> >>> > a static library of needed functions is built, and APR/APR::*
> >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
> >>> >
> >>> >
> >>> > I hope this helps resolve this issue in any way.
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> > Regards,
> >>> >
> >>> > Jie
> >>> >
> >>> > * Jie Gao <J....@sydney.edu.au> wrote:
> >>> >
> >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> >>> >> From: Jie Gao <J....@sydney.edu.au>
> >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >>> >>  <de...@perl.apache.org>
> >>> >> Subject: Trunk: APR.so won't load
> >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> >>> >>
> >>> >> I have got the source code from the trunk, "make test" mostly passed except for
> >>> >> a threading issue, but I installed it anyway.
> >>> >>
> >>> >> Tried to load a test module, but it fails with the following error:
> >>> >>
> >>> >> #    Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
> >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
> >>> >>
> >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
> >>> >>
> >>> >> #-------------------------------------------------------------------------
> >>> >>
> >>> >> package mytest::mytestmodule;
> >>> >>
> >>> >> use 5.010001;
> >>> >> use strict;
> >>> >> use warnings;
> >>> >> use Carp;
> >>> >> $SIG{__DIE__} = \&Carp::confess;
> >>> >>
> >>> >> use mod_perl2;
> >>> >> use Apache2::Connection();
> >>> >> use Apache2::RequestRec();
> >>> >> use Apache2::SubRequest();
> >>> >> use Apache2::Access();
> >>> >> use Apache2::RequestUtil();
> >>> >> use Apache2::Response();
> >>> >> use Apache2::Log();
> >>> >> use Apache2::Util();
> >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
> >>> >> use Apache2::URI();
> >>> >> use Apache2::Filter ();
> >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
> >>> >> use IO::Socket qw(SOCK_STREAM);
> >>> >> use Data::Dumper;
> >>> >> use AnyDBM_File ();
> >>> >> #use APR::Brigade ();
> >>> >> #use APR::Bucket ();
> >>> >> #use APR::Base64 ();
> >>> >> #use APR::Table ();
> >>> >> #use APR::URI ();
> >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
> >>> >> #use Apache2::MPM();
> >>> >>
> >>> >> our $VERSION = '1.0.1';
> >>> >>
> >>> >> 1;
> >>> >> __END__
> >>> >>
> >>> >> #-------------------------------------------------------------------------
> >>> >>
> >>> >> -------------8<---------- Start Bug Report ------------8<----------
> >>> >> 1. Problem Description:
> >>> >>
> >>> >>  [DESCRIBE THE PROBLEM HERE]
> >>> >>
> >>> >> 2. Used Components and their Configuration:
> >>> >>
> >>> >> *** mod_perl version 2.000009
> >>> >>
> >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
> >>> >>
> >>> >> *** Makefile.PL options:
> >>> >>  MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
> >>> >>  MP_APR_LIB    => aprext
> >>> >>  MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
> >>> >>  MP_COMPAT_1X  => 1
> >>> >>  MP_GENERATE_XS => 1
> >>> >>  MP_LIBNAME    => mod_perl
> >>> >>  MP_USE_DSO    => 1
> >>> >>
> >>> >>
> >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
> >>> >> Server version: Apache/2.4.12 (Unix)
> >>> >> Server built:  Feb 27 2015 20:05:23
> >>> >> Server's Module Magic Number: 20120211:41
> >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
> >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
> >>> >> Architecture:  64-bit
> >>> >> Server MPM:    worker
> >>> >>  threaded:    yes (fixed thread count)
> >>> >>    forked:    yes (variable process count)
> >>> >> Server compiled with....
> >>> >>  -D APR_HAS_SENDFILE
> >>> >>  -D APR_HAS_MMAP
> >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
> >>> >>  -D APR_USE_SYSVSEM_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=256
> >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
> >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
> >>> >>
> >>> >>
> >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
> >>> >>        linux-vdso.so.1 =>  (0x00007fffcefff000)
> >>> >>        libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
> >>> >>        libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
> >>> >>        libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
> >>> >>        libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
> >>> >>        librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
> >>> >>        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
> >>> >>        libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
> >>> >>        libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
> >>> >>        /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
> >>> >>        libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
> >>> >>        libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
> >>> >>
> >>> >>
> >>> >> *** (apr|apu)-config linking info
> >>> >>
> >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1    -lexpat
> >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
> >>> >>
> >>> >>
> >>> >>
> >>> >> *** /usr/local/bin/perl -V
> >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
> >>> >>
> >>> >>  Platform:
> >>> >>    osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
> >>> >>    uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
> >>> >>    config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
> >>> >>    hint=recommended, useposix=true, d_sigaction=define
> >>> >>    useithreads=define, usemultiplicity=define
> >>> >>    use64bitint=define, use64bitall=define, uselongdouble=undef
> >>> >>    usemymalloc=n, bincompat5005=undef
> >>> >>  Compiler:
> >>> >>    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> >>> >>    optimize='-O2',
> >>> >>    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
> >>> >>    ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
> >>> >>    libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
> >>> >>    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> >>> >>    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> >>> >>    libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
> >>> >>    gnulibc_version='2.12'
> >>> >>  Dynamic Linking:
> >>> >>    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
> >>> >>    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
> >>> >>
> >>> >>
> >>> >> Characteristics of this binary (from libperl):
> >>> >>  Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
> >>> >>                        PERL_DONT_CREATE_GVSV
> >>> >>                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
> >>> >>                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> >>> >>                        PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> >>> >>                        USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
> >>> >>                        USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
> >>> >>                        USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
> >>> >>                        USE_PERL_ATOF USE_REENTRANT_API
> >>> >>  Built under linux
> >>> >>  Compiled at Feb 25 2015 15:58:55
> >>> >>  %ENV:
> >>> >>    PERL_LWP_USE_HTTP_10="1"
> >>> >>  @INC:
> >>> >>    /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
> >>> >>    /usr/local/lib/perl5/site_perl/5.20.2
> >>> >>    /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
> >>> >>    /usr/local/lib/perl5/5.20.2
> >>> >>    /usr/local/lib/perl5/site_perl/5.18.2
> >>> >>    /usr/local/lib/perl5/site_perl/5.18.0
> >>> >>    /usr/local/lib/perl5/site_perl
> >>> >>    .
> >>> >>
> >>> >> *** Packages of interest status:
> >>> >>
> >>> >> Apache2            : -
> >>> >> Apache2::Request  : -
> >>> >> CGI                : 3.65
> >>> >> ExtUtils::MakeMaker: 6.98
> >>> >> LWP                : 5.837
> >>> >> mod_perl          : -
> >>> >> mod_perl2          : 2.000009
> >>> >>
> >>> >>
> >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
> >>> >>
> >>> >> -------------8<---------- End Bug Report --------------8<----------
> >>> >>
> >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
> >>> >> total 4108
> >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
> >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
> >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
> >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
> >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
> >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
> >>> >> -rwxr-xr-x.  1 root root    969 Feb 27 20:07 libapr-1.la
> >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
> >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
> >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
> >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
> >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
> >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
> >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
> >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
> >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >> Regards,
> >>> >>
> >>> >>
> >>> >> Jie.
> >>> >>
> >>> >>
> >>> >>


  

Re: Trunk: APR.so won't load

Posted by Joe Schaefer <jo...@yahoo.com>.
AP_DEBUG is pure evil if it's making its way into the builds of APR modules.It takes strchr and the like and REPLACES THOSE with ap_strchr.  The onlyway round this is to use apr_ stuff instead. 


     On Thursday, April 9, 2015 10:04 PM, Jie Gao <J....@sydney.edu.au> wrote:
   

 Hi Steve

I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
strchr before recompiling.  I still got the same error message after that.

I re-compiled apache without enabling the maintainer mode:

---
CC="gcc"; export CC
CFLAGS="-Wall -O3"; export CFLAGS
"./configure" \
"--prefix=/usr/local/httpd-2.4.12" \
"--with-included-apr" \
"--with-mpm=worker" \
"--enable-auth-digest" \
"--enable-dav" \
"--enable-expires" \
"--enable-headers" \
"--enable-proxy-html" \
"--enable-xml2enc" \
"--enable-info" \
"--enable-mime-magic" \
"--enable-nonportable-atomics" \
"--enable-proxy" \
"--enable-proxy-balancer" \
"--enable-proxy-http" \
"--enable-rewrite" \
"--enable-so" \
"--enable-ssl" \
"--enable-unique-id" \
"--enable-vhost-alias" \
"--enable-modules=most" \
"--enable-mods-shared=most" \
"--enable-lbmethod-byrequests" \
"--enable-lbmethod-bytraffic" \
"--enable-lbmethod-bybusyness" \
"--enable-lbmethod-heartbeat" \
"--enable-heartmonitor" \
"--enable-watchdog" \
"--enable-ratelimit" \
"--enable-ext-filter" \
"--enable-request" \
"CC=gcc" \
"CFLAGS=-Wall -O3" \
"$@"
---

and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:

---
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
        /usr/local/bin/perl -Iblib/arch -Iblib/lib \
        t/TEST -bugreport -verbose=0
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
/usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
using Apache/2.4.12 (worker MPM)

waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
[Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
[Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
[Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
.............................................................................................................................................................................................................................................................................................................
waiting 300 seconds for server to start: not ok
[  error] giving up after 301 secs. If you think that your system
is slow or overloaded try again with a longer timeout value.
by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
to a high value (e.g. 600) and repeat the last command.

[  error] server failed to start! (please examine t/logs/error_log)
+--------------------------------------------------------+
| Please file a bug report: http://perl.apache.org/bugs/ |
+--------------------------------------------------------+
make: *** [run_tests] Error 1
[08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
-rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
[08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
********************************************************************************
*** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
*** Following a line consisting only of * characters there should be a line  ***
*** containing                                                              ***
***    "cleanup died: testing server_shutdown_cleanup_register".            ***
*** The next line should then read                                          ***
***    "done with server_shutdown_cleanup_register"                        ***
********************************************************************************
Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
*** done with server_shutdown_cleanup_register                              ***
********************************************************************************
END in modperl_extra.pl, pid=19848
END in modperl_extra.pl, pid=19848
[Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
[Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
---

Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
 



Regards,

Jie 

* Steve Hay <st...@googlemail.com> wrote:

> Date: Thu, 9 Apr 2015 18:27:51 +0100
> From: Steve Hay <st...@googlemail.com>
> To: Jie Gao <J....@sydney.edu.au>
> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>  <de...@perl.apache.org>
> Subject: Re: Trunk: APR.so won't load
> 
> Actually, I don't think there is anything stopping -DAP_DEBUG from
> coming through from the httpd config. The change that was made
> (r357052) just stopped mod_perl from adding that itself when
> MP_MAINTAINER is specified.
> 
> But maybe we do need to filter out -DAP_DEBUG?
> Or else stop using ap_strchr() and just use strchr() directly?
> 
> Could you try the latter, since it seems like an easy fix? -- Change
> the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
> to be strchr() instead and then rebuild. Does that make the problem go
> away?
> 
> 
> On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
> > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
> >
> > I think that symbol is not supposed to find its way into the mod_perl
> > build options, but it's obviously getting picked up somewhere and
> > slipping through...
> >
> >
> > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
> >> Hi Steve
> >>
> >> httpd is configured with "--enable-maintainer-mode".
> >>
> >> For mod_perl:
> >>
> >>    /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
> >>
> >> and I found the following line in the resultant Makefile:
> >>
> >> CCFLAGS =  -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
> >>
> >>
> >>
> >> Regards,
> >>
> >> Jie
> >>
> >> * Steve Hay <st...@googlemail.com> wrote:
> >>
> >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> >>> From: Steve Hay <st...@googlemail.com>
> >>> To: Jie Gao <J....@sydney.edu.au>
> >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >>>  <de...@perl.apache.org>
> >>> Subject: Re: Trunk: APR.so won't load
> >>>
> >>> Sorry for the slow reply.
> >>>
> >>> I cannot reproduce the problem here on Windows. Your example module
> >>> loads up fine with all the "use APR" lines uncommented.
> >>>
> >>> The build system (and the means by which APR::* should be loadable
> >>> without mod_perl.so being loaded) is different on Windows, but I did
> >>> notice this:
> >>>
> >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> >>> but when I run Module.c through the preprocessor I find that ap_strchr
> >>> gets changed to strchr, and the latter is simply imported from the C
> >>> run-time library.
> >>>
> >>> I guess that's down to this code in httpd.h:
> >>>
> >>> #ifdef AP_DEBUG
> >>>
> >>> #undef strchr
> >>> # define strchr(s, c)  ap_strchr(s,c)
> >>> #undef strrchr
> >>> # define strrchr(s, c) ap_strrchr(s,c)
> >>> #undef strstr
> >>> # define strstr(s, c)  ap_strstr(s,c)
> >>>
> >>> #else
> >>>
> >>> /** use this instead of strchr */
> >>> # define ap_strchr(s, c)    strchr(s, c)
> >>> /** use this instead of strchr */
> >>> # define ap_strchr_c(s, c)  strchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr(s, c)    strrchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
> >>> /** use this instead of strrstr*/
> >>> # define ap_strstr(s, c)    strstr(s, c)
> >>> /** use this instead of strrstr*/
> >>> # define ap_strstr_c(s, c)  strstr(s, c)
> >>>
> >>> #endif
> >>>
> >>> so presumably I do not have AP_DEBUG defined for my build (even though
> >>> it was a debug build).
> >>>
> >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
> >>> according to an old Changes entry:
> >>>
> >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
> >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
> >>>
> >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
> >>> replacement of ap_strchr with strchr to not happen for you?
> >>>
> >>>
> >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
> >>> > Hi All
> >>> >
> >>> > I had some more time looking into this, and here's some info I can provide.
> >>> >
> >>> > --------------------------------------------------------------------------
> >>> >
> >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> >>> > ELF Header:
> >>> >  Magic:  7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> >>> >  Class:                            ELF64
> >>> >  Data:                              2's complement, little endian
> >>> >  Version:                          1 (current)
> >>> >  OS/ABI:                            UNIX - System V
> >>> >  ABI Version:                      0
> >>> >  Type:                              DYN (Shared object file)
> >>> >  Machine:                          Advanced Micro Devices X86-64
> >>> >  Version:                          0x1
> >>> >  Entry point address:              0x1cb0
> >>> >  Start of program headers:          64 (bytes into file)
> >>> >  Start of section headers:          15480 (bytes into file)
> >>> >  Flags:                            0x0
> >>> >  Size of this header:              64 (bytes)
> >>> >  Size of program headers:          56 (bytes)
> >>> >  Number of program headers:        6
> >>> >  Size of section headers:          64 (bytes)
> >>> >  Number of section headers:        29
> >>> >  Section header string table index: 26
> >>> >
> >>> > Section Headers:
> >>> >  [Nr] Name              Type            Address          Offset
> >>> >        Size              EntSize          Flags  Link  Info  Align
> >>> >  [ 0]                  NULL            0000000000000000  00000000
> >>> >        0000000000000000  0000000000000000          0    0    0
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Dynamic section at offset 0x36f8 contains 27 entries:
> >>> >  Tag        Type                        Name/Value
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libaprutil-1.so.0]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libexpat.so.1]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libapr-1.so.0]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [librt.so.1]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libcrypt.so.1]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libpthread.so.0]
> >>> >  0x0000000000000001 (NEEDED)            Shared library: [libc.so.6]
> >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
> >>> >  Offset          Info          Type          Sym. Value    Sym. Name + Addend
> >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
> >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
> >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
> >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
> >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
> >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
> >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
> >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Symbol table '.dynsym' contains 86 entries:
> >>> >    Num:    Value          Size Type    Bind  Vis      Ndx Name
> >>> >      0: 0000000000000000    0 NOTYPE  LOCAL  DEFAULT  UND
> >>> >      1: 00000000000018b8    0 SECTION LOCAL  DEFAULT    9
> >>> >      2: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
> >>> >      3: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
> >>> >      4: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
> >>> >      5: 0000000000000000    0 FUNC    GLOBAL DEFAULT  UND apr_strerror
> >>> >      6: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
> >>> >      7: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
> >>> >      8: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
> >>> >      9: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >>> >
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Symbol table '.symtab' contains 143 entries:
> >>> >    Num:    Value          Size Type    Bind  Vis      Ndx Name
> >>> >      0: 0000000000000000    0 NOTYPE  LOCAL  DEFAULT  UND
> >>> >      1: 0000000000000190    0 SECTION LOCAL  DEFAULT    1
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> >    69: 0000000000000000    0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >>> >
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > --------------------------------------------------------------------------
> >>> >
> >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
> >>> > any of the shared libs. This seems to create the problem when building
> >>> > a module with mod_perl or outside the mod_perl source.
> >>> >
> >>> > I find a somewhat related change by Stas in the past in the Changes file:
> >>> >
> >>> > bug reports generating code: [Stas]
> >>> > - add (apr|apu)-config linking info
> >>> > - show the full path to the config file used to get the data for the
> >>> >  report
> >>> >
> >>> > The APR and APR::* family of modules can now be used without having
> >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
> >>> > functions from the appropriate sources used to build mod_perl.so
> >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> >>> > a static library of needed functions is built, and APR/APR::*
> >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
> >>> >
> >>> >
> >>> > I hope this helps resolve this issue in any way.
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> > Regards,
> >>> >
> >>> > Jie
> >>> >
> >>> > * Jie Gao <J....@sydney.edu.au> wrote:
> >>> >
> >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> >>> >> From: Jie Gao <J....@sydney.edu.au>
> >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >>> >>  <de...@perl.apache.org>
> >>> >> Subject: Trunk: APR.so won't load
> >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> >>> >>
> >>> >> I have got the source code from the trunk, "make test" mostly passed except for
> >>> >> a threading issue, but I installed it anyway.
> >>> >>
> >>> >> Tried to load a test module, but it fails with the following error:
> >>> >>
> >>> >> #    Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
> >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
> >>> >>
> >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
> >>> >>
> >>> >> #-------------------------------------------------------------------------
> >>> >>
> >>> >> package mytest::mytestmodule;
> >>> >>
> >>> >> use 5.010001;
> >>> >> use strict;
> >>> >> use warnings;
> >>> >> use Carp;
> >>> >> $SIG{__DIE__} = \&Carp::confess;
> >>> >>
> >>> >> use mod_perl2;
> >>> >> use Apache2::Connection();
> >>> >> use Apache2::RequestRec();
> >>> >> use Apache2::SubRequest();
> >>> >> use Apache2::Access();
> >>> >> use Apache2::RequestUtil();
> >>> >> use Apache2::Response();
> >>> >> use Apache2::Log();
> >>> >> use Apache2::Util();
> >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
> >>> >> use Apache2::URI();
> >>> >> use Apache2::Filter ();
> >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
> >>> >> use IO::Socket qw(SOCK_STREAM);
> >>> >> use Data::Dumper;
> >>> >> use AnyDBM_File ();
> >>> >> #use APR::Brigade ();
> >>> >> #use APR::Bucket ();
> >>> >> #use APR::Base64 ();
> >>> >> #use APR::Table ();
> >>> >> #use APR::URI ();
> >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
> >>> >> #use Apache2::MPM();
> >>> >>
> >>> >> our $VERSION = '1.0.1';
> >>> >>
> >>> >> 1;
> >>> >> __END__
> >>> >>
> >>> >> #-------------------------------------------------------------------------
> >>> >>
> >>> >> -------------8<---------- Start Bug Report ------------8<----------
> >>> >> 1. Problem Description:
> >>> >>
> >>> >>  [DESCRIBE THE PROBLEM HERE]
> >>> >>
> >>> >> 2. Used Components and their Configuration:
> >>> >>
> >>> >> *** mod_perl version 2.000009
> >>> >>
> >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
> >>> >>
> >>> >> *** Makefile.PL options:
> >>> >>  MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
> >>> >>  MP_APR_LIB    => aprext
> >>> >>  MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
> >>> >>  MP_COMPAT_1X  => 1
> >>> >>  MP_GENERATE_XS => 1
> >>> >>  MP_LIBNAME    => mod_perl
> >>> >>  MP_USE_DSO    => 1
> >>> >>
> >>> >>
> >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
> >>> >> Server version: Apache/2.4.12 (Unix)
> >>> >> Server built:  Feb 27 2015 20:05:23
> >>> >> Server's Module Magic Number: 20120211:41
> >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
> >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
> >>> >> Architecture:  64-bit
> >>> >> Server MPM:    worker
> >>> >>  threaded:    yes (fixed thread count)
> >>> >>    forked:    yes (variable process count)
> >>> >> Server compiled with....
> >>> >>  -D APR_HAS_SENDFILE
> >>> >>  -D APR_HAS_MMAP
> >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
> >>> >>  -D APR_USE_SYSVSEM_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=256
> >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
> >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
> >>> >>
> >>> >>
> >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
> >>> >>        linux-vdso.so.1 =>  (0x00007fffcefff000)
> >>> >>        libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
> >>> >>        libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
> >>> >>        libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
> >>> >>        libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
> >>> >>        librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
> >>> >>        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
> >>> >>        libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
> >>> >>        libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
> >>> >>        /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
> >>> >>        libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
> >>> >>        libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
> >>> >>
> >>> >>
> >>> >> *** (apr|apu)-config linking info
> >>> >>
> >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1    -lexpat
> >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
> >>> >>
> >>> >>
> >>> >>
> >>> >> *** /usr/local/bin/perl -V
> >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
> >>> >>
> >>> >>  Platform:
> >>> >>    osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
> >>> >>    uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
> >>> >>    config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
> >>> >>    hint=recommended, useposix=true, d_sigaction=define
> >>> >>    useithreads=define, usemultiplicity=define
> >>> >>    use64bitint=define, use64bitall=define, uselongdouble=undef
> >>> >>    usemymalloc=n, bincompat5005=undef
> >>> >>  Compiler:
> >>> >>    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> >>> >>    optimize='-O2',
> >>> >>    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
> >>> >>    ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
> >>> >>    libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
> >>> >>    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> >>> >>    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> >>> >>    libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
> >>> >>    gnulibc_version='2.12'
> >>> >>  Dynamic Linking:
> >>> >>    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
> >>> >>    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
> >>> >>
> >>> >>
> >>> >> Characteristics of this binary (from libperl):
> >>> >>  Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
> >>> >>                        PERL_DONT_CREATE_GVSV
> >>> >>                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
> >>> >>                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> >>> >>                        PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> >>> >>                        USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
> >>> >>                        USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
> >>> >>                        USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
> >>> >>                        USE_PERL_ATOF USE_REENTRANT_API
> >>> >>  Built under linux
> >>> >>  Compiled at Feb 25 2015 15:58:55
> >>> >>  %ENV:
> >>> >>    PERL_LWP_USE_HTTP_10="1"
> >>> >>  @INC:
> >>> >>    /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
> >>> >>    /usr/local/lib/perl5/site_perl/5.20.2
> >>> >>    /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
> >>> >>    /usr/local/lib/perl5/5.20.2
> >>> >>    /usr/local/lib/perl5/site_perl/5.18.2
> >>> >>    /usr/local/lib/perl5/site_perl/5.18.0
> >>> >>    /usr/local/lib/perl5/site_perl
> >>> >>    .
> >>> >>
> >>> >> *** Packages of interest status:
> >>> >>
> >>> >> Apache2            : -
> >>> >> Apache2::Request  : -
> >>> >> CGI                : 3.65
> >>> >> ExtUtils::MakeMaker: 6.98
> >>> >> LWP                : 5.837
> >>> >> mod_perl          : -
> >>> >> mod_perl2          : 2.000009
> >>> >>
> >>> >>
> >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
> >>> >>
> >>> >> -------------8<---------- End Bug Report --------------8<----------
> >>> >>
> >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
> >>> >> total 4108
> >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
> >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
> >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
> >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
> >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
> >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
> >>> >> -rwxr-xr-x.  1 root root    969 Feb 27 20:07 libapr-1.la
> >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
> >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
> >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
> >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
> >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
> >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
> >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
> >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
> >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >> Regards,
> >>> >>
> >>> >>
> >>> >> Jie.
> >>> >>
> >>> >>
> >>> >>


  

RE: Trunk: APR.so won't load

Posted by Adam <Pl...@TheAquaticResearchCenter.com>.
Steve, do you have any particular OS/config you wish to have test results from?


-----Original Message-----
From: Steve Hay [mailto:steve.m.hay@googlemail.com] 
Sent: Tuesday, April 14, 2015 9:45 AM
To: Jie Gao
Cc: modperl@perl.apache.org; mod_perl Dev
Subject: Re: Trunk: APR.so won't load

Excellent! I guess that's fixed it then, so I will apply that patch.
Many thanks for testing.

On 14 April 2015 at 08:37, Jie Gao <J....@sydney.edu.au> wrote:
> Hi Steve
>
> Yes, I applied the AP_DEBUG patch.
>
> Regards,
>
> Jie
>
> * Steve Hay <st...@googlemail.com> wrote:
>
>> Date: Tue, 14 Apr 2015 08:32:29 +0100
>> From: Steve Hay <st...@googlemail.com>
>> To: Jie Gao <J....@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> That's great news! Was that with the AP_DEBUG patch to
>> lib/Apache2/Build.pm that I posted last time, or did it just work
>> without that anyway?
>>
>> On 14 April 2015 at 05:13, Jie Gao <J....@sydney.edu.au> wrote:
>> > Hi Steve
>> >
>> > I got the src from trunk again and rebuilt httpd with
>> > "--enable-maintainer-mode", just as you requested, and "make test"
>> > passed with my module!
>> >
>> > Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
>> > commented out this time for some reason.
>> >
>> > Still had this when running make test with mod_perl:
>> >
>> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >
>> > Thanks very much for your help!
>> >
>> >
>> > Regards,
>> >
>> > Jie
>> >
>> > * Steve Hay <st...@googlemail.com> wrote:
>> >
>> >> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> >> From: Steve Hay <st...@googlemail.com>
>> >> To: Jie Gao <J....@sydney.edu.au>
>> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >>  <de...@perl.apache.org>
>> >> Subject: Re: Trunk: APR.so won't load
>> >>
>> >> Thanks for the extra information.
>> >>
>> >> I think the build with --enable-maintainer-mode succeeded simply
>> >> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> >> probably not related.
>> >>
>> >> It would be nice to allow building mod_perl with a httpd built with
>> >> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> >> simply need to remove -DAP_DEBUG from the build flags.
>> >>
>> >> So please could you try rebuilding again using a clean mod_perl source
>> >> tree (i.e. revert the ap_strchr change) but with the patch below
>> >> applied to it, and using an --enable-maintainer-mode httpd?
>> >>
>> >> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> >> I do not know what the problem is there) and I wouldn't expect the two
>> >> test failures to go away either, but I'm hopeful that this build might
>> >> at least work.
>> >>
>> >> Index: lib/Apache2/Build.pm
>> >> ===================================================================
>> >> --- lib/Apache2/Build.pm        (revision 1673126)
>> >> +++ lib/Apache2/Build.pm        (working copy)
>> >> @@ -616,6 +616,9 @@
>> >>      my $extra_cppflags = $self->apxs_extra_cppflags;
>> >>      $ccopts .= " " . $extra_cppflags;
>> >>
>> >> +    # Make sure the evil AP_DEBUG is not defined when building mod_perl
>> >> +    $ccopts =~ s/ ?-DAP_DEBUG\b//;
>> >> +
>> >>      $ccopts;
>> >>  }
>> >>
>> >>
>> >> On 13 April 2015 at 03:37, Jie Gao <J....@sydney.edu.au> wrote:
>> >> > Hi Steve
>> >> >
>> >> > I took some time to look further into this problem:
>> >> >
>> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >> >
>> >> > and I found that the apache build process does not allow
>> >> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> >> > httpd.conf.
>> >> >
>> >> > Uncommenting that line made this problem go away.
>> >> >
>> >> > At the end of the process (with Apache built without
>> >> > "--enable-maintainer-mode", and with ap_strchr replaced with
>> >> > strchr, which you suggested (but may not be necessary here without
>> >> > "--enable-maintainer-mode", I could load my modules successfully.
>> >> >
>> >> > There were still some errors when running "make test" for mod_perl:
>> >> >
>> >> >
>> >> > ...
>> >> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
>> >> > ...
>> >> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >> >
>> >> > Here is some more info:
>> >> >
>> >> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
>> >> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
>> >> > [warning] setting ulimit to allow core files
>> >> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
>> >> > /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
>> >> > using Apache/2.4.12 (worker MPM)
>> >> >
>> >> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
>> >> > ...
>> >> > waiting 300 seconds for server to start: ok (waited 2 secs)
>> >> > server localhost:8529 started
>> >> > server localhost:8530 listening (filter_out_apache)
>> >> > server localhost:8531 listening (perlsections)
>> >> > server localhost:8532 listening (inherit)
>> >> > server localhost:8533 listening (TestModperl::perl_options2)
>> >> > server localhost:8534 listening (TestModperl::perl_options)
>> >> > server localhost:8535 listening (TestModperl::setupenv)
>> >> > server localhost:8536 listening (TestModperl::merge)
>> >> > server localhost:8537 listening (TestUser::rewrite)
>> >> > server localhost:8538 listening (TestModules::proxy)
>> >> > server localhost:8539 listening (TestVhost::config)
>> >> > server localhost:8540 listening (TestVhost::log)
>> >> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
>> >> > server localhost:8542 listening (TestProtocol::eliza)
>> >> > server localhost:8543 listening (TestProtocol::echo_nonblock)
>> >> > server localhost:8544 listening (TestProtocol::echo_block)
>> >> > server localhost:8545 listening (TestProtocol::echo_timeout)
>> >> > server localhost:8546 listening (TestProtocol::echo_bbs2)
>> >> > server localhost:8547 listening (TestProtocol::pseudo_http)
>> >> > server localhost:8548 listening (TestProtocol::echo_filter)
>> >> > server localhost:8549 listening (TestProtocol::echo_bbs)
>> >> > server localhost:8550 listening (TestPreConnection::note)
>> >> > server localhost:8551 listening (TestHooks::startup)
>> >> > server localhost:8552 listening (TestHooks::hookrun)
>> >> > server localhost:8553 listening (TestHooks::trans)
>> >> > server localhost:8554 listening (TestHooks::stacked_handlers2)
>> >> > server localhost:8555 listening (TestHooks::init)
>> >> > server localhost:8556 listening (TestFilter::both_str_con_add)
>> >> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
>> >> > server localhost:8558 listening (TestFilter::in_str_msg)
>> >> > server localhost:8559 listening (TestFilter::in_bbs_msg)
>> >> > server localhost:8560 listening (TestDirective::perlrequire)
>> >> > server localhost:8561 listening (TestDirective::perlmodule)
>> >> > server localhost:8562 listening (TestPerl::ithreads)
>> >> > server localhost:8563 listening (TestPerl::ithreads3)
>> >> > server localhost:8564 listening (TestDirective::perlloadmodule3)
>> >> > server localhost:8565 listening (TestDirective::perlloadmodule5)
>> >> > server localhost:8566 listening (TestDirective::perlloadmodule4)
>> >> > server localhost:8567 listening (TestAPI::add_config)
>> >> > server localhost:8568 listening (TestDirective::perlloadmodule6)
>> >> > server localhost:8569 listening (TestHooks::push_handlers_anon)
>> >> > t/hooks/authen_digest.t ..
>> >> > 1..7
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:20 2015
>> >> > # Current time GMT:   Mon Apr 13 02:28:20 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # testing : handler returned HTTP_OK
>> >> > # expected: 200
>> >> > # received: '200'
>> >> > ok 1
>> >> > # response had no WWW-Authenticate header
>> >> > ok 2
>> >> > # testing : handler returned HTTP_UNAUTHORIZED
>> >> > # expected: 401
>> >> > # received: '401'
>> >> > ok 3
>> >> > # response had a WWW-Authenticate header
>> >> > not ok 4
>> >> > # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # testing : response is using Digest authentication scheme
>> >> > # expected: qr/^Digest/
>> >> > # received: undef
>> >> > not ok 5
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # testing : WWW-Authenticate header contains the proper realm
>> >> > # expected: qr/realm="Simple Digest"/
>> >> > # received: undef
>> >> > not ok 6
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # testing : WWW-Authenticate header contains a nonce
>> >> > # expected: qr/nonce="/
>> >> > # received: undef
>> >> > not ok 7
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > Failed 4/7 subtests
>> >> > t/perl/ithreads3.t .......
>> >> > 1..6
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:21 2015
>> >> > # Current time GMT:   Mon Apr 13 02:28:21 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # connecting to http://localhost:8563/
>> >> > # testing : perl-script 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 1
>> >> > # testing : modperl 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 2
>> >> > # testing : perl-script 2
>> >> > # expected: 5
>> >> > # received: '2'
>> >> > not ok 3
>> >> > # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # testing : modperl 2
>> >> > # expected: 5
>> >> > # received: '3'
>> >> > not ok 4
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # testing : perl-script 3
>> >> > # expected: 3
>> >> > # received: '2'
>> >> > not ok 5
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > # testing : modperl 3
>> >> > # expected: 3
>> >> > # received: '3'
>> >> > ok 6
>> >> > Failed 3/6 subtests
>> >> >
>> >> > Test Summary Report
>> >> > -------------------
>> >> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>> >> >   Failed tests:  4-7
>> >> > t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
>> >> >   Failed tests:  3-5
>> >> > Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
>> >> > Result: FAIL
>> >> > Failed 2/2 test programs. 7/13 subtests failed.
>> >> > [warning] server localhost:8529 shutdown
>> >> > [warning] port 8529 still in use...
>> >> > ...done
>> >> > [  error] error running tests (please examine t/logs/error_log)
>> >> >
>> >> > # cat less t/logs/error_log
>> >> > ********************************************************************************
>> >> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> > *** Following a line consisting only of * characters there should be a line  ***
>> >> > *** containing                                                               ***
>> >> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> > *** The next line should then read                                           ***
>> >> > ***     "done with server_shutdown_cleanup_register"                         ***
>> >> > ********************************************************************************
>> >> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> > *** done with server_shutdown_cleanup_register                               ***
>> >> > ********************************************************************************
>> >> > END in modperl_extra.pl, pid=25085
>> >> > END in modperl_extra.pl, pid=25085
>> >> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
>> >> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
>> >> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
>> >> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
>> >> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
>> >> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
>> >> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
>> >> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
>> >> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
>> >> > END in modperl_extra.pl, pid=25093
>> >> > END in modperl_extra.pl, pid=25093
>> >> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
>> >> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
>> >> > ********************************************************************************
>> >> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> > *** Following a line consisting only of * characters there should be a line  ***
>> >> > *** containing                                                               ***
>> >> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> > *** The next line should then read                                           ***
>> >> > ***     "done with server_shutdown_cleanup_register"                         ***
>> >> > ********************************************************************************
>> >> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> > *** done with server_shutdown_cleanup_register                               ***
>> >> > ********************************************************************************
>> >> > END in modperl_extra.pl, pid=25089
>> >> > END in modperl_extra.pl, pid=25089
>> >> >
>> >> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>> >> >
>> >> >
>> >> >
>> >> > Regards,
>> >> >
>> >> >
>> >> > Jie
>> >> >
>> >> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >> >
>> >> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> >> >> From: Jie Gao <J....@sydney.edu.au>
>> >> >> To: Steve Hay <st...@googlemail.com>
>> >> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >>  <de...@perl.apache.org>
>> >> >> Subject: Re: Trunk: APR.so won't load
>> >> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> >>
>> >> >> Hi Steve
>> >> >>
>> >> >> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
>> >> >> strchr before recompiling.  I still got the same error message after that.
>> >> >>
>> >> >> I re-compiled apache without enabling the maintainer mode:
>> >> >>
>> >> >> ---
>> >> >> CC="gcc"; export CC
>> >> >> CFLAGS="-Wall -O3"; export CFLAGS
>> >> >> "./configure" \
>> >> >> "--prefix=/usr/local/httpd-2.4.12" \
>> >> >> "--with-included-apr" \
>> >> >> "--with-mpm=worker" \
>> >> >> "--enable-auth-digest" \
>> >> >> "--enable-dav" \
>> >> >> "--enable-expires" \
>> >> >> "--enable-headers" \
>> >> >> "--enable-proxy-html" \
>> >> >> "--enable-xml2enc" \
>> >> >> "--enable-info" \
>> >> >> "--enable-mime-magic" \
>> >> >> "--enable-nonportable-atomics" \
>> >> >> "--enable-proxy" \
>> >> >> "--enable-proxy-balancer" \
>> >> >> "--enable-proxy-http" \
>> >> >> "--enable-rewrite" \
>> >> >> "--enable-so" \
>> >> >> "--enable-ssl" \
>> >> >> "--enable-unique-id" \
>> >> >> "--enable-vhost-alias" \
>> >> >> "--enable-modules=most" \
>> >> >> "--enable-mods-shared=most" \
>> >> >> "--enable-lbmethod-byrequests" \
>> >> >> "--enable-lbmethod-bytraffic" \
>> >> >> "--enable-lbmethod-bybusyness" \
>> >> >> "--enable-lbmethod-heartbeat" \
>> >> >> "--enable-heartmonitor" \
>> >> >> "--enable-watchdog" \
>> >> >> "--enable-ratelimit" \
>> >> >> "--enable-ext-filter" \
>> >> >> "--enable-request" \
>> >> >> "CC=gcc" \
>> >> >> "CFLAGS=-Wall -O3" \
>> >> >> "$@"
>> >> >> ---
>> >> >>
>> >> >> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
>> >> >>
>> >> >> ---
>> >> >> [warning] setting ulimit to allow core files
>> >> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
>> >> >> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
>> >> >>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
>> >> >>         t/TEST -bugreport -verbose=0
>> >> >> [warning] setting ulimit to allow core files
>> >> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
>> >> >> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
>> >> >> using Apache/2.4.12 (worker MPM)
>> >> >>
>> >> >> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> >> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
>> >> >> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
>> >> >> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
>> >> >> .............................................................................................................................................................................................................................................................................................................
>> >> >> waiting 300 seconds for server to start: not ok
>> >> >> [  error] giving up after 301 secs. If you think that your system
>> >> >> is slow or overloaded try again with a longer timeout value.
>> >> >> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
>> >> >> to a high value (e.g. 600) and repeat the last command.
>> >> >>
>> >> >> [  error] server failed to start! (please examine t/logs/error_log)
>> >> >> +--------------------------------------------------------+
>> >> >> | Please file a bug report: http://perl.apache.org/bugs/ |
>> >> >> +--------------------------------------------------------+
>> >> >> make: *** [run_tests] Error 1
>> >> >> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
>> >> >> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
>> >> >> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
>> >> >> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
>> >> >> ********************************************************************************
>> >> >> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> >> *** Following a line consisting only of * characters there should be a line  ***
>> >> >> *** containing                                                               ***
>> >> >> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> >> *** The next line should then read                                           ***
>> >> >> ***     "done with server_shutdown_cleanup_register"                         ***
>> >> >> ********************************************************************************
>> >> >> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> >> *** done with server_shutdown_cleanup_register                               ***
>> >> >> ********************************************************************************
>> >> >> END in modperl_extra.pl, pid=19848
>> >> >> END in modperl_extra.pl, pid=19848
>> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >> >> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
>> >> >> ---
>> >> >>
>> >> >> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> Regards,
>> >> >>
>> >> >> Jie
>> >> >>
>> >> >> * Steve Hay <st...@googlemail.com> wrote:
>> >> >>
>> >> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> >> >> > From: Steve Hay <st...@googlemail.com>
>> >> >> > To: Jie Gao <J....@sydney.edu.au>
>> >> >> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >> >  <de...@perl.apache.org>
>> >> >> > Subject: Re: Trunk: APR.so won't load
>> >> >> >
>> >> >> > Actually, I don't think there is anything stopping -DAP_DEBUG from
>> >> >> > coming through from the httpd config. The change that was made
>> >> >> > (r357052) just stopped mod_perl from adding that itself when
>> >> >> > MP_MAINTAINER is specified.
>> >> >> >
>> >> >> > But maybe we do need to filter out -DAP_DEBUG?
>> >> >> > Or else stop using ap_strchr() and just use strchr() directly?
>> >> >> >
>> >> >> > Could you try the latter, since it seems like an easy fix? -- Change
>> >> >> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
>> >> >> > to be strchr() instead and then rebuild. Does that make the problem go
>> >> >> > away?
>> >> >> >
>> >> >> >
>> >> >> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
>> >> >> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
>> >> >> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>> >> >> > >
>> >> >> > > I think that symbol is not supposed to find its way into the mod_perl
>> >> >> > > build options, but it's obviously getting picked up somewhere and
>> >> >> > > slipping through...
>> >> >> > >
>> >> >> > >
>> >> >> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
>> >> >> > >> Hi Steve
>> >> >> > >>
>> >> >> > >> httpd is configured with "--enable-maintainer-mode".
>> >> >> > >>
>> >> >> > >> For mod_perl:
>> >> >> > >>
>> >> >> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>> >> >> > >>
>> >> >> > >> and I found the following line in the resultant Makefile:
>> >> >> > >>
>> >> >> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>> >> >> > >>
>> >> >> > >>
>> >> >> > >>
>> >> >> > >> Regards,
>> >> >> > >>
>> >> >> > >> Jie
>> >> >> > >>
>> >> >> > >> * Steve Hay <st...@googlemail.com> wrote:
>> >> >> > >>
>> >> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> >> >> > >>> From: Steve Hay <st...@googlemail.com>
>> >> >> > >>> To: Jie Gao <J....@sydney.edu.au>
>> >> >> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >> > >>>  <de...@perl.apache.org>
>> >> >> > >>> Subject: Re: Trunk: APR.so won't load
>> >> >> > >>>
>> >> >> > >>> Sorry for the slow reply.
>> >> >> > >>>
>> >> >> > >>> I cannot reproduce the problem here on Windows. Your example module
>> >> >> > >>> loads up fine with all the "use APR" lines uncommented.
>> >> >> > >>>
>> >> >> > >>> The build system (and the means by which APR::* should be loadable
>> >> >> > >>> without mod_perl.so being loaded) is different on Windows, but I did
>> >> >> > >>> notice this:
>> >> >> > >>>
>> >> >> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> >> >> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
>> >> >> > >>> gets changed to strchr, and the latter is simply imported from the C
>> >> >> > >>> run-time library.
>> >> >> > >>>
>> >> >> > >>> I guess that's down to this code in httpd.h:
>> >> >> > >>>
>> >> >> > >>> #ifdef AP_DEBUG
>> >> >> > >>>
>> >> >> > >>> #undef strchr
>> >> >> > >>> # define strchr(s, c)  ap_strchr(s,c)
>> >> >> > >>> #undef strrchr
>> >> >> > >>> # define strrchr(s, c) ap_strrchr(s,c)
>> >> >> > >>> #undef strstr
>> >> >> > >>> # define strstr(s, c)  ap_strstr(s,c)
>> >> >> > >>>
>> >> >> > >>> #else
>> >> >> > >>>
>> >> >> > >>> /** use this instead of strchr */
>> >> >> > >>> # define ap_strchr(s, c)     strchr(s, c)
>> >> >> > >>> /** use this instead of strchr */
>> >> >> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
>> >> >> > >>> /** use this instead of strrchr */
>> >> >> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
>> >> >> > >>> /** use this instead of strrchr */
>> >> >> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> >> >> > >>> /** use this instead of strrstr*/
>> >> >> > >>> # define ap_strstr(s, c)     strstr(s, c)
>> >> >> > >>> /** use this instead of strrstr*/
>> >> >> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
>> >> >> > >>>
>> >> >> > >>> #endif
>> >> >> > >>>
>> >> >> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
>> >> >> > >>> it was a debug build).
>> >> >> > >>>
>> >> >> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> >> >> > >>> according to an old Changes entry:
>> >> >> > >>>
>> >> >> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> >> >> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>> >> >> > >>>
>> >> >> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> >> >> > >>> replacement of ap_strchr with strchr to not happen for you?
>> >> >> > >>>
>> >> >> > >>>
>> >> >> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>> >> >> > >>> > Hi All
>> >> >> > >>> >
>> >> >> > >>> > I had some more time looking into this, and here's some info I can provide.
>> >> >> > >>> >
>> >> >> > >>> > --------------------------------------------------------------------------
>> >> >> > >>> >
>> >> >> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> >> >> > >>> > ELF Header:
>> >> >> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> >> >> > >>> >   Class:                             ELF64
>> >> >> > >>> >   Data:                              2's complement, little endian
>> >> >> > >>> >   Version:                           1 (current)
>> >> >> > >>> >   OS/ABI:                            UNIX - System V
>> >> >> > >>> >   ABI Version:                       0
>> >> >> > >>> >   Type:                              DYN (Shared object file)
>> >> >> > >>> >   Machine:                           Advanced Micro Devices X86-64
>> >> >> > >>> >   Version:                           0x1
>> >> >> > >>> >   Entry point address:               0x1cb0
>> >> >> > >>> >   Start of program headers:          64 (bytes into file)
>> >> >> > >>> >   Start of section headers:          15480 (bytes into file)
>> >> >> > >>> >   Flags:                             0x0
>> >> >> > >>> >   Size of this header:               64 (bytes)
>> >> >> > >>> >   Size of program headers:           56 (bytes)
>> >> >> > >>> >   Number of program headers:         6
>> >> >> > >>> >   Size of section headers:           64 (bytes)
>> >> >> > >>> >   Number of section headers:         29
>> >> >> > >>> >   Section header string table index: 26
>> >> >> > >>> >
>> >> >> > >>> > Section Headers:
>> >> >> > >>> >   [Nr] Name              Type             Address           Offset
>> >> >> > >>> >        Size              EntSize          Flags  Link  Info  Align
>> >> >> > >>> >   [ 0]                   NULL             0000000000000000  00000000
>> >> >> > >>> >        0000000000000000  0000000000000000           0     0     0
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
>> >> >> > >>> >   Tag        Type                         Name/Value
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>> >> >> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>> >> >> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>> >> >> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>> >> >> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>> >> >> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>> >> >> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>> >> >> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>> >> >> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>> >> >> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>> >> >> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Symbol table '.dynsym' contains 86 entries:
>> >> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> >> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>> >> >> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>> >> >> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>> >> >> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>> >> >> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>> >> >> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>> >> >> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>> >> >> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>> >> >> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Symbol table '.symtab' contains 143 entries:
>> >> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> >> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > --------------------------------------------------------------------------
>> >> >> > >>> >
>> >> >> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>> >> >> > >>> > any of the shared libs. This seems to create the problem when building
>> >> >> > >>> > a module with mod_perl or outside the mod_perl source.
>> >> >> > >>> >
>> >> >> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
>> >> >> > >>> >
>> >> >> > >>> > bug reports generating code: [Stas]
>> >> >> > >>> > - add (apr|apu)-config linking info
>> >> >> > >>> > - show the full path to the config file used to get the data for the
>> >> >> > >>> >   report
>> >> >> > >>> >
>> >> >> > >>> > The APR and APR::* family of modules can now be used without having
>> >> >> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>> >> >> > >>> > functions from the appropriate sources used to build mod_perl.so
>> >> >> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>> >> >> > >>> > a static library of needed functions is built, and APR/APR::*
>> >> >> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > I hope this helps resolve this issue in any way.
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > Regards,
>> >> >> > >>> >
>> >> >> > >>> > Jie
>> >> >> > >>> >
>> >> >> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >> >> > >>> >
>> >> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> >> > >>> >> From: Jie Gao <J....@sydney.edu.au>
>> >> >> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >> > >>> >>  <de...@perl.apache.org>
>> >> >> > >>> >> Subject: Trunk: APR.so won't load
>> >> >> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> >> > >>> >>
>> >> >> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
>> >> >> > >>> >> a threading issue, but I installed it anyway.
>> >> >> > >>> >>
>> >> >> > >>> >> Tried to load a test module, but it fails with the following error:
>> >> >> > >>> >>
>> >> >> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> >> >> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>> >> >> > >>> >>
>> >> >> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>> >> >> > >>> >>
>> >> >> > >>> >> #-------------------------------------------------------------------------
>> >> >> > >>> >>
>> >> >> > >>> >> package mytest::mytestmodule;
>> >> >> > >>> >>
>> >> >> > >>> >> use 5.010001;
>> >> >> > >>> >> use strict;
>> >> >> > >>> >> use warnings;
>> >> >> > >>> >> use Carp;
>> >> >> > >>> >> $SIG{__DIE__} = \&Carp::confess;
>> >> >> > >>> >>
>> >> >> > >>> >> use mod_perl2;
>> >> >> > >>> >> use Apache2::Connection();
>> >> >> > >>> >> use Apache2::RequestRec();
>> >> >> > >>> >> use Apache2::SubRequest();
>> >> >> > >>> >> use Apache2::Access();
>> >> >> > >>> >> use Apache2::RequestUtil();
>> >> >> > >>> >> use Apache2::Response();
>> >> >> > >>> >> use Apache2::Log();
>> >> >> > >>> >> use Apache2::Util();
>> >> >> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> >> >> > >>> >> use Apache2::URI();
>> >> >> > >>> >> use Apache2::Filter ();
>> >> >> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> >> >> > >>> >> use IO::Socket qw(SOCK_STREAM);
>> >> >> > >>> >> use Data::Dumper;
>> >> >> > >>> >> use AnyDBM_File ();
>> >> >> > >>> >> #use APR::Brigade ();
>> >> >> > >>> >> #use APR::Bucket ();
>> >> >> > >>> >> #use APR::Base64 ();
>> >> >> > >>> >> #use APR::Table ();
>> >> >> > >>> >> #use APR::URI ();
>> >> >> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> >> >> > >>> >> #use Apache2::MPM();
>> >> >> > >>> >>
>> >> >> > >>> >> our $VERSION = '1.0.1';
>> >> >> > >>> >>
>> >> >> > >>> >> 1;
>> >> >> > >>> >> __END__
>> >> >> > >>> >>
>> >> >> > >>> >> #-------------------------------------------------------------------------
>> >> >> > >>> >>
>> >> >> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
>> >> >> > >>> >> 1. Problem Description:
>> >> >> > >>> >>
>> >> >> > >>> >>   [DESCRIBE THE PROBLEM HERE]
>> >> >> > >>> >>
>> >> >> > >>> >> 2. Used Components and their Configuration:
>> >> >> > >>> >>
>> >> >> > >>> >> *** mod_perl version 2.000009
>> >> >> > >>> >>
>> >> >> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>> >> >> > >>> >>
>> >> >> > >>> >> *** Makefile.PL options:
>> >> >> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>> >> >> > >>> >>   MP_APR_LIB     => aprext
>> >> >> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>> >> >> > >>> >>   MP_COMPAT_1X   => 1
>> >> >> > >>> >>   MP_GENERATE_XS => 1
>> >> >> > >>> >>   MP_LIBNAME     => mod_perl
>> >> >> > >>> >>   MP_USE_DSO     => 1
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> >> >> > >>> >> Server version: Apache/2.4.12 (Unix)
>> >> >> > >>> >> Server built:   Feb 27 2015 20:05:23
>> >> >> > >>> >> Server's Module Magic Number: 20120211:41
>> >> >> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> >> >> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> >> >> > >>> >> Architecture:   64-bit
>> >> >> > >>> >> Server MPM:     worker
>> >> >> > >>> >>   threaded:     yes (fixed thread count)
>> >> >> > >>> >>     forked:     yes (variable process count)
>> >> >> > >>> >> Server compiled with....
>> >> >> > >>> >>  -D APR_HAS_SENDFILE
>> >> >> > >>> >>  -D APR_HAS_MMAP
>> >> >> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> >> >> > >>> >>  -D APR_USE_SYSVSEM_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=256
>> >> >> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>> >> >> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>> >> >> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>> >> >> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>> >> >> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>> >> >> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>> >> >> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>> >> >> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>> >> >> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>> >> >> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>> >> >> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>> >> >> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>> >> >> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>> >> >> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** (apr|apu)-config linking info
>> >> >> > >>> >>
>> >> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>> >> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** /usr/local/bin/perl -V
>> >> >> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>> >> >> > >>> >>
>> >> >> > >>> >>   Platform:
>> >> >> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>> >> >> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>> >> >> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>> >> >> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
>> >> >> > >>> >>     useithreads=define, usemultiplicity=define
>> >> >> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>> >> >> > >>> >>     usemymalloc=n, bincompat5005=undef
>> >> >> > >>> >>   Compiler:
>> >> >> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>> >> >> > >>> >>     optimize='-O2',
>> >> >> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>> >> >> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>> >> >> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>> >> >> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> >> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> >> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>> >> >> > >>> >>     gnulibc_version='2.12'
>> >> >> > >>> >>   Dynamic Linking:
>> >> >> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>> >> >> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> Characteristics of this binary (from libperl):
>> >> >> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> >> >> > >>> >>                         PERL_DONT_CREATE_GVSV
>> >> >> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> >> >> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> >> >> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> >> >> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>> >> >> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>> >> >> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>> >> >> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>> >> >> > >>> >>   Built under linux
>> >> >> > >>> >>   Compiled at Feb 25 2015 15:58:55
>> >> >> > >>> >>   %ENV:
>> >> >> > >>> >>     PERL_LWP_USE_HTTP_10="1"
>> >> >> > >>> >>   @INC:
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>> >> >> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>> >> >> > >>> >>     /usr/local/lib/perl5/5.20.2
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl
>> >> >> > >>> >>     .
>> >> >> > >>> >>
>> >> >> > >>> >> *** Packages of interest status:
>> >> >> > >>> >>
>> >> >> > >>> >> Apache2            : -
>> >> >> > >>> >> Apache2::Request   : -
>> >> >> > >>> >> CGI                : 3.65
>> >> >> > >>> >> ExtUtils::MakeMaker: 6.98
>> >> >> > >>> >> LWP                : 5.837
>> >> >> > >>> >> mod_perl           : -
>> >> >> > >>> >> mod_perl2          : 2.000009
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>> >> >> > >>> >>
>> >> >> > >>> >> -------------8<---------- End Bug Report --------------8<----------
>> >> >> > >>> >>
>> >> >> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>> >> >> > >>> >> total 4108
>> >> >> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> >> >> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> >> >> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> >> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> >> >> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> >> >> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> >> >> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> >> >> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> >> >> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> >> >> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> >> >> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> >> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> Regards,
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> Jie.
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>

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



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


Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
Excellent! I guess that's fixed it then, so I will apply that patch.
Many thanks for testing.

On 14 April 2015 at 08:37, Jie Gao <J....@sydney.edu.au> wrote:
> Hi Steve
>
> Yes, I applied the AP_DEBUG patch.
>
> Regards,
>
> Jie
>
> * Steve Hay <st...@googlemail.com> wrote:
>
>> Date: Tue, 14 Apr 2015 08:32:29 +0100
>> From: Steve Hay <st...@googlemail.com>
>> To: Jie Gao <J....@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> That's great news! Was that with the AP_DEBUG patch to
>> lib/Apache2/Build.pm that I posted last time, or did it just work
>> without that anyway?
>>
>> On 14 April 2015 at 05:13, Jie Gao <J....@sydney.edu.au> wrote:
>> > Hi Steve
>> >
>> > I got the src from trunk again and rebuilt httpd with
>> > "--enable-maintainer-mode", just as you requested, and "make test"
>> > passed with my module!
>> >
>> > Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
>> > commented out this time for some reason.
>> >
>> > Still had this when running make test with mod_perl:
>> >
>> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >
>> > Thanks very much for your help!
>> >
>> >
>> > Regards,
>> >
>> > Jie
>> >
>> > * Steve Hay <st...@googlemail.com> wrote:
>> >
>> >> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> >> From: Steve Hay <st...@googlemail.com>
>> >> To: Jie Gao <J....@sydney.edu.au>
>> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >>  <de...@perl.apache.org>
>> >> Subject: Re: Trunk: APR.so won't load
>> >>
>> >> Thanks for the extra information.
>> >>
>> >> I think the build with --enable-maintainer-mode succeeded simply
>> >> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> >> probably not related.
>> >>
>> >> It would be nice to allow building mod_perl with a httpd built with
>> >> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> >> simply need to remove -DAP_DEBUG from the build flags.
>> >>
>> >> So please could you try rebuilding again using a clean mod_perl source
>> >> tree (i.e. revert the ap_strchr change) but with the patch below
>> >> applied to it, and using an --enable-maintainer-mode httpd?
>> >>
>> >> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> >> I do not know what the problem is there) and I wouldn't expect the two
>> >> test failures to go away either, but I'm hopeful that this build might
>> >> at least work.
>> >>
>> >> Index: lib/Apache2/Build.pm
>> >> ===================================================================
>> >> --- lib/Apache2/Build.pm        (revision 1673126)
>> >> +++ lib/Apache2/Build.pm        (working copy)
>> >> @@ -616,6 +616,9 @@
>> >>      my $extra_cppflags = $self->apxs_extra_cppflags;
>> >>      $ccopts .= " " . $extra_cppflags;
>> >>
>> >> +    # Make sure the evil AP_DEBUG is not defined when building mod_perl
>> >> +    $ccopts =~ s/ ?-DAP_DEBUG\b//;
>> >> +
>> >>      $ccopts;
>> >>  }
>> >>
>> >>
>> >> On 13 April 2015 at 03:37, Jie Gao <J....@sydney.edu.au> wrote:
>> >> > Hi Steve
>> >> >
>> >> > I took some time to look further into this problem:
>> >> >
>> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >> >
>> >> > and I found that the apache build process does not allow
>> >> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> >> > httpd.conf.
>> >> >
>> >> > Uncommenting that line made this problem go away.
>> >> >
>> >> > At the end of the process (with Apache built without
>> >> > "--enable-maintainer-mode", and with ap_strchr replaced with
>> >> > strchr, which you suggested (but may not be necessary here without
>> >> > "--enable-maintainer-mode", I could load my modules successfully.
>> >> >
>> >> > There were still some errors when running "make test" for mod_perl:
>> >> >
>> >> >
>> >> > ...
>> >> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
>> >> > ...
>> >> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >> >
>> >> > Here is some more info:
>> >> >
>> >> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
>> >> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
>> >> > [warning] setting ulimit to allow core files
>> >> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
>> >> > /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
>> >> > using Apache/2.4.12 (worker MPM)
>> >> >
>> >> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
>> >> > ...
>> >> > waiting 300 seconds for server to start: ok (waited 2 secs)
>> >> > server localhost:8529 started
>> >> > server localhost:8530 listening (filter_out_apache)
>> >> > server localhost:8531 listening (perlsections)
>> >> > server localhost:8532 listening (inherit)
>> >> > server localhost:8533 listening (TestModperl::perl_options2)
>> >> > server localhost:8534 listening (TestModperl::perl_options)
>> >> > server localhost:8535 listening (TestModperl::setupenv)
>> >> > server localhost:8536 listening (TestModperl::merge)
>> >> > server localhost:8537 listening (TestUser::rewrite)
>> >> > server localhost:8538 listening (TestModules::proxy)
>> >> > server localhost:8539 listening (TestVhost::config)
>> >> > server localhost:8540 listening (TestVhost::log)
>> >> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
>> >> > server localhost:8542 listening (TestProtocol::eliza)
>> >> > server localhost:8543 listening (TestProtocol::echo_nonblock)
>> >> > server localhost:8544 listening (TestProtocol::echo_block)
>> >> > server localhost:8545 listening (TestProtocol::echo_timeout)
>> >> > server localhost:8546 listening (TestProtocol::echo_bbs2)
>> >> > server localhost:8547 listening (TestProtocol::pseudo_http)
>> >> > server localhost:8548 listening (TestProtocol::echo_filter)
>> >> > server localhost:8549 listening (TestProtocol::echo_bbs)
>> >> > server localhost:8550 listening (TestPreConnection::note)
>> >> > server localhost:8551 listening (TestHooks::startup)
>> >> > server localhost:8552 listening (TestHooks::hookrun)
>> >> > server localhost:8553 listening (TestHooks::trans)
>> >> > server localhost:8554 listening (TestHooks::stacked_handlers2)
>> >> > server localhost:8555 listening (TestHooks::init)
>> >> > server localhost:8556 listening (TestFilter::both_str_con_add)
>> >> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
>> >> > server localhost:8558 listening (TestFilter::in_str_msg)
>> >> > server localhost:8559 listening (TestFilter::in_bbs_msg)
>> >> > server localhost:8560 listening (TestDirective::perlrequire)
>> >> > server localhost:8561 listening (TestDirective::perlmodule)
>> >> > server localhost:8562 listening (TestPerl::ithreads)
>> >> > server localhost:8563 listening (TestPerl::ithreads3)
>> >> > server localhost:8564 listening (TestDirective::perlloadmodule3)
>> >> > server localhost:8565 listening (TestDirective::perlloadmodule5)
>> >> > server localhost:8566 listening (TestDirective::perlloadmodule4)
>> >> > server localhost:8567 listening (TestAPI::add_config)
>> >> > server localhost:8568 listening (TestDirective::perlloadmodule6)
>> >> > server localhost:8569 listening (TestHooks::push_handlers_anon)
>> >> > t/hooks/authen_digest.t ..
>> >> > 1..7
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:20 2015
>> >> > # Current time GMT:   Mon Apr 13 02:28:20 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # testing : handler returned HTTP_OK
>> >> > # expected: 200
>> >> > # received: '200'
>> >> > ok 1
>> >> > # response had no WWW-Authenticate header
>> >> > ok 2
>> >> > # testing : handler returned HTTP_UNAUTHORIZED
>> >> > # expected: 401
>> >> > # received: '401'
>> >> > ok 3
>> >> > # response had a WWW-Authenticate header
>> >> > not ok 4
>> >> > # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # testing : response is using Digest authentication scheme
>> >> > # expected: qr/^Digest/
>> >> > # received: undef
>> >> > not ok 5
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # testing : WWW-Authenticate header contains the proper realm
>> >> > # expected: qr/realm="Simple Digest"/
>> >> > # received: undef
>> >> > not ok 6
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # testing : WWW-Authenticate header contains a nonce
>> >> > # expected: qr/nonce="/
>> >> > # received: undef
>> >> > not ok 7
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > Failed 4/7 subtests
>> >> > t/perl/ithreads3.t .......
>> >> > 1..6
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:21 2015
>> >> > # Current time GMT:   Mon Apr 13 02:28:21 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # connecting to http://localhost:8563/
>> >> > # testing : perl-script 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 1
>> >> > # testing : modperl 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 2
>> >> > # testing : perl-script 2
>> >> > # expected: 5
>> >> > # received: '2'
>> >> > not ok 3
>> >> > # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # testing : modperl 2
>> >> > # expected: 5
>> >> > # received: '3'
>> >> > not ok 4
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # testing : perl-script 3
>> >> > # expected: 3
>> >> > # received: '2'
>> >> > not ok 5
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > # testing : modperl 3
>> >> > # expected: 3
>> >> > # received: '3'
>> >> > ok 6
>> >> > Failed 3/6 subtests
>> >> >
>> >> > Test Summary Report
>> >> > -------------------
>> >> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>> >> >   Failed tests:  4-7
>> >> > t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
>> >> >   Failed tests:  3-5
>> >> > Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
>> >> > Result: FAIL
>> >> > Failed 2/2 test programs. 7/13 subtests failed.
>> >> > [warning] server localhost:8529 shutdown
>> >> > [warning] port 8529 still in use...
>> >> > ...done
>> >> > [  error] error running tests (please examine t/logs/error_log)
>> >> >
>> >> > # cat less t/logs/error_log
>> >> > ********************************************************************************
>> >> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> > *** Following a line consisting only of * characters there should be a line  ***
>> >> > *** containing                                                               ***
>> >> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> > *** The next line should then read                                           ***
>> >> > ***     "done with server_shutdown_cleanup_register"                         ***
>> >> > ********************************************************************************
>> >> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> > *** done with server_shutdown_cleanup_register                               ***
>> >> > ********************************************************************************
>> >> > END in modperl_extra.pl, pid=25085
>> >> > END in modperl_extra.pl, pid=25085
>> >> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
>> >> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
>> >> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
>> >> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
>> >> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
>> >> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
>> >> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
>> >> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
>> >> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
>> >> > END in modperl_extra.pl, pid=25093
>> >> > END in modperl_extra.pl, pid=25093
>> >> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
>> >> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
>> >> > ********************************************************************************
>> >> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> > *** Following a line consisting only of * characters there should be a line  ***
>> >> > *** containing                                                               ***
>> >> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> > *** The next line should then read                                           ***
>> >> > ***     "done with server_shutdown_cleanup_register"                         ***
>> >> > ********************************************************************************
>> >> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> > *** done with server_shutdown_cleanup_register                               ***
>> >> > ********************************************************************************
>> >> > END in modperl_extra.pl, pid=25089
>> >> > END in modperl_extra.pl, pid=25089
>> >> >
>> >> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>> >> >
>> >> >
>> >> >
>> >> > Regards,
>> >> >
>> >> >
>> >> > Jie
>> >> >
>> >> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >> >
>> >> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> >> >> From: Jie Gao <J....@sydney.edu.au>
>> >> >> To: Steve Hay <st...@googlemail.com>
>> >> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >>  <de...@perl.apache.org>
>> >> >> Subject: Re: Trunk: APR.so won't load
>> >> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> >>
>> >> >> Hi Steve
>> >> >>
>> >> >> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
>> >> >> strchr before recompiling.  I still got the same error message after that.
>> >> >>
>> >> >> I re-compiled apache without enabling the maintainer mode:
>> >> >>
>> >> >> ---
>> >> >> CC="gcc"; export CC
>> >> >> CFLAGS="-Wall -O3"; export CFLAGS
>> >> >> "./configure" \
>> >> >> "--prefix=/usr/local/httpd-2.4.12" \
>> >> >> "--with-included-apr" \
>> >> >> "--with-mpm=worker" \
>> >> >> "--enable-auth-digest" \
>> >> >> "--enable-dav" \
>> >> >> "--enable-expires" \
>> >> >> "--enable-headers" \
>> >> >> "--enable-proxy-html" \
>> >> >> "--enable-xml2enc" \
>> >> >> "--enable-info" \
>> >> >> "--enable-mime-magic" \
>> >> >> "--enable-nonportable-atomics" \
>> >> >> "--enable-proxy" \
>> >> >> "--enable-proxy-balancer" \
>> >> >> "--enable-proxy-http" \
>> >> >> "--enable-rewrite" \
>> >> >> "--enable-so" \
>> >> >> "--enable-ssl" \
>> >> >> "--enable-unique-id" \
>> >> >> "--enable-vhost-alias" \
>> >> >> "--enable-modules=most" \
>> >> >> "--enable-mods-shared=most" \
>> >> >> "--enable-lbmethod-byrequests" \
>> >> >> "--enable-lbmethod-bytraffic" \
>> >> >> "--enable-lbmethod-bybusyness" \
>> >> >> "--enable-lbmethod-heartbeat" \
>> >> >> "--enable-heartmonitor" \
>> >> >> "--enable-watchdog" \
>> >> >> "--enable-ratelimit" \
>> >> >> "--enable-ext-filter" \
>> >> >> "--enable-request" \
>> >> >> "CC=gcc" \
>> >> >> "CFLAGS=-Wall -O3" \
>> >> >> "$@"
>> >> >> ---
>> >> >>
>> >> >> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
>> >> >>
>> >> >> ---
>> >> >> [warning] setting ulimit to allow core files
>> >> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
>> >> >> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
>> >> >>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
>> >> >>         t/TEST -bugreport -verbose=0
>> >> >> [warning] setting ulimit to allow core files
>> >> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
>> >> >> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
>> >> >> using Apache/2.4.12 (worker MPM)
>> >> >>
>> >> >> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> >> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
>> >> >> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
>> >> >> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
>> >> >> .............................................................................................................................................................................................................................................................................................................
>> >> >> waiting 300 seconds for server to start: not ok
>> >> >> [  error] giving up after 301 secs. If you think that your system
>> >> >> is slow or overloaded try again with a longer timeout value.
>> >> >> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
>> >> >> to a high value (e.g. 600) and repeat the last command.
>> >> >>
>> >> >> [  error] server failed to start! (please examine t/logs/error_log)
>> >> >> +--------------------------------------------------------+
>> >> >> | Please file a bug report: http://perl.apache.org/bugs/ |
>> >> >> +--------------------------------------------------------+
>> >> >> make: *** [run_tests] Error 1
>> >> >> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
>> >> >> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
>> >> >> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
>> >> >> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
>> >> >> ********************************************************************************
>> >> >> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> >> *** Following a line consisting only of * characters there should be a line  ***
>> >> >> *** containing                                                               ***
>> >> >> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> >> *** The next line should then read                                           ***
>> >> >> ***     "done with server_shutdown_cleanup_register"                         ***
>> >> >> ********************************************************************************
>> >> >> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> >> *** done with server_shutdown_cleanup_register                               ***
>> >> >> ********************************************************************************
>> >> >> END in modperl_extra.pl, pid=19848
>> >> >> END in modperl_extra.pl, pid=19848
>> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >> >> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
>> >> >> ---
>> >> >>
>> >> >> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> Regards,
>> >> >>
>> >> >> Jie
>> >> >>
>> >> >> * Steve Hay <st...@googlemail.com> wrote:
>> >> >>
>> >> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> >> >> > From: Steve Hay <st...@googlemail.com>
>> >> >> > To: Jie Gao <J....@sydney.edu.au>
>> >> >> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >> >  <de...@perl.apache.org>
>> >> >> > Subject: Re: Trunk: APR.so won't load
>> >> >> >
>> >> >> > Actually, I don't think there is anything stopping -DAP_DEBUG from
>> >> >> > coming through from the httpd config. The change that was made
>> >> >> > (r357052) just stopped mod_perl from adding that itself when
>> >> >> > MP_MAINTAINER is specified.
>> >> >> >
>> >> >> > But maybe we do need to filter out -DAP_DEBUG?
>> >> >> > Or else stop using ap_strchr() and just use strchr() directly?
>> >> >> >
>> >> >> > Could you try the latter, since it seems like an easy fix? -- Change
>> >> >> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
>> >> >> > to be strchr() instead and then rebuild. Does that make the problem go
>> >> >> > away?
>> >> >> >
>> >> >> >
>> >> >> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
>> >> >> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
>> >> >> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>> >> >> > >
>> >> >> > > I think that symbol is not supposed to find its way into the mod_perl
>> >> >> > > build options, but it's obviously getting picked up somewhere and
>> >> >> > > slipping through...
>> >> >> > >
>> >> >> > >
>> >> >> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
>> >> >> > >> Hi Steve
>> >> >> > >>
>> >> >> > >> httpd is configured with "--enable-maintainer-mode".
>> >> >> > >>
>> >> >> > >> For mod_perl:
>> >> >> > >>
>> >> >> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>> >> >> > >>
>> >> >> > >> and I found the following line in the resultant Makefile:
>> >> >> > >>
>> >> >> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>> >> >> > >>
>> >> >> > >>
>> >> >> > >>
>> >> >> > >> Regards,
>> >> >> > >>
>> >> >> > >> Jie
>> >> >> > >>
>> >> >> > >> * Steve Hay <st...@googlemail.com> wrote:
>> >> >> > >>
>> >> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> >> >> > >>> From: Steve Hay <st...@googlemail.com>
>> >> >> > >>> To: Jie Gao <J....@sydney.edu.au>
>> >> >> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >> > >>>  <de...@perl.apache.org>
>> >> >> > >>> Subject: Re: Trunk: APR.so won't load
>> >> >> > >>>
>> >> >> > >>> Sorry for the slow reply.
>> >> >> > >>>
>> >> >> > >>> I cannot reproduce the problem here on Windows. Your example module
>> >> >> > >>> loads up fine with all the "use APR" lines uncommented.
>> >> >> > >>>
>> >> >> > >>> The build system (and the means by which APR::* should be loadable
>> >> >> > >>> without mod_perl.so being loaded) is different on Windows, but I did
>> >> >> > >>> notice this:
>> >> >> > >>>
>> >> >> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> >> >> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
>> >> >> > >>> gets changed to strchr, and the latter is simply imported from the C
>> >> >> > >>> run-time library.
>> >> >> > >>>
>> >> >> > >>> I guess that's down to this code in httpd.h:
>> >> >> > >>>
>> >> >> > >>> #ifdef AP_DEBUG
>> >> >> > >>>
>> >> >> > >>> #undef strchr
>> >> >> > >>> # define strchr(s, c)  ap_strchr(s,c)
>> >> >> > >>> #undef strrchr
>> >> >> > >>> # define strrchr(s, c) ap_strrchr(s,c)
>> >> >> > >>> #undef strstr
>> >> >> > >>> # define strstr(s, c)  ap_strstr(s,c)
>> >> >> > >>>
>> >> >> > >>> #else
>> >> >> > >>>
>> >> >> > >>> /** use this instead of strchr */
>> >> >> > >>> # define ap_strchr(s, c)     strchr(s, c)
>> >> >> > >>> /** use this instead of strchr */
>> >> >> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
>> >> >> > >>> /** use this instead of strrchr */
>> >> >> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
>> >> >> > >>> /** use this instead of strrchr */
>> >> >> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> >> >> > >>> /** use this instead of strrstr*/
>> >> >> > >>> # define ap_strstr(s, c)     strstr(s, c)
>> >> >> > >>> /** use this instead of strrstr*/
>> >> >> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
>> >> >> > >>>
>> >> >> > >>> #endif
>> >> >> > >>>
>> >> >> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
>> >> >> > >>> it was a debug build).
>> >> >> > >>>
>> >> >> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> >> >> > >>> according to an old Changes entry:
>> >> >> > >>>
>> >> >> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> >> >> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>> >> >> > >>>
>> >> >> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> >> >> > >>> replacement of ap_strchr with strchr to not happen for you?
>> >> >> > >>>
>> >> >> > >>>
>> >> >> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>> >> >> > >>> > Hi All
>> >> >> > >>> >
>> >> >> > >>> > I had some more time looking into this, and here's some info I can provide.
>> >> >> > >>> >
>> >> >> > >>> > --------------------------------------------------------------------------
>> >> >> > >>> >
>> >> >> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> >> >> > >>> > ELF Header:
>> >> >> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> >> >> > >>> >   Class:                             ELF64
>> >> >> > >>> >   Data:                              2's complement, little endian
>> >> >> > >>> >   Version:                           1 (current)
>> >> >> > >>> >   OS/ABI:                            UNIX - System V
>> >> >> > >>> >   ABI Version:                       0
>> >> >> > >>> >   Type:                              DYN (Shared object file)
>> >> >> > >>> >   Machine:                           Advanced Micro Devices X86-64
>> >> >> > >>> >   Version:                           0x1
>> >> >> > >>> >   Entry point address:               0x1cb0
>> >> >> > >>> >   Start of program headers:          64 (bytes into file)
>> >> >> > >>> >   Start of section headers:          15480 (bytes into file)
>> >> >> > >>> >   Flags:                             0x0
>> >> >> > >>> >   Size of this header:               64 (bytes)
>> >> >> > >>> >   Size of program headers:           56 (bytes)
>> >> >> > >>> >   Number of program headers:         6
>> >> >> > >>> >   Size of section headers:           64 (bytes)
>> >> >> > >>> >   Number of section headers:         29
>> >> >> > >>> >   Section header string table index: 26
>> >> >> > >>> >
>> >> >> > >>> > Section Headers:
>> >> >> > >>> >   [Nr] Name              Type             Address           Offset
>> >> >> > >>> >        Size              EntSize          Flags  Link  Info  Align
>> >> >> > >>> >   [ 0]                   NULL             0000000000000000  00000000
>> >> >> > >>> >        0000000000000000  0000000000000000           0     0     0
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
>> >> >> > >>> >   Tag        Type                         Name/Value
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>> >> >> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>> >> >> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>> >> >> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>> >> >> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>> >> >> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>> >> >> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>> >> >> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>> >> >> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>> >> >> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>> >> >> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Symbol table '.dynsym' contains 86 entries:
>> >> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> >> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>> >> >> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>> >> >> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>> >> >> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>> >> >> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>> >> >> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>> >> >> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>> >> >> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>> >> >> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Symbol table '.symtab' contains 143 entries:
>> >> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> >> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > --------------------------------------------------------------------------
>> >> >> > >>> >
>> >> >> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>> >> >> > >>> > any of the shared libs. This seems to create the problem when building
>> >> >> > >>> > a module with mod_perl or outside the mod_perl source.
>> >> >> > >>> >
>> >> >> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
>> >> >> > >>> >
>> >> >> > >>> > bug reports generating code: [Stas]
>> >> >> > >>> > - add (apr|apu)-config linking info
>> >> >> > >>> > - show the full path to the config file used to get the data for the
>> >> >> > >>> >   report
>> >> >> > >>> >
>> >> >> > >>> > The APR and APR::* family of modules can now be used without having
>> >> >> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>> >> >> > >>> > functions from the appropriate sources used to build mod_perl.so
>> >> >> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>> >> >> > >>> > a static library of needed functions is built, and APR/APR::*
>> >> >> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > I hope this helps resolve this issue in any way.
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > Regards,
>> >> >> > >>> >
>> >> >> > >>> > Jie
>> >> >> > >>> >
>> >> >> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >> >> > >>> >
>> >> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> >> > >>> >> From: Jie Gao <J....@sydney.edu.au>
>> >> >> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >> > >>> >>  <de...@perl.apache.org>
>> >> >> > >>> >> Subject: Trunk: APR.so won't load
>> >> >> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> >> > >>> >>
>> >> >> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
>> >> >> > >>> >> a threading issue, but I installed it anyway.
>> >> >> > >>> >>
>> >> >> > >>> >> Tried to load a test module, but it fails with the following error:
>> >> >> > >>> >>
>> >> >> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> >> >> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>> >> >> > >>> >>
>> >> >> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>> >> >> > >>> >>
>> >> >> > >>> >> #-------------------------------------------------------------------------
>> >> >> > >>> >>
>> >> >> > >>> >> package mytest::mytestmodule;
>> >> >> > >>> >>
>> >> >> > >>> >> use 5.010001;
>> >> >> > >>> >> use strict;
>> >> >> > >>> >> use warnings;
>> >> >> > >>> >> use Carp;
>> >> >> > >>> >> $SIG{__DIE__} = \&Carp::confess;
>> >> >> > >>> >>
>> >> >> > >>> >> use mod_perl2;
>> >> >> > >>> >> use Apache2::Connection();
>> >> >> > >>> >> use Apache2::RequestRec();
>> >> >> > >>> >> use Apache2::SubRequest();
>> >> >> > >>> >> use Apache2::Access();
>> >> >> > >>> >> use Apache2::RequestUtil();
>> >> >> > >>> >> use Apache2::Response();
>> >> >> > >>> >> use Apache2::Log();
>> >> >> > >>> >> use Apache2::Util();
>> >> >> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> >> >> > >>> >> use Apache2::URI();
>> >> >> > >>> >> use Apache2::Filter ();
>> >> >> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> >> >> > >>> >> use IO::Socket qw(SOCK_STREAM);
>> >> >> > >>> >> use Data::Dumper;
>> >> >> > >>> >> use AnyDBM_File ();
>> >> >> > >>> >> #use APR::Brigade ();
>> >> >> > >>> >> #use APR::Bucket ();
>> >> >> > >>> >> #use APR::Base64 ();
>> >> >> > >>> >> #use APR::Table ();
>> >> >> > >>> >> #use APR::URI ();
>> >> >> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> >> >> > >>> >> #use Apache2::MPM();
>> >> >> > >>> >>
>> >> >> > >>> >> our $VERSION = '1.0.1';
>> >> >> > >>> >>
>> >> >> > >>> >> 1;
>> >> >> > >>> >> __END__
>> >> >> > >>> >>
>> >> >> > >>> >> #-------------------------------------------------------------------------
>> >> >> > >>> >>
>> >> >> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
>> >> >> > >>> >> 1. Problem Description:
>> >> >> > >>> >>
>> >> >> > >>> >>   [DESCRIBE THE PROBLEM HERE]
>> >> >> > >>> >>
>> >> >> > >>> >> 2. Used Components and their Configuration:
>> >> >> > >>> >>
>> >> >> > >>> >> *** mod_perl version 2.000009
>> >> >> > >>> >>
>> >> >> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>> >> >> > >>> >>
>> >> >> > >>> >> *** Makefile.PL options:
>> >> >> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>> >> >> > >>> >>   MP_APR_LIB     => aprext
>> >> >> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>> >> >> > >>> >>   MP_COMPAT_1X   => 1
>> >> >> > >>> >>   MP_GENERATE_XS => 1
>> >> >> > >>> >>   MP_LIBNAME     => mod_perl
>> >> >> > >>> >>   MP_USE_DSO     => 1
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> >> >> > >>> >> Server version: Apache/2.4.12 (Unix)
>> >> >> > >>> >> Server built:   Feb 27 2015 20:05:23
>> >> >> > >>> >> Server's Module Magic Number: 20120211:41
>> >> >> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> >> >> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> >> >> > >>> >> Architecture:   64-bit
>> >> >> > >>> >> Server MPM:     worker
>> >> >> > >>> >>   threaded:     yes (fixed thread count)
>> >> >> > >>> >>     forked:     yes (variable process count)
>> >> >> > >>> >> Server compiled with....
>> >> >> > >>> >>  -D APR_HAS_SENDFILE
>> >> >> > >>> >>  -D APR_HAS_MMAP
>> >> >> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> >> >> > >>> >>  -D APR_USE_SYSVSEM_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=256
>> >> >> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>> >> >> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>> >> >> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>> >> >> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>> >> >> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>> >> >> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>> >> >> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>> >> >> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>> >> >> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>> >> >> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>> >> >> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>> >> >> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>> >> >> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>> >> >> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** (apr|apu)-config linking info
>> >> >> > >>> >>
>> >> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>> >> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** /usr/local/bin/perl -V
>> >> >> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>> >> >> > >>> >>
>> >> >> > >>> >>   Platform:
>> >> >> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>> >> >> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>> >> >> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>> >> >> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
>> >> >> > >>> >>     useithreads=define, usemultiplicity=define
>> >> >> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>> >> >> > >>> >>     usemymalloc=n, bincompat5005=undef
>> >> >> > >>> >>   Compiler:
>> >> >> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>> >> >> > >>> >>     optimize='-O2',
>> >> >> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>> >> >> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>> >> >> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>> >> >> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> >> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> >> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>> >> >> > >>> >>     gnulibc_version='2.12'
>> >> >> > >>> >>   Dynamic Linking:
>> >> >> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>> >> >> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> Characteristics of this binary (from libperl):
>> >> >> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> >> >> > >>> >>                         PERL_DONT_CREATE_GVSV
>> >> >> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> >> >> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> >> >> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> >> >> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>> >> >> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>> >> >> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>> >> >> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>> >> >> > >>> >>   Built under linux
>> >> >> > >>> >>   Compiled at Feb 25 2015 15:58:55
>> >> >> > >>> >>   %ENV:
>> >> >> > >>> >>     PERL_LWP_USE_HTTP_10="1"
>> >> >> > >>> >>   @INC:
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>> >> >> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>> >> >> > >>> >>     /usr/local/lib/perl5/5.20.2
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl
>> >> >> > >>> >>     .
>> >> >> > >>> >>
>> >> >> > >>> >> *** Packages of interest status:
>> >> >> > >>> >>
>> >> >> > >>> >> Apache2            : -
>> >> >> > >>> >> Apache2::Request   : -
>> >> >> > >>> >> CGI                : 3.65
>> >> >> > >>> >> ExtUtils::MakeMaker: 6.98
>> >> >> > >>> >> LWP                : 5.837
>> >> >> > >>> >> mod_perl           : -
>> >> >> > >>> >> mod_perl2          : 2.000009
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>> >> >> > >>> >>
>> >> >> > >>> >> -------------8<---------- End Bug Report --------------8<----------
>> >> >> > >>> >>
>> >> >> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>> >> >> > >>> >> total 4108
>> >> >> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> >> >> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> >> >> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> >> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> >> >> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> >> >> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> >> >> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> >> >> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> >> >> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> >> >> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> >> >> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> >> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> Regards,
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> Jie.
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>

Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
Excellent! I guess that's fixed it then, so I will apply that patch.
Many thanks for testing.

On 14 April 2015 at 08:37, Jie Gao <J....@sydney.edu.au> wrote:
> Hi Steve
>
> Yes, I applied the AP_DEBUG patch.
>
> Regards,
>
> Jie
>
> * Steve Hay <st...@googlemail.com> wrote:
>
>> Date: Tue, 14 Apr 2015 08:32:29 +0100
>> From: Steve Hay <st...@googlemail.com>
>> To: Jie Gao <J....@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> That's great news! Was that with the AP_DEBUG patch to
>> lib/Apache2/Build.pm that I posted last time, or did it just work
>> without that anyway?
>>
>> On 14 April 2015 at 05:13, Jie Gao <J....@sydney.edu.au> wrote:
>> > Hi Steve
>> >
>> > I got the src from trunk again and rebuilt httpd with
>> > "--enable-maintainer-mode", just as you requested, and "make test"
>> > passed with my module!
>> >
>> > Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
>> > commented out this time for some reason.
>> >
>> > Still had this when running make test with mod_perl:
>> >
>> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >
>> > Thanks very much for your help!
>> >
>> >
>> > Regards,
>> >
>> > Jie
>> >
>> > * Steve Hay <st...@googlemail.com> wrote:
>> >
>> >> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> >> From: Steve Hay <st...@googlemail.com>
>> >> To: Jie Gao <J....@sydney.edu.au>
>> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >>  <de...@perl.apache.org>
>> >> Subject: Re: Trunk: APR.so won't load
>> >>
>> >> Thanks for the extra information.
>> >>
>> >> I think the build with --enable-maintainer-mode succeeded simply
>> >> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> >> probably not related.
>> >>
>> >> It would be nice to allow building mod_perl with a httpd built with
>> >> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> >> simply need to remove -DAP_DEBUG from the build flags.
>> >>
>> >> So please could you try rebuilding again using a clean mod_perl source
>> >> tree (i.e. revert the ap_strchr change) but with the patch below
>> >> applied to it, and using an --enable-maintainer-mode httpd?
>> >>
>> >> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> >> I do not know what the problem is there) and I wouldn't expect the two
>> >> test failures to go away either, but I'm hopeful that this build might
>> >> at least work.
>> >>
>> >> Index: lib/Apache2/Build.pm
>> >> ===================================================================
>> >> --- lib/Apache2/Build.pm        (revision 1673126)
>> >> +++ lib/Apache2/Build.pm        (working copy)
>> >> @@ -616,6 +616,9 @@
>> >>      my $extra_cppflags = $self->apxs_extra_cppflags;
>> >>      $ccopts .= " " . $extra_cppflags;
>> >>
>> >> +    # Make sure the evil AP_DEBUG is not defined when building mod_perl
>> >> +    $ccopts =~ s/ ?-DAP_DEBUG\b//;
>> >> +
>> >>      $ccopts;
>> >>  }
>> >>
>> >>
>> >> On 13 April 2015 at 03:37, Jie Gao <J....@sydney.edu.au> wrote:
>> >> > Hi Steve
>> >> >
>> >> > I took some time to look further into this problem:
>> >> >
>> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >> >
>> >> > and I found that the apache build process does not allow
>> >> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> >> > httpd.conf.
>> >> >
>> >> > Uncommenting that line made this problem go away.
>> >> >
>> >> > At the end of the process (with Apache built without
>> >> > "--enable-maintainer-mode", and with ap_strchr replaced with
>> >> > strchr, which you suggested (but may not be necessary here without
>> >> > "--enable-maintainer-mode", I could load my modules successfully.
>> >> >
>> >> > There were still some errors when running "make test" for mod_perl:
>> >> >
>> >> >
>> >> > ...
>> >> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
>> >> > ...
>> >> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >> >
>> >> > Here is some more info:
>> >> >
>> >> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
>> >> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
>> >> > [warning] setting ulimit to allow core files
>> >> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
>> >> > /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
>> >> > using Apache/2.4.12 (worker MPM)
>> >> >
>> >> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
>> >> > ...
>> >> > waiting 300 seconds for server to start: ok (waited 2 secs)
>> >> > server localhost:8529 started
>> >> > server localhost:8530 listening (filter_out_apache)
>> >> > server localhost:8531 listening (perlsections)
>> >> > server localhost:8532 listening (inherit)
>> >> > server localhost:8533 listening (TestModperl::perl_options2)
>> >> > server localhost:8534 listening (TestModperl::perl_options)
>> >> > server localhost:8535 listening (TestModperl::setupenv)
>> >> > server localhost:8536 listening (TestModperl::merge)
>> >> > server localhost:8537 listening (TestUser::rewrite)
>> >> > server localhost:8538 listening (TestModules::proxy)
>> >> > server localhost:8539 listening (TestVhost::config)
>> >> > server localhost:8540 listening (TestVhost::log)
>> >> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
>> >> > server localhost:8542 listening (TestProtocol::eliza)
>> >> > server localhost:8543 listening (TestProtocol::echo_nonblock)
>> >> > server localhost:8544 listening (TestProtocol::echo_block)
>> >> > server localhost:8545 listening (TestProtocol::echo_timeout)
>> >> > server localhost:8546 listening (TestProtocol::echo_bbs2)
>> >> > server localhost:8547 listening (TestProtocol::pseudo_http)
>> >> > server localhost:8548 listening (TestProtocol::echo_filter)
>> >> > server localhost:8549 listening (TestProtocol::echo_bbs)
>> >> > server localhost:8550 listening (TestPreConnection::note)
>> >> > server localhost:8551 listening (TestHooks::startup)
>> >> > server localhost:8552 listening (TestHooks::hookrun)
>> >> > server localhost:8553 listening (TestHooks::trans)
>> >> > server localhost:8554 listening (TestHooks::stacked_handlers2)
>> >> > server localhost:8555 listening (TestHooks::init)
>> >> > server localhost:8556 listening (TestFilter::both_str_con_add)
>> >> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
>> >> > server localhost:8558 listening (TestFilter::in_str_msg)
>> >> > server localhost:8559 listening (TestFilter::in_bbs_msg)
>> >> > server localhost:8560 listening (TestDirective::perlrequire)
>> >> > server localhost:8561 listening (TestDirective::perlmodule)
>> >> > server localhost:8562 listening (TestPerl::ithreads)
>> >> > server localhost:8563 listening (TestPerl::ithreads3)
>> >> > server localhost:8564 listening (TestDirective::perlloadmodule3)
>> >> > server localhost:8565 listening (TestDirective::perlloadmodule5)
>> >> > server localhost:8566 listening (TestDirective::perlloadmodule4)
>> >> > server localhost:8567 listening (TestAPI::add_config)
>> >> > server localhost:8568 listening (TestDirective::perlloadmodule6)
>> >> > server localhost:8569 listening (TestHooks::push_handlers_anon)
>> >> > t/hooks/authen_digest.t ..
>> >> > 1..7
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:20 2015
>> >> > # Current time GMT:   Mon Apr 13 02:28:20 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # testing : handler returned HTTP_OK
>> >> > # expected: 200
>> >> > # received: '200'
>> >> > ok 1
>> >> > # response had no WWW-Authenticate header
>> >> > ok 2
>> >> > # testing : handler returned HTTP_UNAUTHORIZED
>> >> > # expected: 401
>> >> > # received: '401'
>> >> > ok 3
>> >> > # response had a WWW-Authenticate header
>> >> > not ok 4
>> >> > # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # testing : response is using Digest authentication scheme
>> >> > # expected: qr/^Digest/
>> >> > # received: undef
>> >> > not ok 5
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # testing : WWW-Authenticate header contains the proper realm
>> >> > # expected: qr/realm="Simple Digest"/
>> >> > # received: undef
>> >> > not ok 6
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # testing : WWW-Authenticate header contains a nonce
>> >> > # expected: qr/nonce="/
>> >> > # received: undef
>> >> > not ok 7
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > Failed 4/7 subtests
>> >> > t/perl/ithreads3.t .......
>> >> > 1..6
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:21 2015
>> >> > # Current time GMT:   Mon Apr 13 02:28:21 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # connecting to http://localhost:8563/
>> >> > # testing : perl-script 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 1
>> >> > # testing : modperl 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 2
>> >> > # testing : perl-script 2
>> >> > # expected: 5
>> >> > # received: '2'
>> >> > not ok 3
>> >> > # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # testing : modperl 2
>> >> > # expected: 5
>> >> > # received: '3'
>> >> > not ok 4
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # testing : perl-script 3
>> >> > # expected: 3
>> >> > # received: '2'
>> >> > not ok 5
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > # testing : modperl 3
>> >> > # expected: 3
>> >> > # received: '3'
>> >> > ok 6
>> >> > Failed 3/6 subtests
>> >> >
>> >> > Test Summary Report
>> >> > -------------------
>> >> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>> >> >   Failed tests:  4-7
>> >> > t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
>> >> >   Failed tests:  3-5
>> >> > Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
>> >> > Result: FAIL
>> >> > Failed 2/2 test programs. 7/13 subtests failed.
>> >> > [warning] server localhost:8529 shutdown
>> >> > [warning] port 8529 still in use...
>> >> > ...done
>> >> > [  error] error running tests (please examine t/logs/error_log)
>> >> >
>> >> > # cat less t/logs/error_log
>> >> > ********************************************************************************
>> >> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> > *** Following a line consisting only of * characters there should be a line  ***
>> >> > *** containing                                                               ***
>> >> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> > *** The next line should then read                                           ***
>> >> > ***     "done with server_shutdown_cleanup_register"                         ***
>> >> > ********************************************************************************
>> >> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> > *** done with server_shutdown_cleanup_register                               ***
>> >> > ********************************************************************************
>> >> > END in modperl_extra.pl, pid=25085
>> >> > END in modperl_extra.pl, pid=25085
>> >> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
>> >> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
>> >> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
>> >> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
>> >> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
>> >> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
>> >> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
>> >> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
>> >> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
>> >> > END in modperl_extra.pl, pid=25093
>> >> > END in modperl_extra.pl, pid=25093
>> >> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
>> >> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
>> >> > ********************************************************************************
>> >> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> > *** Following a line consisting only of * characters there should be a line  ***
>> >> > *** containing                                                               ***
>> >> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> > *** The next line should then read                                           ***
>> >> > ***     "done with server_shutdown_cleanup_register"                         ***
>> >> > ********************************************************************************
>> >> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> > *** done with server_shutdown_cleanup_register                               ***
>> >> > ********************************************************************************
>> >> > END in modperl_extra.pl, pid=25089
>> >> > END in modperl_extra.pl, pid=25089
>> >> >
>> >> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>> >> >
>> >> >
>> >> >
>> >> > Regards,
>> >> >
>> >> >
>> >> > Jie
>> >> >
>> >> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >> >
>> >> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> >> >> From: Jie Gao <J....@sydney.edu.au>
>> >> >> To: Steve Hay <st...@googlemail.com>
>> >> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >>  <de...@perl.apache.org>
>> >> >> Subject: Re: Trunk: APR.so won't load
>> >> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> >>
>> >> >> Hi Steve
>> >> >>
>> >> >> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
>> >> >> strchr before recompiling.  I still got the same error message after that.
>> >> >>
>> >> >> I re-compiled apache without enabling the maintainer mode:
>> >> >>
>> >> >> ---
>> >> >> CC="gcc"; export CC
>> >> >> CFLAGS="-Wall -O3"; export CFLAGS
>> >> >> "./configure" \
>> >> >> "--prefix=/usr/local/httpd-2.4.12" \
>> >> >> "--with-included-apr" \
>> >> >> "--with-mpm=worker" \
>> >> >> "--enable-auth-digest" \
>> >> >> "--enable-dav" \
>> >> >> "--enable-expires" \
>> >> >> "--enable-headers" \
>> >> >> "--enable-proxy-html" \
>> >> >> "--enable-xml2enc" \
>> >> >> "--enable-info" \
>> >> >> "--enable-mime-magic" \
>> >> >> "--enable-nonportable-atomics" \
>> >> >> "--enable-proxy" \
>> >> >> "--enable-proxy-balancer" \
>> >> >> "--enable-proxy-http" \
>> >> >> "--enable-rewrite" \
>> >> >> "--enable-so" \
>> >> >> "--enable-ssl" \
>> >> >> "--enable-unique-id" \
>> >> >> "--enable-vhost-alias" \
>> >> >> "--enable-modules=most" \
>> >> >> "--enable-mods-shared=most" \
>> >> >> "--enable-lbmethod-byrequests" \
>> >> >> "--enable-lbmethod-bytraffic" \
>> >> >> "--enable-lbmethod-bybusyness" \
>> >> >> "--enable-lbmethod-heartbeat" \
>> >> >> "--enable-heartmonitor" \
>> >> >> "--enable-watchdog" \
>> >> >> "--enable-ratelimit" \
>> >> >> "--enable-ext-filter" \
>> >> >> "--enable-request" \
>> >> >> "CC=gcc" \
>> >> >> "CFLAGS=-Wall -O3" \
>> >> >> "$@"
>> >> >> ---
>> >> >>
>> >> >> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
>> >> >>
>> >> >> ---
>> >> >> [warning] setting ulimit to allow core files
>> >> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
>> >> >> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
>> >> >>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
>> >> >>         t/TEST -bugreport -verbose=0
>> >> >> [warning] setting ulimit to allow core files
>> >> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
>> >> >> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
>> >> >> using Apache/2.4.12 (worker MPM)
>> >> >>
>> >> >> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> >> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
>> >> >> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
>> >> >> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
>> >> >> .............................................................................................................................................................................................................................................................................................................
>> >> >> waiting 300 seconds for server to start: not ok
>> >> >> [  error] giving up after 301 secs. If you think that your system
>> >> >> is slow or overloaded try again with a longer timeout value.
>> >> >> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
>> >> >> to a high value (e.g. 600) and repeat the last command.
>> >> >>
>> >> >> [  error] server failed to start! (please examine t/logs/error_log)
>> >> >> +--------------------------------------------------------+
>> >> >> | Please file a bug report: http://perl.apache.org/bugs/ |
>> >> >> +--------------------------------------------------------+
>> >> >> make: *** [run_tests] Error 1
>> >> >> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
>> >> >> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
>> >> >> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
>> >> >> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
>> >> >> ********************************************************************************
>> >> >> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> >> *** Following a line consisting only of * characters there should be a line  ***
>> >> >> *** containing                                                               ***
>> >> >> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> >> *** The next line should then read                                           ***
>> >> >> ***     "done with server_shutdown_cleanup_register"                         ***
>> >> >> ********************************************************************************
>> >> >> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> >> *** done with server_shutdown_cleanup_register                               ***
>> >> >> ********************************************************************************
>> >> >> END in modperl_extra.pl, pid=19848
>> >> >> END in modperl_extra.pl, pid=19848
>> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >> >> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
>> >> >> ---
>> >> >>
>> >> >> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> Regards,
>> >> >>
>> >> >> Jie
>> >> >>
>> >> >> * Steve Hay <st...@googlemail.com> wrote:
>> >> >>
>> >> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> >> >> > From: Steve Hay <st...@googlemail.com>
>> >> >> > To: Jie Gao <J....@sydney.edu.au>
>> >> >> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >> >  <de...@perl.apache.org>
>> >> >> > Subject: Re: Trunk: APR.so won't load
>> >> >> >
>> >> >> > Actually, I don't think there is anything stopping -DAP_DEBUG from
>> >> >> > coming through from the httpd config. The change that was made
>> >> >> > (r357052) just stopped mod_perl from adding that itself when
>> >> >> > MP_MAINTAINER is specified.
>> >> >> >
>> >> >> > But maybe we do need to filter out -DAP_DEBUG?
>> >> >> > Or else stop using ap_strchr() and just use strchr() directly?
>> >> >> >
>> >> >> > Could you try the latter, since it seems like an easy fix? -- Change
>> >> >> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
>> >> >> > to be strchr() instead and then rebuild. Does that make the problem go
>> >> >> > away?
>> >> >> >
>> >> >> >
>> >> >> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
>> >> >> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
>> >> >> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>> >> >> > >
>> >> >> > > I think that symbol is not supposed to find its way into the mod_perl
>> >> >> > > build options, but it's obviously getting picked up somewhere and
>> >> >> > > slipping through...
>> >> >> > >
>> >> >> > >
>> >> >> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
>> >> >> > >> Hi Steve
>> >> >> > >>
>> >> >> > >> httpd is configured with "--enable-maintainer-mode".
>> >> >> > >>
>> >> >> > >> For mod_perl:
>> >> >> > >>
>> >> >> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>> >> >> > >>
>> >> >> > >> and I found the following line in the resultant Makefile:
>> >> >> > >>
>> >> >> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>> >> >> > >>
>> >> >> > >>
>> >> >> > >>
>> >> >> > >> Regards,
>> >> >> > >>
>> >> >> > >> Jie
>> >> >> > >>
>> >> >> > >> * Steve Hay <st...@googlemail.com> wrote:
>> >> >> > >>
>> >> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> >> >> > >>> From: Steve Hay <st...@googlemail.com>
>> >> >> > >>> To: Jie Gao <J....@sydney.edu.au>
>> >> >> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >> > >>>  <de...@perl.apache.org>
>> >> >> > >>> Subject: Re: Trunk: APR.so won't load
>> >> >> > >>>
>> >> >> > >>> Sorry for the slow reply.
>> >> >> > >>>
>> >> >> > >>> I cannot reproduce the problem here on Windows. Your example module
>> >> >> > >>> loads up fine with all the "use APR" lines uncommented.
>> >> >> > >>>
>> >> >> > >>> The build system (and the means by which APR::* should be loadable
>> >> >> > >>> without mod_perl.so being loaded) is different on Windows, but I did
>> >> >> > >>> notice this:
>> >> >> > >>>
>> >> >> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> >> >> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
>> >> >> > >>> gets changed to strchr, and the latter is simply imported from the C
>> >> >> > >>> run-time library.
>> >> >> > >>>
>> >> >> > >>> I guess that's down to this code in httpd.h:
>> >> >> > >>>
>> >> >> > >>> #ifdef AP_DEBUG
>> >> >> > >>>
>> >> >> > >>> #undef strchr
>> >> >> > >>> # define strchr(s, c)  ap_strchr(s,c)
>> >> >> > >>> #undef strrchr
>> >> >> > >>> # define strrchr(s, c) ap_strrchr(s,c)
>> >> >> > >>> #undef strstr
>> >> >> > >>> # define strstr(s, c)  ap_strstr(s,c)
>> >> >> > >>>
>> >> >> > >>> #else
>> >> >> > >>>
>> >> >> > >>> /** use this instead of strchr */
>> >> >> > >>> # define ap_strchr(s, c)     strchr(s, c)
>> >> >> > >>> /** use this instead of strchr */
>> >> >> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
>> >> >> > >>> /** use this instead of strrchr */
>> >> >> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
>> >> >> > >>> /** use this instead of strrchr */
>> >> >> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> >> >> > >>> /** use this instead of strrstr*/
>> >> >> > >>> # define ap_strstr(s, c)     strstr(s, c)
>> >> >> > >>> /** use this instead of strrstr*/
>> >> >> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
>> >> >> > >>>
>> >> >> > >>> #endif
>> >> >> > >>>
>> >> >> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
>> >> >> > >>> it was a debug build).
>> >> >> > >>>
>> >> >> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> >> >> > >>> according to an old Changes entry:
>> >> >> > >>>
>> >> >> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> >> >> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>> >> >> > >>>
>> >> >> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> >> >> > >>> replacement of ap_strchr with strchr to not happen for you?
>> >> >> > >>>
>> >> >> > >>>
>> >> >> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>> >> >> > >>> > Hi All
>> >> >> > >>> >
>> >> >> > >>> > I had some more time looking into this, and here's some info I can provide.
>> >> >> > >>> >
>> >> >> > >>> > --------------------------------------------------------------------------
>> >> >> > >>> >
>> >> >> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> >> >> > >>> > ELF Header:
>> >> >> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> >> >> > >>> >   Class:                             ELF64
>> >> >> > >>> >   Data:                              2's complement, little endian
>> >> >> > >>> >   Version:                           1 (current)
>> >> >> > >>> >   OS/ABI:                            UNIX - System V
>> >> >> > >>> >   ABI Version:                       0
>> >> >> > >>> >   Type:                              DYN (Shared object file)
>> >> >> > >>> >   Machine:                           Advanced Micro Devices X86-64
>> >> >> > >>> >   Version:                           0x1
>> >> >> > >>> >   Entry point address:               0x1cb0
>> >> >> > >>> >   Start of program headers:          64 (bytes into file)
>> >> >> > >>> >   Start of section headers:          15480 (bytes into file)
>> >> >> > >>> >   Flags:                             0x0
>> >> >> > >>> >   Size of this header:               64 (bytes)
>> >> >> > >>> >   Size of program headers:           56 (bytes)
>> >> >> > >>> >   Number of program headers:         6
>> >> >> > >>> >   Size of section headers:           64 (bytes)
>> >> >> > >>> >   Number of section headers:         29
>> >> >> > >>> >   Section header string table index: 26
>> >> >> > >>> >
>> >> >> > >>> > Section Headers:
>> >> >> > >>> >   [Nr] Name              Type             Address           Offset
>> >> >> > >>> >        Size              EntSize          Flags  Link  Info  Align
>> >> >> > >>> >   [ 0]                   NULL             0000000000000000  00000000
>> >> >> > >>> >        0000000000000000  0000000000000000           0     0     0
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
>> >> >> > >>> >   Tag        Type                         Name/Value
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>> >> >> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>> >> >> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>> >> >> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>> >> >> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>> >> >> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>> >> >> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>> >> >> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>> >> >> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>> >> >> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>> >> >> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Symbol table '.dynsym' contains 86 entries:
>> >> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> >> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>> >> >> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>> >> >> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>> >> >> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>> >> >> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>> >> >> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>> >> >> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>> >> >> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>> >> >> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > Symbol table '.symtab' contains 143 entries:
>> >> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> >> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > [ Lines removed for clarity ]
>> >> >> > >>> >
>> >> >> > >>> > --------------------------------------------------------------------------
>> >> >> > >>> >
>> >> >> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>> >> >> > >>> > any of the shared libs. This seems to create the problem when building
>> >> >> > >>> > a module with mod_perl or outside the mod_perl source.
>> >> >> > >>> >
>> >> >> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
>> >> >> > >>> >
>> >> >> > >>> > bug reports generating code: [Stas]
>> >> >> > >>> > - add (apr|apu)-config linking info
>> >> >> > >>> > - show the full path to the config file used to get the data for the
>> >> >> > >>> >   report
>> >> >> > >>> >
>> >> >> > >>> > The APR and APR::* family of modules can now be used without having
>> >> >> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>> >> >> > >>> > functions from the appropriate sources used to build mod_perl.so
>> >> >> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>> >> >> > >>> > a static library of needed functions is built, and APR/APR::*
>> >> >> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > I hope this helps resolve this issue in any way.
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> >
>> >> >> > >>> > Regards,
>> >> >> > >>> >
>> >> >> > >>> > Jie
>> >> >> > >>> >
>> >> >> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >> >> > >>> >
>> >> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> >> > >>> >> From: Jie Gao <J....@sydney.edu.au>
>> >> >> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >> > >>> >>  <de...@perl.apache.org>
>> >> >> > >>> >> Subject: Trunk: APR.so won't load
>> >> >> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> >> > >>> >>
>> >> >> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
>> >> >> > >>> >> a threading issue, but I installed it anyway.
>> >> >> > >>> >>
>> >> >> > >>> >> Tried to load a test module, but it fails with the following error:
>> >> >> > >>> >>
>> >> >> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> >> >> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>> >> >> > >>> >>
>> >> >> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>> >> >> > >>> >>
>> >> >> > >>> >> #-------------------------------------------------------------------------
>> >> >> > >>> >>
>> >> >> > >>> >> package mytest::mytestmodule;
>> >> >> > >>> >>
>> >> >> > >>> >> use 5.010001;
>> >> >> > >>> >> use strict;
>> >> >> > >>> >> use warnings;
>> >> >> > >>> >> use Carp;
>> >> >> > >>> >> $SIG{__DIE__} = \&Carp::confess;
>> >> >> > >>> >>
>> >> >> > >>> >> use mod_perl2;
>> >> >> > >>> >> use Apache2::Connection();
>> >> >> > >>> >> use Apache2::RequestRec();
>> >> >> > >>> >> use Apache2::SubRequest();
>> >> >> > >>> >> use Apache2::Access();
>> >> >> > >>> >> use Apache2::RequestUtil();
>> >> >> > >>> >> use Apache2::Response();
>> >> >> > >>> >> use Apache2::Log();
>> >> >> > >>> >> use Apache2::Util();
>> >> >> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> >> >> > >>> >> use Apache2::URI();
>> >> >> > >>> >> use Apache2::Filter ();
>> >> >> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> >> >> > >>> >> use IO::Socket qw(SOCK_STREAM);
>> >> >> > >>> >> use Data::Dumper;
>> >> >> > >>> >> use AnyDBM_File ();
>> >> >> > >>> >> #use APR::Brigade ();
>> >> >> > >>> >> #use APR::Bucket ();
>> >> >> > >>> >> #use APR::Base64 ();
>> >> >> > >>> >> #use APR::Table ();
>> >> >> > >>> >> #use APR::URI ();
>> >> >> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> >> >> > >>> >> #use Apache2::MPM();
>> >> >> > >>> >>
>> >> >> > >>> >> our $VERSION = '1.0.1';
>> >> >> > >>> >>
>> >> >> > >>> >> 1;
>> >> >> > >>> >> __END__
>> >> >> > >>> >>
>> >> >> > >>> >> #-------------------------------------------------------------------------
>> >> >> > >>> >>
>> >> >> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
>> >> >> > >>> >> 1. Problem Description:
>> >> >> > >>> >>
>> >> >> > >>> >>   [DESCRIBE THE PROBLEM HERE]
>> >> >> > >>> >>
>> >> >> > >>> >> 2. Used Components and their Configuration:
>> >> >> > >>> >>
>> >> >> > >>> >> *** mod_perl version 2.000009
>> >> >> > >>> >>
>> >> >> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>> >> >> > >>> >>
>> >> >> > >>> >> *** Makefile.PL options:
>> >> >> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>> >> >> > >>> >>   MP_APR_LIB     => aprext
>> >> >> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>> >> >> > >>> >>   MP_COMPAT_1X   => 1
>> >> >> > >>> >>   MP_GENERATE_XS => 1
>> >> >> > >>> >>   MP_LIBNAME     => mod_perl
>> >> >> > >>> >>   MP_USE_DSO     => 1
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> >> >> > >>> >> Server version: Apache/2.4.12 (Unix)
>> >> >> > >>> >> Server built:   Feb 27 2015 20:05:23
>> >> >> > >>> >> Server's Module Magic Number: 20120211:41
>> >> >> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> >> >> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> >> >> > >>> >> Architecture:   64-bit
>> >> >> > >>> >> Server MPM:     worker
>> >> >> > >>> >>   threaded:     yes (fixed thread count)
>> >> >> > >>> >>     forked:     yes (variable process count)
>> >> >> > >>> >> Server compiled with....
>> >> >> > >>> >>  -D APR_HAS_SENDFILE
>> >> >> > >>> >>  -D APR_HAS_MMAP
>> >> >> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> >> >> > >>> >>  -D APR_USE_SYSVSEM_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=256
>> >> >> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>> >> >> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>> >> >> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>> >> >> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>> >> >> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>> >> >> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>> >> >> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>> >> >> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>> >> >> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>> >> >> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>> >> >> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>> >> >> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>> >> >> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>> >> >> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** (apr|apu)-config linking info
>> >> >> > >>> >>
>> >> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>> >> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> *** /usr/local/bin/perl -V
>> >> >> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>> >> >> > >>> >>
>> >> >> > >>> >>   Platform:
>> >> >> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>> >> >> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>> >> >> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>> >> >> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
>> >> >> > >>> >>     useithreads=define, usemultiplicity=define
>> >> >> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>> >> >> > >>> >>     usemymalloc=n, bincompat5005=undef
>> >> >> > >>> >>   Compiler:
>> >> >> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>> >> >> > >>> >>     optimize='-O2',
>> >> >> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>> >> >> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>> >> >> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>> >> >> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> >> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> >> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>> >> >> > >>> >>     gnulibc_version='2.12'
>> >> >> > >>> >>   Dynamic Linking:
>> >> >> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>> >> >> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> Characteristics of this binary (from libperl):
>> >> >> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> >> >> > >>> >>                         PERL_DONT_CREATE_GVSV
>> >> >> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> >> >> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> >> >> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> >> >> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>> >> >> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>> >> >> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>> >> >> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>> >> >> > >>> >>   Built under linux
>> >> >> > >>> >>   Compiled at Feb 25 2015 15:58:55
>> >> >> > >>> >>   %ENV:
>> >> >> > >>> >>     PERL_LWP_USE_HTTP_10="1"
>> >> >> > >>> >>   @INC:
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>> >> >> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>> >> >> > >>> >>     /usr/local/lib/perl5/5.20.2
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>> >> >> > >>> >>     /usr/local/lib/perl5/site_perl
>> >> >> > >>> >>     .
>> >> >> > >>> >>
>> >> >> > >>> >> *** Packages of interest status:
>> >> >> > >>> >>
>> >> >> > >>> >> Apache2            : -
>> >> >> > >>> >> Apache2::Request   : -
>> >> >> > >>> >> CGI                : 3.65
>> >> >> > >>> >> ExtUtils::MakeMaker: 6.98
>> >> >> > >>> >> LWP                : 5.837
>> >> >> > >>> >> mod_perl           : -
>> >> >> > >>> >> mod_perl2          : 2.000009
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>> >> >> > >>> >>
>> >> >> > >>> >> -------------8<---------- End Bug Report --------------8<----------
>> >> >> > >>> >>
>> >> >> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>> >> >> > >>> >> total 4108
>> >> >> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> >> >> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> >> >> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> >> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> >> >> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> >> >> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> >> >> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> >> >> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> >> >> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> >> >> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> >> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> >> >> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> >> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> Regards,
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >> Jie.
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>

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


Re: Trunk: APR.so won't load

Posted by Jie Gao <J....@sydney.edu.au>.
Hi Steve

Yes, I applied the AP_DEBUG patch.

Regards,

Jie 

* Steve Hay <st...@googlemail.com> wrote:

> Date: Tue, 14 Apr 2015 08:32:29 +0100
> From: Steve Hay <st...@googlemail.com>
> To: Jie Gao <J....@sydney.edu.au>
> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>  <de...@perl.apache.org>
> Subject: Re: Trunk: APR.so won't load
> 
> That's great news! Was that with the AP_DEBUG patch to
> lib/Apache2/Build.pm that I posted last time, or did it just work
> without that anyway?
> 
> On 14 April 2015 at 05:13, Jie Gao <J....@sydney.edu.au> wrote:
> > Hi Steve
> >
> > I got the src from trunk again and rebuilt httpd with
> > "--enable-maintainer-mode", just as you requested, and "make test"
> > passed with my module!
> >
> > Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
> > commented out this time for some reason.
> >
> > Still had this when running make test with mod_perl:
> >
> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
> > # Failed test 4 in t/perl/ithreads3.t at line 33
> > # Failed test 5 in t/perl/ithreads3.t at line 35
> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
> >
> > Thanks very much for your help!
> >
> >
> > Regards,
> >
> > Jie
> >
> > * Steve Hay <st...@googlemail.com> wrote:
> >
> >> Date: Mon, 13 Apr 2015 09:18:50 +0100
> >> From: Steve Hay <st...@googlemail.com>
> >> To: Jie Gao <J....@sydney.edu.au>
> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >>  <de...@perl.apache.org>
> >> Subject: Re: Trunk: APR.so won't load
> >>
> >> Thanks for the extra information.
> >>
> >> I think the build with --enable-maintainer-mode succeeded simply
> >> because it doesn't include -DAP_DEBUG; the ap_strchr change was
> >> probably not related.
> >>
> >> It would be nice to allow building mod_perl with a httpd built with
> >> --enable-maintainer-mode, and in the light of Joe's comment I think we
> >> simply need to remove -DAP_DEBUG from the build flags.
> >>
> >> So please could you try rebuilding again using a clean mod_perl source
> >> tree (i.e. revert the ap_strchr change) but with the patch below
> >> applied to it, and using an --enable-maintainer-mode httpd?
> >>
> >> You may still have to fiddle with slotmem_shm_module as before (sorry,
> >> I do not know what the problem is there) and I wouldn't expect the two
> >> test failures to go away either, but I'm hopeful that this build might
> >> at least work.
> >>
> >> Index: lib/Apache2/Build.pm
> >> ===================================================================
> >> --- lib/Apache2/Build.pm        (revision 1673126)
> >> +++ lib/Apache2/Build.pm        (working copy)
> >> @@ -616,6 +616,9 @@
> >>      my $extra_cppflags = $self->apxs_extra_cppflags;
> >>      $ccopts .= " " . $extra_cppflags;
> >>
> >> +    # Make sure the evil AP_DEBUG is not defined when building mod_perl
> >> +    $ccopts =~ s/ ?-DAP_DEBUG\b//;
> >> +
> >>      $ccopts;
> >>  }
> >>
> >>
> >> On 13 April 2015 at 03:37, Jie Gao <J....@sydney.edu.au> wrote:
> >> > Hi Steve
> >> >
> >> > I took some time to look further into this problem:
> >> >
> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
> >> >
> >> > and I found that the apache build process does not allow
> >> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
> >> > httpd.conf.
> >> >
> >> > Uncommenting that line made this problem go away.
> >> >
> >> > At the end of the process (with Apache built without
> >> > "--enable-maintainer-mode", and with ap_strchr replaced with
> >> > strchr, which you suggested (but may not be necessary here without
> >> > "--enable-maintainer-mode", I could load my modules successfully.
> >> >
> >> > There were still some errors when running "make test" for mod_perl:
> >> >
> >> >
> >> > ...
> >> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
> >> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
> >> > ...
> >> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
> >> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
> >> >
> >> > Here is some more info:
> >> >
> >> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
> >> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
> >> > [warning] setting ulimit to allow core files
> >> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
> >> > /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
> >> > using Apache/2.4.12 (worker MPM)
> >> >
> >> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
> >> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
> >> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
> >> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
> >> > ...
> >> > waiting 300 seconds for server to start: ok (waited 2 secs)
> >> > server localhost:8529 started
> >> > server localhost:8530 listening (filter_out_apache)
> >> > server localhost:8531 listening (perlsections)
> >> > server localhost:8532 listening (inherit)
> >> > server localhost:8533 listening (TestModperl::perl_options2)
> >> > server localhost:8534 listening (TestModperl::perl_options)
> >> > server localhost:8535 listening (TestModperl::setupenv)
> >> > server localhost:8536 listening (TestModperl::merge)
> >> > server localhost:8537 listening (TestUser::rewrite)
> >> > server localhost:8538 listening (TestModules::proxy)
> >> > server localhost:8539 listening (TestVhost::config)
> >> > server localhost:8540 listening (TestVhost::log)
> >> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
> >> > server localhost:8542 listening (TestProtocol::eliza)
> >> > server localhost:8543 listening (TestProtocol::echo_nonblock)
> >> > server localhost:8544 listening (TestProtocol::echo_block)
> >> > server localhost:8545 listening (TestProtocol::echo_timeout)
> >> > server localhost:8546 listening (TestProtocol::echo_bbs2)
> >> > server localhost:8547 listening (TestProtocol::pseudo_http)
> >> > server localhost:8548 listening (TestProtocol::echo_filter)
> >> > server localhost:8549 listening (TestProtocol::echo_bbs)
> >> > server localhost:8550 listening (TestPreConnection::note)
> >> > server localhost:8551 listening (TestHooks::startup)
> >> > server localhost:8552 listening (TestHooks::hookrun)
> >> > server localhost:8553 listening (TestHooks::trans)
> >> > server localhost:8554 listening (TestHooks::stacked_handlers2)
> >> > server localhost:8555 listening (TestHooks::init)
> >> > server localhost:8556 listening (TestFilter::both_str_con_add)
> >> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
> >> > server localhost:8558 listening (TestFilter::in_str_msg)
> >> > server localhost:8559 listening (TestFilter::in_bbs_msg)
> >> > server localhost:8560 listening (TestDirective::perlrequire)
> >> > server localhost:8561 listening (TestDirective::perlmodule)
> >> > server localhost:8562 listening (TestPerl::ithreads)
> >> > server localhost:8563 listening (TestPerl::ithreads3)
> >> > server localhost:8564 listening (TestDirective::perlloadmodule3)
> >> > server localhost:8565 listening (TestDirective::perlloadmodule5)
> >> > server localhost:8566 listening (TestDirective::perlloadmodule4)
> >> > server localhost:8567 listening (TestAPI::add_config)
> >> > server localhost:8568 listening (TestDirective::perlloadmodule6)
> >> > server localhost:8569 listening (TestHooks::push_handlers_anon)
> >> > t/hooks/authen_digest.t ..
> >> > 1..7
> >> > # Running under perl version 5.020002 for linux
> >> > # Current time local: Mon Apr 13 12:28:20 2015
> >> > # Current time GMT:   Mon Apr 13 02:28:20 2015
> >> > # Using Test.pm version 1.26
> >> > # Using Apache/Test.pm version 1.38
> >> > # testing : handler returned HTTP_OK
> >> > # expected: 200
> >> > # received: '200'
> >> > ok 1
> >> > # response had no WWW-Authenticate header
> >> > ok 2
> >> > # testing : handler returned HTTP_UNAUTHORIZED
> >> > # expected: 401
> >> > # received: '401'
> >> > ok 3
> >> > # response had a WWW-Authenticate header
> >> > not ok 4
> >> > # Failed test 4 in t/hooks/authen_digest.t at line 36
> >> > # testing : response is using Digest authentication scheme
> >> > # expected: qr/^Digest/
> >> > # received: undef
> >> > not ok 5
> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
> >> > # testing : WWW-Authenticate header contains the proper realm
> >> > # expected: qr/realm="Simple Digest"/
> >> > # received: undef
> >> > not ok 6
> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
> >> > # testing : WWW-Authenticate header contains a nonce
> >> > # expected: qr/nonce="/
> >> > # received: undef
> >> > not ok 7
> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
> >> > Failed 4/7 subtests
> >> > t/perl/ithreads3.t .......
> >> > 1..6
> >> > # Running under perl version 5.020002 for linux
> >> > # Current time local: Mon Apr 13 12:28:21 2015
> >> > # Current time GMT:   Mon Apr 13 02:28:21 2015
> >> > # Using Test.pm version 1.26
> >> > # Using Apache/Test.pm version 1.38
> >> > # connecting to http://localhost:8563/
> >> > # testing : perl-script 1
> >> > # expected: 2
> >> > # received: '2'
> >> > ok 1
> >> > # testing : modperl 1
> >> > # expected: 2
> >> > # received: '2'
> >> > ok 2
> >> > # testing : perl-script 2
> >> > # expected: 5
> >> > # received: '2'
> >> > not ok 3
> >> > # Failed test 3 in t/perl/ithreads3.t at line 32
> >> > # testing : modperl 2
> >> > # expected: 5
> >> > # received: '3'
> >> > not ok 4
> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
> >> > # testing : perl-script 3
> >> > # expected: 3
> >> > # received: '2'
> >> > not ok 5
> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
> >> > # testing : modperl 3
> >> > # expected: 3
> >> > # received: '3'
> >> > ok 6
> >> > Failed 3/6 subtests
> >> >
> >> > Test Summary Report
> >> > -------------------
> >> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
> >> >   Failed tests:  4-7
> >> > t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
> >> >   Failed tests:  3-5
> >> > Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
> >> > Result: FAIL
> >> > Failed 2/2 test programs. 7/13 subtests failed.
> >> > [warning] server localhost:8529 shutdown
> >> > [warning] port 8529 still in use...
> >> > ...done
> >> > [  error] error running tests (please examine t/logs/error_log)
> >> >
> >> > # cat less t/logs/error_log
> >> > ********************************************************************************
> >> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> >> > *** Following a line consisting only of * characters there should be a line  ***
> >> > *** containing                                                               ***
> >> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> >> > *** The next line should then read                                           ***
> >> > ***     "done with server_shutdown_cleanup_register"                         ***
> >> > ********************************************************************************
> >> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> >> > *** done with server_shutdown_cleanup_register                               ***
> >> > ********************************************************************************
> >> > END in modperl_extra.pl, pid=25085
> >> > END in modperl_extra.pl, pid=25085
> >> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
> >> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
> >> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
> >> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
> >> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
> >> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> >> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> >> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> >> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> >> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
> >> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
> >> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> >> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> >> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> >> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
> >> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
> >> > END in modperl_extra.pl, pid=25093
> >> > END in modperl_extra.pl, pid=25093
> >> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
> >> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
> >> > ********************************************************************************
> >> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> >> > *** Following a line consisting only of * characters there should be a line  ***
> >> > *** containing                                                               ***
> >> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> >> > *** The next line should then read                                           ***
> >> > ***     "done with server_shutdown_cleanup_register"                         ***
> >> > ********************************************************************************
> >> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> >> > *** done with server_shutdown_cleanup_register                               ***
> >> > ********************************************************************************
> >> > END in modperl_extra.pl, pid=25089
> >> > END in modperl_extra.pl, pid=25089
> >> >
> >> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
> >> >
> >> >
> >> >
> >> > Regards,
> >> >
> >> >
> >> > Jie
> >> >
> >> > * Jie Gao <J....@sydney.edu.au> wrote:
> >> >
> >> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
> >> >> From: Jie Gao <J....@sydney.edu.au>
> >> >> To: Steve Hay <st...@googlemail.com>
> >> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >> >>  <de...@perl.apache.org>
> >> >> Subject: Re: Trunk: APR.so won't load
> >> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> >> >>
> >> >> Hi Steve
> >> >>
> >> >> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
> >> >> strchr before recompiling.  I still got the same error message after that.
> >> >>
> >> >> I re-compiled apache without enabling the maintainer mode:
> >> >>
> >> >> ---
> >> >> CC="gcc"; export CC
> >> >> CFLAGS="-Wall -O3"; export CFLAGS
> >> >> "./configure" \
> >> >> "--prefix=/usr/local/httpd-2.4.12" \
> >> >> "--with-included-apr" \
> >> >> "--with-mpm=worker" \
> >> >> "--enable-auth-digest" \
> >> >> "--enable-dav" \
> >> >> "--enable-expires" \
> >> >> "--enable-headers" \
> >> >> "--enable-proxy-html" \
> >> >> "--enable-xml2enc" \
> >> >> "--enable-info" \
> >> >> "--enable-mime-magic" \
> >> >> "--enable-nonportable-atomics" \
> >> >> "--enable-proxy" \
> >> >> "--enable-proxy-balancer" \
> >> >> "--enable-proxy-http" \
> >> >> "--enable-rewrite" \
> >> >> "--enable-so" \
> >> >> "--enable-ssl" \
> >> >> "--enable-unique-id" \
> >> >> "--enable-vhost-alias" \
> >> >> "--enable-modules=most" \
> >> >> "--enable-mods-shared=most" \
> >> >> "--enable-lbmethod-byrequests" \
> >> >> "--enable-lbmethod-bytraffic" \
> >> >> "--enable-lbmethod-bybusyness" \
> >> >> "--enable-lbmethod-heartbeat" \
> >> >> "--enable-heartmonitor" \
> >> >> "--enable-watchdog" \
> >> >> "--enable-ratelimit" \
> >> >> "--enable-ext-filter" \
> >> >> "--enable-request" \
> >> >> "CC=gcc" \
> >> >> "CFLAGS=-Wall -O3" \
> >> >> "$@"
> >> >> ---
> >> >>
> >> >> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
> >> >>
> >> >> ---
> >> >> [warning] setting ulimit to allow core files
> >> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
> >> >> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
> >> >>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
> >> >>         t/TEST -bugreport -verbose=0
> >> >> [warning] setting ulimit to allow core files
> >> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
> >> >> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
> >> >> using Apache/2.4.12 (worker MPM)
> >> >>
> >> >> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
> >> >> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
> >> >> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
> >> >> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
> >> >> .............................................................................................................................................................................................................................................................................................................
> >> >> waiting 300 seconds for server to start: not ok
> >> >> [  error] giving up after 301 secs. If you think that your system
> >> >> is slow or overloaded try again with a longer timeout value.
> >> >> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
> >> >> to a high value (e.g. 600) and repeat the last command.
> >> >>
> >> >> [  error] server failed to start! (please examine t/logs/error_log)
> >> >> +--------------------------------------------------------+
> >> >> | Please file a bug report: http://perl.apache.org/bugs/ |
> >> >> +--------------------------------------------------------+
> >> >> make: *** [run_tests] Error 1
> >> >> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
> >> >> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
> >> >> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
> >> >> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
> >> >> ********************************************************************************
> >> >> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> >> >> *** Following a line consisting only of * characters there should be a line  ***
> >> >> *** containing                                                               ***
> >> >> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> >> >> *** The next line should then read                                           ***
> >> >> ***     "done with server_shutdown_cleanup_register"                         ***
> >> >> ********************************************************************************
> >> >> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> >> >> *** done with server_shutdown_cleanup_register                               ***
> >> >> ********************************************************************************
> >> >> END in modperl_extra.pl, pid=19848
> >> >> END in modperl_extra.pl, pid=19848
> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
> >> >> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
> >> >> ---
> >> >>
> >> >> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> Regards,
> >> >>
> >> >> Jie
> >> >>
> >> >> * Steve Hay <st...@googlemail.com> wrote:
> >> >>
> >> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
> >> >> > From: Steve Hay <st...@googlemail.com>
> >> >> > To: Jie Gao <J....@sydney.edu.au>
> >> >> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >> >> >  <de...@perl.apache.org>
> >> >> > Subject: Re: Trunk: APR.so won't load
> >> >> >
> >> >> > Actually, I don't think there is anything stopping -DAP_DEBUG from
> >> >> > coming through from the httpd config. The change that was made
> >> >> > (r357052) just stopped mod_perl from adding that itself when
> >> >> > MP_MAINTAINER is specified.
> >> >> >
> >> >> > But maybe we do need to filter out -DAP_DEBUG?
> >> >> > Or else stop using ap_strchr() and just use strchr() directly?
> >> >> >
> >> >> > Could you try the latter, since it seems like an easy fix? -- Change
> >> >> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
> >> >> > to be strchr() instead and then rebuild. Does that make the problem go
> >> >> > away?
> >> >> >
> >> >> >
> >> >> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
> >> >> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> >> >> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
> >> >> > >
> >> >> > > I think that symbol is not supposed to find its way into the mod_perl
> >> >> > > build options, but it's obviously getting picked up somewhere and
> >> >> > > slipping through...
> >> >> > >
> >> >> > >
> >> >> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
> >> >> > >> Hi Steve
> >> >> > >>
> >> >> > >> httpd is configured with "--enable-maintainer-mode".
> >> >> > >>
> >> >> > >> For mod_perl:
> >> >> > >>
> >> >> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
> >> >> > >>
> >> >> > >> and I found the following line in the resultant Makefile:
> >> >> > >>
> >> >> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
> >> >> > >>
> >> >> > >>
> >> >> > >>
> >> >> > >> Regards,
> >> >> > >>
> >> >> > >> Jie
> >> >> > >>
> >> >> > >> * Steve Hay <st...@googlemail.com> wrote:
> >> >> > >>
> >> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> >> >> > >>> From: Steve Hay <st...@googlemail.com>
> >> >> > >>> To: Jie Gao <J....@sydney.edu.au>
> >> >> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >> >> > >>>  <de...@perl.apache.org>
> >> >> > >>> Subject: Re: Trunk: APR.so won't load
> >> >> > >>>
> >> >> > >>> Sorry for the slow reply.
> >> >> > >>>
> >> >> > >>> I cannot reproduce the problem here on Windows. Your example module
> >> >> > >>> loads up fine with all the "use APR" lines uncommented.
> >> >> > >>>
> >> >> > >>> The build system (and the means by which APR::* should be loadable
> >> >> > >>> without mod_perl.so being loaded) is different on Windows, but I did
> >> >> > >>> notice this:
> >> >> > >>>
> >> >> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> >> >> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
> >> >> > >>> gets changed to strchr, and the latter is simply imported from the C
> >> >> > >>> run-time library.
> >> >> > >>>
> >> >> > >>> I guess that's down to this code in httpd.h:
> >> >> > >>>
> >> >> > >>> #ifdef AP_DEBUG
> >> >> > >>>
> >> >> > >>> #undef strchr
> >> >> > >>> # define strchr(s, c)  ap_strchr(s,c)
> >> >> > >>> #undef strrchr
> >> >> > >>> # define strrchr(s, c) ap_strrchr(s,c)
> >> >> > >>> #undef strstr
> >> >> > >>> # define strstr(s, c)  ap_strstr(s,c)
> >> >> > >>>
> >> >> > >>> #else
> >> >> > >>>
> >> >> > >>> /** use this instead of strchr */
> >> >> > >>> # define ap_strchr(s, c)     strchr(s, c)
> >> >> > >>> /** use this instead of strchr */
> >> >> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
> >> >> > >>> /** use this instead of strrchr */
> >> >> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
> >> >> > >>> /** use this instead of strrchr */
> >> >> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
> >> >> > >>> /** use this instead of strrstr*/
> >> >> > >>> # define ap_strstr(s, c)     strstr(s, c)
> >> >> > >>> /** use this instead of strrstr*/
> >> >> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
> >> >> > >>>
> >> >> > >>> #endif
> >> >> > >>>
> >> >> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
> >> >> > >>> it was a debug build).
> >> >> > >>>
> >> >> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
> >> >> > >>> according to an old Changes entry:
> >> >> > >>>
> >> >> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
> >> >> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
> >> >> > >>>
> >> >> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
> >> >> > >>> replacement of ap_strchr with strchr to not happen for you?
> >> >> > >>>
> >> >> > >>>
> >> >> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
> >> >> > >>> > Hi All
> >> >> > >>> >
> >> >> > >>> > I had some more time looking into this, and here's some info I can provide.
> >> >> > >>> >
> >> >> > >>> > --------------------------------------------------------------------------
> >> >> > >>> >
> >> >> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> >> >> > >>> > ELF Header:
> >> >> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> >> >> > >>> >   Class:                             ELF64
> >> >> > >>> >   Data:                              2's complement, little endian
> >> >> > >>> >   Version:                           1 (current)
> >> >> > >>> >   OS/ABI:                            UNIX - System V
> >> >> > >>> >   ABI Version:                       0
> >> >> > >>> >   Type:                              DYN (Shared object file)
> >> >> > >>> >   Machine:                           Advanced Micro Devices X86-64
> >> >> > >>> >   Version:                           0x1
> >> >> > >>> >   Entry point address:               0x1cb0
> >> >> > >>> >   Start of program headers:          64 (bytes into file)
> >> >> > >>> >   Start of section headers:          15480 (bytes into file)
> >> >> > >>> >   Flags:                             0x0
> >> >> > >>> >   Size of this header:               64 (bytes)
> >> >> > >>> >   Size of program headers:           56 (bytes)
> >> >> > >>> >   Number of program headers:         6
> >> >> > >>> >   Size of section headers:           64 (bytes)
> >> >> > >>> >   Number of section headers:         29
> >> >> > >>> >   Section header string table index: 26
> >> >> > >>> >
> >> >> > >>> > Section Headers:
> >> >> > >>> >   [Nr] Name              Type             Address           Offset
> >> >> > >>> >        Size              EntSize          Flags  Link  Info  Align
> >> >> > >>> >   [ 0]                   NULL             0000000000000000  00000000
> >> >> > >>> >        0000000000000000  0000000000000000           0     0     0
> >> >> > >>> >
> >> >> > >>> > [ Lines removed for clarity ]
> >> >> > >>> >
> >> >> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
> >> >> > >>> >   Tag        Type                         Name/Value
> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
> >> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
> >> >> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
> >> >> > >>> >
> >> >> > >>> > [ Lines removed for clarity ]
> >> >> > >>> >
> >> >> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
> >> >> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
> >> >> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
> >> >> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
> >> >> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
> >> >> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
> >> >> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
> >> >> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
> >> >> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
> >> >> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
> >> >> > >>> >
> >> >> > >>> > [ Lines removed for clarity ]
> >> >> > >>> >
> >> >> > >>> > Symbol table '.dynsym' contains 86 entries:
> >> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >> >> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
> >> >> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
> >> >> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
> >> >> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
> >> >> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
> >> >> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
> >> >> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
> >> >> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
> >> >> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >> >> > >>> >
> >> >> > >>> >
> >> >> > >>> > [ Lines removed for clarity ]
> >> >> > >>> >
> >> >> > >>> > Symbol table '.symtab' contains 143 entries:
> >> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >> >> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
> >> >> > >>> >
> >> >> > >>> > [ Lines removed for clarity ]
> >> >> > >>> >
> >> >> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >> >> > >>> >
> >> >> > >>> >
> >> >> > >>> > [ Lines removed for clarity ]
> >> >> > >>> >
> >> >> > >>> > --------------------------------------------------------------------------
> >> >> > >>> >
> >> >> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
> >> >> > >>> > any of the shared libs. This seems to create the problem when building
> >> >> > >>> > a module with mod_perl or outside the mod_perl source.
> >> >> > >>> >
> >> >> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
> >> >> > >>> >
> >> >> > >>> > bug reports generating code: [Stas]
> >> >> > >>> > - add (apr|apu)-config linking info
> >> >> > >>> > - show the full path to the config file used to get the data for the
> >> >> > >>> >   report
> >> >> > >>> >
> >> >> > >>> > The APR and APR::* family of modules can now be used without having
> >> >> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
> >> >> > >>> > functions from the appropriate sources used to build mod_perl.so
> >> >> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> >> >> > >>> > a static library of needed functions is built, and APR/APR::*
> >> >> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
> >> >> > >>> >
> >> >> > >>> >
> >> >> > >>> > I hope this helps resolve this issue in any way.
> >> >> > >>> >
> >> >> > >>> >
> >> >> > >>> >
> >> >> > >>> >
> >> >> > >>> >
> >> >> > >>> > Regards,
> >> >> > >>> >
> >> >> > >>> > Jie
> >> >> > >>> >
> >> >> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
> >> >> > >>> >
> >> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> >> >> > >>> >> From: Jie Gao <J....@sydney.edu.au>
> >> >> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >> >> > >>> >>  <de...@perl.apache.org>
> >> >> > >>> >> Subject: Trunk: APR.so won't load
> >> >> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> >> >> > >>> >>
> >> >> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
> >> >> > >>> >> a threading issue, but I installed it anyway.
> >> >> > >>> >>
> >> >> > >>> >> Tried to load a test module, but it fails with the following error:
> >> >> > >>> >>
> >> >> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
> >> >> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
> >> >> > >>> >>
> >> >> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
> >> >> > >>> >>
> >> >> > >>> >> #-------------------------------------------------------------------------
> >> >> > >>> >>
> >> >> > >>> >> package mytest::mytestmodule;
> >> >> > >>> >>
> >> >> > >>> >> use 5.010001;
> >> >> > >>> >> use strict;
> >> >> > >>> >> use warnings;
> >> >> > >>> >> use Carp;
> >> >> > >>> >> $SIG{__DIE__} = \&Carp::confess;
> >> >> > >>> >>
> >> >> > >>> >> use mod_perl2;
> >> >> > >>> >> use Apache2::Connection();
> >> >> > >>> >> use Apache2::RequestRec();
> >> >> > >>> >> use Apache2::SubRequest();
> >> >> > >>> >> use Apache2::Access();
> >> >> > >>> >> use Apache2::RequestUtil();
> >> >> > >>> >> use Apache2::Response();
> >> >> > >>> >> use Apache2::Log();
> >> >> > >>> >> use Apache2::Util();
> >> >> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
> >> >> > >>> >> use Apache2::URI();
> >> >> > >>> >> use Apache2::Filter ();
> >> >> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
> >> >> > >>> >> use IO::Socket qw(SOCK_STREAM);
> >> >> > >>> >> use Data::Dumper;
> >> >> > >>> >> use AnyDBM_File ();
> >> >> > >>> >> #use APR::Brigade ();
> >> >> > >>> >> #use APR::Bucket ();
> >> >> > >>> >> #use APR::Base64 ();
> >> >> > >>> >> #use APR::Table ();
> >> >> > >>> >> #use APR::URI ();
> >> >> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
> >> >> > >>> >> #use Apache2::MPM();
> >> >> > >>> >>
> >> >> > >>> >> our $VERSION = '1.0.1';
> >> >> > >>> >>
> >> >> > >>> >> 1;
> >> >> > >>> >> __END__
> >> >> > >>> >>
> >> >> > >>> >> #-------------------------------------------------------------------------
> >> >> > >>> >>
> >> >> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
> >> >> > >>> >> 1. Problem Description:
> >> >> > >>> >>
> >> >> > >>> >>   [DESCRIBE THE PROBLEM HERE]
> >> >> > >>> >>
> >> >> > >>> >> 2. Used Components and their Configuration:
> >> >> > >>> >>
> >> >> > >>> >> *** mod_perl version 2.000009
> >> >> > >>> >>
> >> >> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
> >> >> > >>> >>
> >> >> > >>> >> *** Makefile.PL options:
> >> >> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
> >> >> > >>> >>   MP_APR_LIB     => aprext
> >> >> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
> >> >> > >>> >>   MP_COMPAT_1X   => 1
> >> >> > >>> >>   MP_GENERATE_XS => 1
> >> >> > >>> >>   MP_LIBNAME     => mod_perl
> >> >> > >>> >>   MP_USE_DSO     => 1
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
> >> >> > >>> >> Server version: Apache/2.4.12 (Unix)
> >> >> > >>> >> Server built:   Feb 27 2015 20:05:23
> >> >> > >>> >> Server's Module Magic Number: 20120211:41
> >> >> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
> >> >> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
> >> >> > >>> >> Architecture:   64-bit
> >> >> > >>> >> Server MPM:     worker
> >> >> > >>> >>   threaded:     yes (fixed thread count)
> >> >> > >>> >>     forked:     yes (variable process count)
> >> >> > >>> >> Server compiled with....
> >> >> > >>> >>  -D APR_HAS_SENDFILE
> >> >> > >>> >>  -D APR_HAS_MMAP
> >> >> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
> >> >> > >>> >>  -D APR_USE_SYSVSEM_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=256
> >> >> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
> >> >> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
> >> >> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
> >> >> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
> >> >> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
> >> >> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
> >> >> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
> >> >> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
> >> >> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
> >> >> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
> >> >> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
> >> >> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
> >> >> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
> >> >> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >> *** (apr|apu)-config linking info
> >> >> > >>> >>
> >> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
> >> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >> *** /usr/local/bin/perl -V
> >> >> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
> >> >> > >>> >>
> >> >> > >>> >>   Platform:
> >> >> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
> >> >> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
> >> >> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
> >> >> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
> >> >> > >>> >>     useithreads=define, usemultiplicity=define
> >> >> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
> >> >> > >>> >>     usemymalloc=n, bincompat5005=undef
> >> >> > >>> >>   Compiler:
> >> >> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> >> >> > >>> >>     optimize='-O2',
> >> >> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
> >> >> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
> >> >> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
> >> >> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> >> >> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> >> >> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
> >> >> > >>> >>     gnulibc_version='2.12'
> >> >> > >>> >>   Dynamic Linking:
> >> >> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
> >> >> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >> Characteristics of this binary (from libperl):
> >> >> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
> >> >> > >>> >>                         PERL_DONT_CREATE_GVSV
> >> >> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
> >> >> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> >> >> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> >> >> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
> >> >> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
> >> >> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
> >> >> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
> >> >> > >>> >>   Built under linux
> >> >> > >>> >>   Compiled at Feb 25 2015 15:58:55
> >> >> > >>> >>   %ENV:
> >> >> > >>> >>     PERL_LWP_USE_HTTP_10="1"
> >> >> > >>> >>   @INC:
> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
> >> >> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
> >> >> > >>> >>     /usr/local/lib/perl5/5.20.2
> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
> >> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
> >> >> > >>> >>     /usr/local/lib/perl5/site_perl
> >> >> > >>> >>     .
> >> >> > >>> >>
> >> >> > >>> >> *** Packages of interest status:
> >> >> > >>> >>
> >> >> > >>> >> Apache2            : -
> >> >> > >>> >> Apache2::Request   : -
> >> >> > >>> >> CGI                : 3.65
> >> >> > >>> >> ExtUtils::MakeMaker: 6.98
> >> >> > >>> >> LWP                : 5.837
> >> >> > >>> >> mod_perl           : -
> >> >> > >>> >> mod_perl2          : 2.000009
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
> >> >> > >>> >>
> >> >> > >>> >> -------------8<---------- End Bug Report --------------8<----------
> >> >> > >>> >>
> >> >> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
> >> >> > >>> >> total 4108
> >> >> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
> >> >> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
> >> >> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
> >> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
> >> >> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
> >> >> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
> >> >> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
> >> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
> >> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
> >> >> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
> >> >> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
> >> >> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
> >> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
> >> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
> >> >> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
> >> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >> Regards,
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >> Jie.
> >> >> > >>> >>
> >> >> > >>> >>
> >> >> > >>> >>

Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
That's great news! Was that with the AP_DEBUG patch to
lib/Apache2/Build.pm that I posted last time, or did it just work
without that anyway?

On 14 April 2015 at 05:13, Jie Gao <J....@sydney.edu.au> wrote:
> Hi Steve
>
> I got the src from trunk again and rebuilt httpd with
> "--enable-maintainer-mode", just as you requested, and "make test"
> passed with my module!
>
> Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
> commented out this time for some reason.
>
> Still had this when running make test with mod_perl:
>
> t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # Failed test 5 in t/perl/ithreads3.t at line 35
> t/perl/ithreads3.t ...................... Failed 3/6 subtests
>
> Thanks very much for your help!
>
>
> Regards,
>
> Jie
>
> * Steve Hay <st...@googlemail.com> wrote:
>
>> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> From: Steve Hay <st...@googlemail.com>
>> To: Jie Gao <J....@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> Thanks for the extra information.
>>
>> I think the build with --enable-maintainer-mode succeeded simply
>> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> probably not related.
>>
>> It would be nice to allow building mod_perl with a httpd built with
>> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> simply need to remove -DAP_DEBUG from the build flags.
>>
>> So please could you try rebuilding again using a clean mod_perl source
>> tree (i.e. revert the ap_strchr change) but with the patch below
>> applied to it, and using an --enable-maintainer-mode httpd?
>>
>> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> I do not know what the problem is there) and I wouldn't expect the two
>> test failures to go away either, but I'm hopeful that this build might
>> at least work.
>>
>> Index: lib/Apache2/Build.pm
>> ===================================================================
>> --- lib/Apache2/Build.pm        (revision 1673126)
>> +++ lib/Apache2/Build.pm        (working copy)
>> @@ -616,6 +616,9 @@
>>      my $extra_cppflags = $self->apxs_extra_cppflags;
>>      $ccopts .= " " . $extra_cppflags;
>>
>> +    # Make sure the evil AP_DEBUG is not defined when building mod_perl
>> +    $ccopts =~ s/ ?-DAP_DEBUG\b//;
>> +
>>      $ccopts;
>>  }
>>
>>
>> On 13 April 2015 at 03:37, Jie Gao <J....@sydney.edu.au> wrote:
>> > Hi Steve
>> >
>> > I took some time to look further into this problem:
>> >
>> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >
>> > and I found that the apache build process does not allow
>> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> > httpd.conf.
>> >
>> > Uncommenting that line made this problem go away.
>> >
>> > At the end of the process (with Apache built without
>> > "--enable-maintainer-mode", and with ap_strchr replaced with
>> > strchr, which you suggested (but may not be necessary here without
>> > "--enable-maintainer-mode", I could load my modules successfully.
>> >
>> > There were still some errors when running "make test" for mod_perl:
>> >
>> >
>> > ...
>> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
>> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
>> > ...
>> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >
>> > Here is some more info:
>> >
>> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
>> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
>> > [warning] setting ulimit to allow core files
>> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
>> > /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
>> > using Apache/2.4.12 (worker MPM)
>> >
>> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
>> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
>> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
>> > ...
>> > waiting 300 seconds for server to start: ok (waited 2 secs)
>> > server localhost:8529 started
>> > server localhost:8530 listening (filter_out_apache)
>> > server localhost:8531 listening (perlsections)
>> > server localhost:8532 listening (inherit)
>> > server localhost:8533 listening (TestModperl::perl_options2)
>> > server localhost:8534 listening (TestModperl::perl_options)
>> > server localhost:8535 listening (TestModperl::setupenv)
>> > server localhost:8536 listening (TestModperl::merge)
>> > server localhost:8537 listening (TestUser::rewrite)
>> > server localhost:8538 listening (TestModules::proxy)
>> > server localhost:8539 listening (TestVhost::config)
>> > server localhost:8540 listening (TestVhost::log)
>> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
>> > server localhost:8542 listening (TestProtocol::eliza)
>> > server localhost:8543 listening (TestProtocol::echo_nonblock)
>> > server localhost:8544 listening (TestProtocol::echo_block)
>> > server localhost:8545 listening (TestProtocol::echo_timeout)
>> > server localhost:8546 listening (TestProtocol::echo_bbs2)
>> > server localhost:8547 listening (TestProtocol::pseudo_http)
>> > server localhost:8548 listening (TestProtocol::echo_filter)
>> > server localhost:8549 listening (TestProtocol::echo_bbs)
>> > server localhost:8550 listening (TestPreConnection::note)
>> > server localhost:8551 listening (TestHooks::startup)
>> > server localhost:8552 listening (TestHooks::hookrun)
>> > server localhost:8553 listening (TestHooks::trans)
>> > server localhost:8554 listening (TestHooks::stacked_handlers2)
>> > server localhost:8555 listening (TestHooks::init)
>> > server localhost:8556 listening (TestFilter::both_str_con_add)
>> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
>> > server localhost:8558 listening (TestFilter::in_str_msg)
>> > server localhost:8559 listening (TestFilter::in_bbs_msg)
>> > server localhost:8560 listening (TestDirective::perlrequire)
>> > server localhost:8561 listening (TestDirective::perlmodule)
>> > server localhost:8562 listening (TestPerl::ithreads)
>> > server localhost:8563 listening (TestPerl::ithreads3)
>> > server localhost:8564 listening (TestDirective::perlloadmodule3)
>> > server localhost:8565 listening (TestDirective::perlloadmodule5)
>> > server localhost:8566 listening (TestDirective::perlloadmodule4)
>> > server localhost:8567 listening (TestAPI::add_config)
>> > server localhost:8568 listening (TestDirective::perlloadmodule6)
>> > server localhost:8569 listening (TestHooks::push_handlers_anon)
>> > t/hooks/authen_digest.t ..
>> > 1..7
>> > # Running under perl version 5.020002 for linux
>> > # Current time local: Mon Apr 13 12:28:20 2015
>> > # Current time GMT:   Mon Apr 13 02:28:20 2015
>> > # Using Test.pm version 1.26
>> > # Using Apache/Test.pm version 1.38
>> > # testing : handler returned HTTP_OK
>> > # expected: 200
>> > # received: '200'
>> > ok 1
>> > # response had no WWW-Authenticate header
>> > ok 2
>> > # testing : handler returned HTTP_UNAUTHORIZED
>> > # expected: 401
>> > # received: '401'
>> > ok 3
>> > # response had a WWW-Authenticate header
>> > not ok 4
>> > # Failed test 4 in t/hooks/authen_digest.t at line 36
>> > # testing : response is using Digest authentication scheme
>> > # expected: qr/^Digest/
>> > # received: undef
>> > not ok 5
>> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> > # testing : WWW-Authenticate header contains the proper realm
>> > # expected: qr/realm="Simple Digest"/
>> > # received: undef
>> > not ok 6
>> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> > # testing : WWW-Authenticate header contains a nonce
>> > # expected: qr/nonce="/
>> > # received: undef
>> > not ok 7
>> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> > Failed 4/7 subtests
>> > t/perl/ithreads3.t .......
>> > 1..6
>> > # Running under perl version 5.020002 for linux
>> > # Current time local: Mon Apr 13 12:28:21 2015
>> > # Current time GMT:   Mon Apr 13 02:28:21 2015
>> > # Using Test.pm version 1.26
>> > # Using Apache/Test.pm version 1.38
>> > # connecting to http://localhost:8563/
>> > # testing : perl-script 1
>> > # expected: 2
>> > # received: '2'
>> > ok 1
>> > # testing : modperl 1
>> > # expected: 2
>> > # received: '2'
>> > ok 2
>> > # testing : perl-script 2
>> > # expected: 5
>> > # received: '2'
>> > not ok 3
>> > # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # testing : modperl 2
>> > # expected: 5
>> > # received: '3'
>> > not ok 4
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # testing : perl-script 3
>> > # expected: 3
>> > # received: '2'
>> > not ok 5
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > # testing : modperl 3
>> > # expected: 3
>> > # received: '3'
>> > ok 6
>> > Failed 3/6 subtests
>> >
>> > Test Summary Report
>> > -------------------
>> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>> >   Failed tests:  4-7
>> > t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
>> >   Failed tests:  3-5
>> > Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
>> > Result: FAIL
>> > Failed 2/2 test programs. 7/13 subtests failed.
>> > [warning] server localhost:8529 shutdown
>> > [warning] port 8529 still in use...
>> > ...done
>> > [  error] error running tests (please examine t/logs/error_log)
>> >
>> > # cat less t/logs/error_log
>> > ********************************************************************************
>> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> > *** Following a line consisting only of * characters there should be a line  ***
>> > *** containing                                                               ***
>> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> > *** The next line should then read                                           ***
>> > ***     "done with server_shutdown_cleanup_register"                         ***
>> > ********************************************************************************
>> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> > *** done with server_shutdown_cleanup_register                               ***
>> > ********************************************************************************
>> > END in modperl_extra.pl, pid=25085
>> > END in modperl_extra.pl, pid=25085
>> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
>> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
>> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
>> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
>> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
>> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
>> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
>> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
>> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
>> > END in modperl_extra.pl, pid=25093
>> > END in modperl_extra.pl, pid=25093
>> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
>> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
>> > ********************************************************************************
>> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> > *** Following a line consisting only of * characters there should be a line  ***
>> > *** containing                                                               ***
>> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> > *** The next line should then read                                           ***
>> > ***     "done with server_shutdown_cleanup_register"                         ***
>> > ********************************************************************************
>> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> > *** done with server_shutdown_cleanup_register                               ***
>> > ********************************************************************************
>> > END in modperl_extra.pl, pid=25089
>> > END in modperl_extra.pl, pid=25089
>> >
>> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>> >
>> >
>> >
>> > Regards,
>> >
>> >
>> > Jie
>> >
>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >
>> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> >> From: Jie Gao <J....@sydney.edu.au>
>> >> To: Steve Hay <st...@googlemail.com>
>> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >>  <de...@perl.apache.org>
>> >> Subject: Re: Trunk: APR.so won't load
>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >>
>> >> Hi Steve
>> >>
>> >> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
>> >> strchr before recompiling.  I still got the same error message after that.
>> >>
>> >> I re-compiled apache without enabling the maintainer mode:
>> >>
>> >> ---
>> >> CC="gcc"; export CC
>> >> CFLAGS="-Wall -O3"; export CFLAGS
>> >> "./configure" \
>> >> "--prefix=/usr/local/httpd-2.4.12" \
>> >> "--with-included-apr" \
>> >> "--with-mpm=worker" \
>> >> "--enable-auth-digest" \
>> >> "--enable-dav" \
>> >> "--enable-expires" \
>> >> "--enable-headers" \
>> >> "--enable-proxy-html" \
>> >> "--enable-xml2enc" \
>> >> "--enable-info" \
>> >> "--enable-mime-magic" \
>> >> "--enable-nonportable-atomics" \
>> >> "--enable-proxy" \
>> >> "--enable-proxy-balancer" \
>> >> "--enable-proxy-http" \
>> >> "--enable-rewrite" \
>> >> "--enable-so" \
>> >> "--enable-ssl" \
>> >> "--enable-unique-id" \
>> >> "--enable-vhost-alias" \
>> >> "--enable-modules=most" \
>> >> "--enable-mods-shared=most" \
>> >> "--enable-lbmethod-byrequests" \
>> >> "--enable-lbmethod-bytraffic" \
>> >> "--enable-lbmethod-bybusyness" \
>> >> "--enable-lbmethod-heartbeat" \
>> >> "--enable-heartmonitor" \
>> >> "--enable-watchdog" \
>> >> "--enable-ratelimit" \
>> >> "--enable-ext-filter" \
>> >> "--enable-request" \
>> >> "CC=gcc" \
>> >> "CFLAGS=-Wall -O3" \
>> >> "$@"
>> >> ---
>> >>
>> >> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
>> >>
>> >> ---
>> >> [warning] setting ulimit to allow core files
>> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
>> >> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
>> >>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
>> >>         t/TEST -bugreport -verbose=0
>> >> [warning] setting ulimit to allow core files
>> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
>> >> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
>> >> using Apache/2.4.12 (worker MPM)
>> >>
>> >> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
>> >> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
>> >> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
>> >> .............................................................................................................................................................................................................................................................................................................
>> >> waiting 300 seconds for server to start: not ok
>> >> [  error] giving up after 301 secs. If you think that your system
>> >> is slow or overloaded try again with a longer timeout value.
>> >> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
>> >> to a high value (e.g. 600) and repeat the last command.
>> >>
>> >> [  error] server failed to start! (please examine t/logs/error_log)
>> >> +--------------------------------------------------------+
>> >> | Please file a bug report: http://perl.apache.org/bugs/ |
>> >> +--------------------------------------------------------+
>> >> make: *** [run_tests] Error 1
>> >> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
>> >> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
>> >> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
>> >> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
>> >> ********************************************************************************
>> >> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> *** Following a line consisting only of * characters there should be a line  ***
>> >> *** containing                                                               ***
>> >> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> *** The next line should then read                                           ***
>> >> ***     "done with server_shutdown_cleanup_register"                         ***
>> >> ********************************************************************************
>> >> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> *** done with server_shutdown_cleanup_register                               ***
>> >> ********************************************************************************
>> >> END in modperl_extra.pl, pid=19848
>> >> END in modperl_extra.pl, pid=19848
>> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
>> >> ---
>> >>
>> >> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
>> >>
>> >>
>> >>
>> >>
>> >> Regards,
>> >>
>> >> Jie
>> >>
>> >> * Steve Hay <st...@googlemail.com> wrote:
>> >>
>> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> >> > From: Steve Hay <st...@googlemail.com>
>> >> > To: Jie Gao <J....@sydney.edu.au>
>> >> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >  <de...@perl.apache.org>
>> >> > Subject: Re: Trunk: APR.so won't load
>> >> >
>> >> > Actually, I don't think there is anything stopping -DAP_DEBUG from
>> >> > coming through from the httpd config. The change that was made
>> >> > (r357052) just stopped mod_perl from adding that itself when
>> >> > MP_MAINTAINER is specified.
>> >> >
>> >> > But maybe we do need to filter out -DAP_DEBUG?
>> >> > Or else stop using ap_strchr() and just use strchr() directly?
>> >> >
>> >> > Could you try the latter, since it seems like an easy fix? -- Change
>> >> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
>> >> > to be strchr() instead and then rebuild. Does that make the problem go
>> >> > away?
>> >> >
>> >> >
>> >> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
>> >> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
>> >> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>> >> > >
>> >> > > I think that symbol is not supposed to find its way into the mod_perl
>> >> > > build options, but it's obviously getting picked up somewhere and
>> >> > > slipping through...
>> >> > >
>> >> > >
>> >> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
>> >> > >> Hi Steve
>> >> > >>
>> >> > >> httpd is configured with "--enable-maintainer-mode".
>> >> > >>
>> >> > >> For mod_perl:
>> >> > >>
>> >> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>> >> > >>
>> >> > >> and I found the following line in the resultant Makefile:
>> >> > >>
>> >> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>> >> > >>
>> >> > >>
>> >> > >>
>> >> > >> Regards,
>> >> > >>
>> >> > >> Jie
>> >> > >>
>> >> > >> * Steve Hay <st...@googlemail.com> wrote:
>> >> > >>
>> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> >> > >>> From: Steve Hay <st...@googlemail.com>
>> >> > >>> To: Jie Gao <J....@sydney.edu.au>
>> >> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> > >>>  <de...@perl.apache.org>
>> >> > >>> Subject: Re: Trunk: APR.so won't load
>> >> > >>>
>> >> > >>> Sorry for the slow reply.
>> >> > >>>
>> >> > >>> I cannot reproduce the problem here on Windows. Your example module
>> >> > >>> loads up fine with all the "use APR" lines uncommented.
>> >> > >>>
>> >> > >>> The build system (and the means by which APR::* should be loadable
>> >> > >>> without mod_perl.so being loaded) is different on Windows, but I did
>> >> > >>> notice this:
>> >> > >>>
>> >> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> >> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
>> >> > >>> gets changed to strchr, and the latter is simply imported from the C
>> >> > >>> run-time library.
>> >> > >>>
>> >> > >>> I guess that's down to this code in httpd.h:
>> >> > >>>
>> >> > >>> #ifdef AP_DEBUG
>> >> > >>>
>> >> > >>> #undef strchr
>> >> > >>> # define strchr(s, c)  ap_strchr(s,c)
>> >> > >>> #undef strrchr
>> >> > >>> # define strrchr(s, c) ap_strrchr(s,c)
>> >> > >>> #undef strstr
>> >> > >>> # define strstr(s, c)  ap_strstr(s,c)
>> >> > >>>
>> >> > >>> #else
>> >> > >>>
>> >> > >>> /** use this instead of strchr */
>> >> > >>> # define ap_strchr(s, c)     strchr(s, c)
>> >> > >>> /** use this instead of strchr */
>> >> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
>> >> > >>> /** use this instead of strrchr */
>> >> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
>> >> > >>> /** use this instead of strrchr */
>> >> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> >> > >>> /** use this instead of strrstr*/
>> >> > >>> # define ap_strstr(s, c)     strstr(s, c)
>> >> > >>> /** use this instead of strrstr*/
>> >> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
>> >> > >>>
>> >> > >>> #endif
>> >> > >>>
>> >> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
>> >> > >>> it was a debug build).
>> >> > >>>
>> >> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> >> > >>> according to an old Changes entry:
>> >> > >>>
>> >> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> >> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>> >> > >>>
>> >> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> >> > >>> replacement of ap_strchr with strchr to not happen for you?
>> >> > >>>
>> >> > >>>
>> >> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>> >> > >>> > Hi All
>> >> > >>> >
>> >> > >>> > I had some more time looking into this, and here's some info I can provide.
>> >> > >>> >
>> >> > >>> > --------------------------------------------------------------------------
>> >> > >>> >
>> >> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> >> > >>> > ELF Header:
>> >> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> >> > >>> >   Class:                             ELF64
>> >> > >>> >   Data:                              2's complement, little endian
>> >> > >>> >   Version:                           1 (current)
>> >> > >>> >   OS/ABI:                            UNIX - System V
>> >> > >>> >   ABI Version:                       0
>> >> > >>> >   Type:                              DYN (Shared object file)
>> >> > >>> >   Machine:                           Advanced Micro Devices X86-64
>> >> > >>> >   Version:                           0x1
>> >> > >>> >   Entry point address:               0x1cb0
>> >> > >>> >   Start of program headers:          64 (bytes into file)
>> >> > >>> >   Start of section headers:          15480 (bytes into file)
>> >> > >>> >   Flags:                             0x0
>> >> > >>> >   Size of this header:               64 (bytes)
>> >> > >>> >   Size of program headers:           56 (bytes)
>> >> > >>> >   Number of program headers:         6
>> >> > >>> >   Size of section headers:           64 (bytes)
>> >> > >>> >   Number of section headers:         29
>> >> > >>> >   Section header string table index: 26
>> >> > >>> >
>> >> > >>> > Section Headers:
>> >> > >>> >   [Nr] Name              Type             Address           Offset
>> >> > >>> >        Size              EntSize          Flags  Link  Info  Align
>> >> > >>> >   [ 0]                   NULL             0000000000000000  00000000
>> >> > >>> >        0000000000000000  0000000000000000           0     0     0
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
>> >> > >>> >   Tag        Type                         Name/Value
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>> >> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>> >> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>> >> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>> >> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>> >> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>> >> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>> >> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>> >> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>> >> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>> >> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > Symbol table '.dynsym' contains 86 entries:
>> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>> >> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>> >> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>> >> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>> >> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>> >> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>> >> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>> >> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>> >> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> > >>> >
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > Symbol table '.symtab' contains 143 entries:
>> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> > >>> >
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > --------------------------------------------------------------------------
>> >> > >>> >
>> >> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>> >> > >>> > any of the shared libs. This seems to create the problem when building
>> >> > >>> > a module with mod_perl or outside the mod_perl source.
>> >> > >>> >
>> >> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
>> >> > >>> >
>> >> > >>> > bug reports generating code: [Stas]
>> >> > >>> > - add (apr|apu)-config linking info
>> >> > >>> > - show the full path to the config file used to get the data for the
>> >> > >>> >   report
>> >> > >>> >
>> >> > >>> > The APR and APR::* family of modules can now be used without having
>> >> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>> >> > >>> > functions from the appropriate sources used to build mod_perl.so
>> >> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>> >> > >>> > a static library of needed functions is built, and APR/APR::*
>> >> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>> >> > >>> >
>> >> > >>> >
>> >> > >>> > I hope this helps resolve this issue in any way.
>> >> > >>> >
>> >> > >>> >
>> >> > >>> >
>> >> > >>> >
>> >> > >>> >
>> >> > >>> > Regards,
>> >> > >>> >
>> >> > >>> > Jie
>> >> > >>> >
>> >> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >> > >>> >
>> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> > >>> >> From: Jie Gao <J....@sydney.edu.au>
>> >> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> > >>> >>  <de...@perl.apache.org>
>> >> > >>> >> Subject: Trunk: APR.so won't load
>> >> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> > >>> >>
>> >> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
>> >> > >>> >> a threading issue, but I installed it anyway.
>> >> > >>> >>
>> >> > >>> >> Tried to load a test module, but it fails with the following error:
>> >> > >>> >>
>> >> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> >> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>> >> > >>> >>
>> >> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>> >> > >>> >>
>> >> > >>> >> #-------------------------------------------------------------------------
>> >> > >>> >>
>> >> > >>> >> package mytest::mytestmodule;
>> >> > >>> >>
>> >> > >>> >> use 5.010001;
>> >> > >>> >> use strict;
>> >> > >>> >> use warnings;
>> >> > >>> >> use Carp;
>> >> > >>> >> $SIG{__DIE__} = \&Carp::confess;
>> >> > >>> >>
>> >> > >>> >> use mod_perl2;
>> >> > >>> >> use Apache2::Connection();
>> >> > >>> >> use Apache2::RequestRec();
>> >> > >>> >> use Apache2::SubRequest();
>> >> > >>> >> use Apache2::Access();
>> >> > >>> >> use Apache2::RequestUtil();
>> >> > >>> >> use Apache2::Response();
>> >> > >>> >> use Apache2::Log();
>> >> > >>> >> use Apache2::Util();
>> >> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> >> > >>> >> use Apache2::URI();
>> >> > >>> >> use Apache2::Filter ();
>> >> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> >> > >>> >> use IO::Socket qw(SOCK_STREAM);
>> >> > >>> >> use Data::Dumper;
>> >> > >>> >> use AnyDBM_File ();
>> >> > >>> >> #use APR::Brigade ();
>> >> > >>> >> #use APR::Bucket ();
>> >> > >>> >> #use APR::Base64 ();
>> >> > >>> >> #use APR::Table ();
>> >> > >>> >> #use APR::URI ();
>> >> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> >> > >>> >> #use Apache2::MPM();
>> >> > >>> >>
>> >> > >>> >> our $VERSION = '1.0.1';
>> >> > >>> >>
>> >> > >>> >> 1;
>> >> > >>> >> __END__
>> >> > >>> >>
>> >> > >>> >> #-------------------------------------------------------------------------
>> >> > >>> >>
>> >> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
>> >> > >>> >> 1. Problem Description:
>> >> > >>> >>
>> >> > >>> >>   [DESCRIBE THE PROBLEM HERE]
>> >> > >>> >>
>> >> > >>> >> 2. Used Components and their Configuration:
>> >> > >>> >>
>> >> > >>> >> *** mod_perl version 2.000009
>> >> > >>> >>
>> >> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>> >> > >>> >>
>> >> > >>> >> *** Makefile.PL options:
>> >> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>> >> > >>> >>   MP_APR_LIB     => aprext
>> >> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>> >> > >>> >>   MP_COMPAT_1X   => 1
>> >> > >>> >>   MP_GENERATE_XS => 1
>> >> > >>> >>   MP_LIBNAME     => mod_perl
>> >> > >>> >>   MP_USE_DSO     => 1
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> >> > >>> >> Server version: Apache/2.4.12 (Unix)
>> >> > >>> >> Server built:   Feb 27 2015 20:05:23
>> >> > >>> >> Server's Module Magic Number: 20120211:41
>> >> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> >> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> >> > >>> >> Architecture:   64-bit
>> >> > >>> >> Server MPM:     worker
>> >> > >>> >>   threaded:     yes (fixed thread count)
>> >> > >>> >>     forked:     yes (variable process count)
>> >> > >>> >> Server compiled with....
>> >> > >>> >>  -D APR_HAS_SENDFILE
>> >> > >>> >>  -D APR_HAS_MMAP
>> >> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> >> > >>> >>  -D APR_USE_SYSVSEM_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=256
>> >> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>> >> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>> >> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>> >> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>> >> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>> >> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>> >> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>> >> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>> >> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>> >> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>> >> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>> >> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>> >> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>> >> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> *** (apr|apu)-config linking info
>> >> > >>> >>
>> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> *** /usr/local/bin/perl -V
>> >> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>> >> > >>> >>
>> >> > >>> >>   Platform:
>> >> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>> >> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>> >> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>> >> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
>> >> > >>> >>     useithreads=define, usemultiplicity=define
>> >> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>> >> > >>> >>     usemymalloc=n, bincompat5005=undef
>> >> > >>> >>   Compiler:
>> >> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>> >> > >>> >>     optimize='-O2',
>> >> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>> >> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>> >> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>> >> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>> >> > >>> >>     gnulibc_version='2.12'
>> >> > >>> >>   Dynamic Linking:
>> >> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>> >> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> Characteristics of this binary (from libperl):
>> >> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> >> > >>> >>                         PERL_DONT_CREATE_GVSV
>> >> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> >> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> >> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> >> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>> >> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>> >> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>> >> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>> >> > >>> >>   Built under linux
>> >> > >>> >>   Compiled at Feb 25 2015 15:58:55
>> >> > >>> >>   %ENV:
>> >> > >>> >>     PERL_LWP_USE_HTTP_10="1"
>> >> > >>> >>   @INC:
>> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>> >> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>> >> > >>> >>     /usr/local/lib/perl5/5.20.2
>> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>> >> > >>> >>     /usr/local/lib/perl5/site_perl
>> >> > >>> >>     .
>> >> > >>> >>
>> >> > >>> >> *** Packages of interest status:
>> >> > >>> >>
>> >> > >>> >> Apache2            : -
>> >> > >>> >> Apache2::Request   : -
>> >> > >>> >> CGI                : 3.65
>> >> > >>> >> ExtUtils::MakeMaker: 6.98
>> >> > >>> >> LWP                : 5.837
>> >> > >>> >> mod_perl           : -
>> >> > >>> >> mod_perl2          : 2.000009
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>> >> > >>> >>
>> >> > >>> >> -------------8<---------- End Bug Report --------------8<----------
>> >> > >>> >>
>> >> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>> >> > >>> >> total 4108
>> >> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> >> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> >> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> >> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> >> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> >> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> >> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> >> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> >> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> >> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> Regards,
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> Jie.
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>

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


Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
That's great news! Was that with the AP_DEBUG patch to
lib/Apache2/Build.pm that I posted last time, or did it just work
without that anyway?

On 14 April 2015 at 05:13, Jie Gao <J....@sydney.edu.au> wrote:
> Hi Steve
>
> I got the src from trunk again and rebuilt httpd with
> "--enable-maintainer-mode", just as you requested, and "make test"
> passed with my module!
>
> Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
> commented out this time for some reason.
>
> Still had this when running make test with mod_perl:
>
> t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # Failed test 5 in t/perl/ithreads3.t at line 35
> t/perl/ithreads3.t ...................... Failed 3/6 subtests
>
> Thanks very much for your help!
>
>
> Regards,
>
> Jie
>
> * Steve Hay <st...@googlemail.com> wrote:
>
>> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> From: Steve Hay <st...@googlemail.com>
>> To: Jie Gao <J....@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> Thanks for the extra information.
>>
>> I think the build with --enable-maintainer-mode succeeded simply
>> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> probably not related.
>>
>> It would be nice to allow building mod_perl with a httpd built with
>> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> simply need to remove -DAP_DEBUG from the build flags.
>>
>> So please could you try rebuilding again using a clean mod_perl source
>> tree (i.e. revert the ap_strchr change) but with the patch below
>> applied to it, and using an --enable-maintainer-mode httpd?
>>
>> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> I do not know what the problem is there) and I wouldn't expect the two
>> test failures to go away either, but I'm hopeful that this build might
>> at least work.
>>
>> Index: lib/Apache2/Build.pm
>> ===================================================================
>> --- lib/Apache2/Build.pm        (revision 1673126)
>> +++ lib/Apache2/Build.pm        (working copy)
>> @@ -616,6 +616,9 @@
>>      my $extra_cppflags = $self->apxs_extra_cppflags;
>>      $ccopts .= " " . $extra_cppflags;
>>
>> +    # Make sure the evil AP_DEBUG is not defined when building mod_perl
>> +    $ccopts =~ s/ ?-DAP_DEBUG\b//;
>> +
>>      $ccopts;
>>  }
>>
>>
>> On 13 April 2015 at 03:37, Jie Gao <J....@sydney.edu.au> wrote:
>> > Hi Steve
>> >
>> > I took some time to look further into this problem:
>> >
>> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >
>> > and I found that the apache build process does not allow
>> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> > httpd.conf.
>> >
>> > Uncommenting that line made this problem go away.
>> >
>> > At the end of the process (with Apache built without
>> > "--enable-maintainer-mode", and with ap_strchr replaced with
>> > strchr, which you suggested (but may not be necessary here without
>> > "--enable-maintainer-mode", I could load my modules successfully.
>> >
>> > There were still some errors when running "make test" for mod_perl:
>> >
>> >
>> > ...
>> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
>> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
>> > ...
>> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >
>> > Here is some more info:
>> >
>> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
>> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
>> > [warning] setting ulimit to allow core files
>> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
>> > /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
>> > using Apache/2.4.12 (worker MPM)
>> >
>> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
>> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
>> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
>> > ...
>> > waiting 300 seconds for server to start: ok (waited 2 secs)
>> > server localhost:8529 started
>> > server localhost:8530 listening (filter_out_apache)
>> > server localhost:8531 listening (perlsections)
>> > server localhost:8532 listening (inherit)
>> > server localhost:8533 listening (TestModperl::perl_options2)
>> > server localhost:8534 listening (TestModperl::perl_options)
>> > server localhost:8535 listening (TestModperl::setupenv)
>> > server localhost:8536 listening (TestModperl::merge)
>> > server localhost:8537 listening (TestUser::rewrite)
>> > server localhost:8538 listening (TestModules::proxy)
>> > server localhost:8539 listening (TestVhost::config)
>> > server localhost:8540 listening (TestVhost::log)
>> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
>> > server localhost:8542 listening (TestProtocol::eliza)
>> > server localhost:8543 listening (TestProtocol::echo_nonblock)
>> > server localhost:8544 listening (TestProtocol::echo_block)
>> > server localhost:8545 listening (TestProtocol::echo_timeout)
>> > server localhost:8546 listening (TestProtocol::echo_bbs2)
>> > server localhost:8547 listening (TestProtocol::pseudo_http)
>> > server localhost:8548 listening (TestProtocol::echo_filter)
>> > server localhost:8549 listening (TestProtocol::echo_bbs)
>> > server localhost:8550 listening (TestPreConnection::note)
>> > server localhost:8551 listening (TestHooks::startup)
>> > server localhost:8552 listening (TestHooks::hookrun)
>> > server localhost:8553 listening (TestHooks::trans)
>> > server localhost:8554 listening (TestHooks::stacked_handlers2)
>> > server localhost:8555 listening (TestHooks::init)
>> > server localhost:8556 listening (TestFilter::both_str_con_add)
>> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
>> > server localhost:8558 listening (TestFilter::in_str_msg)
>> > server localhost:8559 listening (TestFilter::in_bbs_msg)
>> > server localhost:8560 listening (TestDirective::perlrequire)
>> > server localhost:8561 listening (TestDirective::perlmodule)
>> > server localhost:8562 listening (TestPerl::ithreads)
>> > server localhost:8563 listening (TestPerl::ithreads3)
>> > server localhost:8564 listening (TestDirective::perlloadmodule3)
>> > server localhost:8565 listening (TestDirective::perlloadmodule5)
>> > server localhost:8566 listening (TestDirective::perlloadmodule4)
>> > server localhost:8567 listening (TestAPI::add_config)
>> > server localhost:8568 listening (TestDirective::perlloadmodule6)
>> > server localhost:8569 listening (TestHooks::push_handlers_anon)
>> > t/hooks/authen_digest.t ..
>> > 1..7
>> > # Running under perl version 5.020002 for linux
>> > # Current time local: Mon Apr 13 12:28:20 2015
>> > # Current time GMT:   Mon Apr 13 02:28:20 2015
>> > # Using Test.pm version 1.26
>> > # Using Apache/Test.pm version 1.38
>> > # testing : handler returned HTTP_OK
>> > # expected: 200
>> > # received: '200'
>> > ok 1
>> > # response had no WWW-Authenticate header
>> > ok 2
>> > # testing : handler returned HTTP_UNAUTHORIZED
>> > # expected: 401
>> > # received: '401'
>> > ok 3
>> > # response had a WWW-Authenticate header
>> > not ok 4
>> > # Failed test 4 in t/hooks/authen_digest.t at line 36
>> > # testing : response is using Digest authentication scheme
>> > # expected: qr/^Digest/
>> > # received: undef
>> > not ok 5
>> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> > # testing : WWW-Authenticate header contains the proper realm
>> > # expected: qr/realm="Simple Digest"/
>> > # received: undef
>> > not ok 6
>> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> > # testing : WWW-Authenticate header contains a nonce
>> > # expected: qr/nonce="/
>> > # received: undef
>> > not ok 7
>> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> > Failed 4/7 subtests
>> > t/perl/ithreads3.t .......
>> > 1..6
>> > # Running under perl version 5.020002 for linux
>> > # Current time local: Mon Apr 13 12:28:21 2015
>> > # Current time GMT:   Mon Apr 13 02:28:21 2015
>> > # Using Test.pm version 1.26
>> > # Using Apache/Test.pm version 1.38
>> > # connecting to http://localhost:8563/
>> > # testing : perl-script 1
>> > # expected: 2
>> > # received: '2'
>> > ok 1
>> > # testing : modperl 1
>> > # expected: 2
>> > # received: '2'
>> > ok 2
>> > # testing : perl-script 2
>> > # expected: 5
>> > # received: '2'
>> > not ok 3
>> > # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # testing : modperl 2
>> > # expected: 5
>> > # received: '3'
>> > not ok 4
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # testing : perl-script 3
>> > # expected: 3
>> > # received: '2'
>> > not ok 5
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > # testing : modperl 3
>> > # expected: 3
>> > # received: '3'
>> > ok 6
>> > Failed 3/6 subtests
>> >
>> > Test Summary Report
>> > -------------------
>> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>> >   Failed tests:  4-7
>> > t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
>> >   Failed tests:  3-5
>> > Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
>> > Result: FAIL
>> > Failed 2/2 test programs. 7/13 subtests failed.
>> > [warning] server localhost:8529 shutdown
>> > [warning] port 8529 still in use...
>> > ...done
>> > [  error] error running tests (please examine t/logs/error_log)
>> >
>> > # cat less t/logs/error_log
>> > ********************************************************************************
>> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> > *** Following a line consisting only of * characters there should be a line  ***
>> > *** containing                                                               ***
>> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> > *** The next line should then read                                           ***
>> > ***     "done with server_shutdown_cleanup_register"                         ***
>> > ********************************************************************************
>> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> > *** done with server_shutdown_cleanup_register                               ***
>> > ********************************************************************************
>> > END in modperl_extra.pl, pid=25085
>> > END in modperl_extra.pl, pid=25085
>> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
>> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
>> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
>> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
>> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
>> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
>> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
>> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
>> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
>> > END in modperl_extra.pl, pid=25093
>> > END in modperl_extra.pl, pid=25093
>> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
>> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
>> > ********************************************************************************
>> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> > *** Following a line consisting only of * characters there should be a line  ***
>> > *** containing                                                               ***
>> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> > *** The next line should then read                                           ***
>> > ***     "done with server_shutdown_cleanup_register"                         ***
>> > ********************************************************************************
>> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> > *** done with server_shutdown_cleanup_register                               ***
>> > ********************************************************************************
>> > END in modperl_extra.pl, pid=25089
>> > END in modperl_extra.pl, pid=25089
>> >
>> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>> >
>> >
>> >
>> > Regards,
>> >
>> >
>> > Jie
>> >
>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >
>> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> >> From: Jie Gao <J....@sydney.edu.au>
>> >> To: Steve Hay <st...@googlemail.com>
>> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >>  <de...@perl.apache.org>
>> >> Subject: Re: Trunk: APR.so won't load
>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >>
>> >> Hi Steve
>> >>
>> >> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
>> >> strchr before recompiling.  I still got the same error message after that.
>> >>
>> >> I re-compiled apache without enabling the maintainer mode:
>> >>
>> >> ---
>> >> CC="gcc"; export CC
>> >> CFLAGS="-Wall -O3"; export CFLAGS
>> >> "./configure" \
>> >> "--prefix=/usr/local/httpd-2.4.12" \
>> >> "--with-included-apr" \
>> >> "--with-mpm=worker" \
>> >> "--enable-auth-digest" \
>> >> "--enable-dav" \
>> >> "--enable-expires" \
>> >> "--enable-headers" \
>> >> "--enable-proxy-html" \
>> >> "--enable-xml2enc" \
>> >> "--enable-info" \
>> >> "--enable-mime-magic" \
>> >> "--enable-nonportable-atomics" \
>> >> "--enable-proxy" \
>> >> "--enable-proxy-balancer" \
>> >> "--enable-proxy-http" \
>> >> "--enable-rewrite" \
>> >> "--enable-so" \
>> >> "--enable-ssl" \
>> >> "--enable-unique-id" \
>> >> "--enable-vhost-alias" \
>> >> "--enable-modules=most" \
>> >> "--enable-mods-shared=most" \
>> >> "--enable-lbmethod-byrequests" \
>> >> "--enable-lbmethod-bytraffic" \
>> >> "--enable-lbmethod-bybusyness" \
>> >> "--enable-lbmethod-heartbeat" \
>> >> "--enable-heartmonitor" \
>> >> "--enable-watchdog" \
>> >> "--enable-ratelimit" \
>> >> "--enable-ext-filter" \
>> >> "--enable-request" \
>> >> "CC=gcc" \
>> >> "CFLAGS=-Wall -O3" \
>> >> "$@"
>> >> ---
>> >>
>> >> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
>> >>
>> >> ---
>> >> [warning] setting ulimit to allow core files
>> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
>> >> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
>> >>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
>> >>         t/TEST -bugreport -verbose=0
>> >> [warning] setting ulimit to allow core files
>> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
>> >> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
>> >> using Apache/2.4.12 (worker MPM)
>> >>
>> >> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
>> >> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
>> >> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
>> >> .............................................................................................................................................................................................................................................................................................................
>> >> waiting 300 seconds for server to start: not ok
>> >> [  error] giving up after 301 secs. If you think that your system
>> >> is slow or overloaded try again with a longer timeout value.
>> >> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
>> >> to a high value (e.g. 600) and repeat the last command.
>> >>
>> >> [  error] server failed to start! (please examine t/logs/error_log)
>> >> +--------------------------------------------------------+
>> >> | Please file a bug report: http://perl.apache.org/bugs/ |
>> >> +--------------------------------------------------------+
>> >> make: *** [run_tests] Error 1
>> >> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
>> >> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
>> >> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
>> >> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
>> >> ********************************************************************************
>> >> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> >> *** Following a line consisting only of * characters there should be a line  ***
>> >> *** containing                                                               ***
>> >> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> >> *** The next line should then read                                           ***
>> >> ***     "done with server_shutdown_cleanup_register"                         ***
>> >> ********************************************************************************
>> >> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> >> *** done with server_shutdown_cleanup_register                               ***
>> >> ********************************************************************************
>> >> END in modperl_extra.pl, pid=19848
>> >> END in modperl_extra.pl, pid=19848
>> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> >> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
>> >> ---
>> >>
>> >> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
>> >>
>> >>
>> >>
>> >>
>> >> Regards,
>> >>
>> >> Jie
>> >>
>> >> * Steve Hay <st...@googlemail.com> wrote:
>> >>
>> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> >> > From: Steve Hay <st...@googlemail.com>
>> >> > To: Jie Gao <J....@sydney.edu.au>
>> >> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> >  <de...@perl.apache.org>
>> >> > Subject: Re: Trunk: APR.so won't load
>> >> >
>> >> > Actually, I don't think there is anything stopping -DAP_DEBUG from
>> >> > coming through from the httpd config. The change that was made
>> >> > (r357052) just stopped mod_perl from adding that itself when
>> >> > MP_MAINTAINER is specified.
>> >> >
>> >> > But maybe we do need to filter out -DAP_DEBUG?
>> >> > Or else stop using ap_strchr() and just use strchr() directly?
>> >> >
>> >> > Could you try the latter, since it seems like an easy fix? -- Change
>> >> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
>> >> > to be strchr() instead and then rebuild. Does that make the problem go
>> >> > away?
>> >> >
>> >> >
>> >> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
>> >> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
>> >> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>> >> > >
>> >> > > I think that symbol is not supposed to find its way into the mod_perl
>> >> > > build options, but it's obviously getting picked up somewhere and
>> >> > > slipping through...
>> >> > >
>> >> > >
>> >> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
>> >> > >> Hi Steve
>> >> > >>
>> >> > >> httpd is configured with "--enable-maintainer-mode".
>> >> > >>
>> >> > >> For mod_perl:
>> >> > >>
>> >> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>> >> > >>
>> >> > >> and I found the following line in the resultant Makefile:
>> >> > >>
>> >> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>> >> > >>
>> >> > >>
>> >> > >>
>> >> > >> Regards,
>> >> > >>
>> >> > >> Jie
>> >> > >>
>> >> > >> * Steve Hay <st...@googlemail.com> wrote:
>> >> > >>
>> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> >> > >>> From: Steve Hay <st...@googlemail.com>
>> >> > >>> To: Jie Gao <J....@sydney.edu.au>
>> >> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> > >>>  <de...@perl.apache.org>
>> >> > >>> Subject: Re: Trunk: APR.so won't load
>> >> > >>>
>> >> > >>> Sorry for the slow reply.
>> >> > >>>
>> >> > >>> I cannot reproduce the problem here on Windows. Your example module
>> >> > >>> loads up fine with all the "use APR" lines uncommented.
>> >> > >>>
>> >> > >>> The build system (and the means by which APR::* should be loadable
>> >> > >>> without mod_perl.so being loaded) is different on Windows, but I did
>> >> > >>> notice this:
>> >> > >>>
>> >> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> >> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
>> >> > >>> gets changed to strchr, and the latter is simply imported from the C
>> >> > >>> run-time library.
>> >> > >>>
>> >> > >>> I guess that's down to this code in httpd.h:
>> >> > >>>
>> >> > >>> #ifdef AP_DEBUG
>> >> > >>>
>> >> > >>> #undef strchr
>> >> > >>> # define strchr(s, c)  ap_strchr(s,c)
>> >> > >>> #undef strrchr
>> >> > >>> # define strrchr(s, c) ap_strrchr(s,c)
>> >> > >>> #undef strstr
>> >> > >>> # define strstr(s, c)  ap_strstr(s,c)
>> >> > >>>
>> >> > >>> #else
>> >> > >>>
>> >> > >>> /** use this instead of strchr */
>> >> > >>> # define ap_strchr(s, c)     strchr(s, c)
>> >> > >>> /** use this instead of strchr */
>> >> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
>> >> > >>> /** use this instead of strrchr */
>> >> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
>> >> > >>> /** use this instead of strrchr */
>> >> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> >> > >>> /** use this instead of strrstr*/
>> >> > >>> # define ap_strstr(s, c)     strstr(s, c)
>> >> > >>> /** use this instead of strrstr*/
>> >> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
>> >> > >>>
>> >> > >>> #endif
>> >> > >>>
>> >> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
>> >> > >>> it was a debug build).
>> >> > >>>
>> >> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> >> > >>> according to an old Changes entry:
>> >> > >>>
>> >> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> >> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>> >> > >>>
>> >> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> >> > >>> replacement of ap_strchr with strchr to not happen for you?
>> >> > >>>
>> >> > >>>
>> >> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>> >> > >>> > Hi All
>> >> > >>> >
>> >> > >>> > I had some more time looking into this, and here's some info I can provide.
>> >> > >>> >
>> >> > >>> > --------------------------------------------------------------------------
>> >> > >>> >
>> >> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> >> > >>> > ELF Header:
>> >> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> >> > >>> >   Class:                             ELF64
>> >> > >>> >   Data:                              2's complement, little endian
>> >> > >>> >   Version:                           1 (current)
>> >> > >>> >   OS/ABI:                            UNIX - System V
>> >> > >>> >   ABI Version:                       0
>> >> > >>> >   Type:                              DYN (Shared object file)
>> >> > >>> >   Machine:                           Advanced Micro Devices X86-64
>> >> > >>> >   Version:                           0x1
>> >> > >>> >   Entry point address:               0x1cb0
>> >> > >>> >   Start of program headers:          64 (bytes into file)
>> >> > >>> >   Start of section headers:          15480 (bytes into file)
>> >> > >>> >   Flags:                             0x0
>> >> > >>> >   Size of this header:               64 (bytes)
>> >> > >>> >   Size of program headers:           56 (bytes)
>> >> > >>> >   Number of program headers:         6
>> >> > >>> >   Size of section headers:           64 (bytes)
>> >> > >>> >   Number of section headers:         29
>> >> > >>> >   Section header string table index: 26
>> >> > >>> >
>> >> > >>> > Section Headers:
>> >> > >>> >   [Nr] Name              Type             Address           Offset
>> >> > >>> >        Size              EntSize          Flags  Link  Info  Align
>> >> > >>> >   [ 0]                   NULL             0000000000000000  00000000
>> >> > >>> >        0000000000000000  0000000000000000           0     0     0
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
>> >> > >>> >   Tag        Type                         Name/Value
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>> >> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>> >> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>> >> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>> >> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>> >> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>> >> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>> >> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>> >> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>> >> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>> >> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > Symbol table '.dynsym' contains 86 entries:
>> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>> >> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>> >> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>> >> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>> >> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>> >> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>> >> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>> >> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>> >> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> > >>> >
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > Symbol table '.symtab' contains 143 entries:
>> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >> > >>> >
>> >> > >>> >
>> >> > >>> > [ Lines removed for clarity ]
>> >> > >>> >
>> >> > >>> > --------------------------------------------------------------------------
>> >> > >>> >
>> >> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>> >> > >>> > any of the shared libs. This seems to create the problem when building
>> >> > >>> > a module with mod_perl or outside the mod_perl source.
>> >> > >>> >
>> >> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
>> >> > >>> >
>> >> > >>> > bug reports generating code: [Stas]
>> >> > >>> > - add (apr|apu)-config linking info
>> >> > >>> > - show the full path to the config file used to get the data for the
>> >> > >>> >   report
>> >> > >>> >
>> >> > >>> > The APR and APR::* family of modules can now be used without having
>> >> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>> >> > >>> > functions from the appropriate sources used to build mod_perl.so
>> >> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>> >> > >>> > a static library of needed functions is built, and APR/APR::*
>> >> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>> >> > >>> >
>> >> > >>> >
>> >> > >>> > I hope this helps resolve this issue in any way.
>> >> > >>> >
>> >> > >>> >
>> >> > >>> >
>> >> > >>> >
>> >> > >>> >
>> >> > >>> > Regards,
>> >> > >>> >
>> >> > >>> > Jie
>> >> > >>> >
>> >> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >> > >>> >
>> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> > >>> >> From: Jie Gao <J....@sydney.edu.au>
>> >> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >> > >>> >>  <de...@perl.apache.org>
>> >> > >>> >> Subject: Trunk: APR.so won't load
>> >> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> > >>> >>
>> >> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
>> >> > >>> >> a threading issue, but I installed it anyway.
>> >> > >>> >>
>> >> > >>> >> Tried to load a test module, but it fails with the following error:
>> >> > >>> >>
>> >> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> >> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>> >> > >>> >>
>> >> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>> >> > >>> >>
>> >> > >>> >> #-------------------------------------------------------------------------
>> >> > >>> >>
>> >> > >>> >> package mytest::mytestmodule;
>> >> > >>> >>
>> >> > >>> >> use 5.010001;
>> >> > >>> >> use strict;
>> >> > >>> >> use warnings;
>> >> > >>> >> use Carp;
>> >> > >>> >> $SIG{__DIE__} = \&Carp::confess;
>> >> > >>> >>
>> >> > >>> >> use mod_perl2;
>> >> > >>> >> use Apache2::Connection();
>> >> > >>> >> use Apache2::RequestRec();
>> >> > >>> >> use Apache2::SubRequest();
>> >> > >>> >> use Apache2::Access();
>> >> > >>> >> use Apache2::RequestUtil();
>> >> > >>> >> use Apache2::Response();
>> >> > >>> >> use Apache2::Log();
>> >> > >>> >> use Apache2::Util();
>> >> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> >> > >>> >> use Apache2::URI();
>> >> > >>> >> use Apache2::Filter ();
>> >> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> >> > >>> >> use IO::Socket qw(SOCK_STREAM);
>> >> > >>> >> use Data::Dumper;
>> >> > >>> >> use AnyDBM_File ();
>> >> > >>> >> #use APR::Brigade ();
>> >> > >>> >> #use APR::Bucket ();
>> >> > >>> >> #use APR::Base64 ();
>> >> > >>> >> #use APR::Table ();
>> >> > >>> >> #use APR::URI ();
>> >> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> >> > >>> >> #use Apache2::MPM();
>> >> > >>> >>
>> >> > >>> >> our $VERSION = '1.0.1';
>> >> > >>> >>
>> >> > >>> >> 1;
>> >> > >>> >> __END__
>> >> > >>> >>
>> >> > >>> >> #-------------------------------------------------------------------------
>> >> > >>> >>
>> >> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
>> >> > >>> >> 1. Problem Description:
>> >> > >>> >>
>> >> > >>> >>   [DESCRIBE THE PROBLEM HERE]
>> >> > >>> >>
>> >> > >>> >> 2. Used Components and their Configuration:
>> >> > >>> >>
>> >> > >>> >> *** mod_perl version 2.000009
>> >> > >>> >>
>> >> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>> >> > >>> >>
>> >> > >>> >> *** Makefile.PL options:
>> >> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>> >> > >>> >>   MP_APR_LIB     => aprext
>> >> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>> >> > >>> >>   MP_COMPAT_1X   => 1
>> >> > >>> >>   MP_GENERATE_XS => 1
>> >> > >>> >>   MP_LIBNAME     => mod_perl
>> >> > >>> >>   MP_USE_DSO     => 1
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> >> > >>> >> Server version: Apache/2.4.12 (Unix)
>> >> > >>> >> Server built:   Feb 27 2015 20:05:23
>> >> > >>> >> Server's Module Magic Number: 20120211:41
>> >> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> >> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> >> > >>> >> Architecture:   64-bit
>> >> > >>> >> Server MPM:     worker
>> >> > >>> >>   threaded:     yes (fixed thread count)
>> >> > >>> >>     forked:     yes (variable process count)
>> >> > >>> >> Server compiled with....
>> >> > >>> >>  -D APR_HAS_SENDFILE
>> >> > >>> >>  -D APR_HAS_MMAP
>> >> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> >> > >>> >>  -D APR_USE_SYSVSEM_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=256
>> >> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>> >> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>> >> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>> >> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>> >> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>> >> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>> >> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>> >> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>> >> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>> >> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>> >> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>> >> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>> >> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>> >> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> *** (apr|apu)-config linking info
>> >> > >>> >>
>> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> *** /usr/local/bin/perl -V
>> >> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>> >> > >>> >>
>> >> > >>> >>   Platform:
>> >> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>> >> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>> >> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>> >> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
>> >> > >>> >>     useithreads=define, usemultiplicity=define
>> >> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>> >> > >>> >>     usemymalloc=n, bincompat5005=undef
>> >> > >>> >>   Compiler:
>> >> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>> >> > >>> >>     optimize='-O2',
>> >> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>> >> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>> >> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>> >> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>> >> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>> >> > >>> >>     gnulibc_version='2.12'
>> >> > >>> >>   Dynamic Linking:
>> >> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>> >> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> Characteristics of this binary (from libperl):
>> >> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> >> > >>> >>                         PERL_DONT_CREATE_GVSV
>> >> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> >> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> >> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> >> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>> >> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>> >> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>> >> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>> >> > >>> >>   Built under linux
>> >> > >>> >>   Compiled at Feb 25 2015 15:58:55
>> >> > >>> >>   %ENV:
>> >> > >>> >>     PERL_LWP_USE_HTTP_10="1"
>> >> > >>> >>   @INC:
>> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>> >> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>> >> > >>> >>     /usr/local/lib/perl5/5.20.2
>> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>> >> > >>> >>     /usr/local/lib/perl5/site_perl
>> >> > >>> >>     .
>> >> > >>> >>
>> >> > >>> >> *** Packages of interest status:
>> >> > >>> >>
>> >> > >>> >> Apache2            : -
>> >> > >>> >> Apache2::Request   : -
>> >> > >>> >> CGI                : 3.65
>> >> > >>> >> ExtUtils::MakeMaker: 6.98
>> >> > >>> >> LWP                : 5.837
>> >> > >>> >> mod_perl           : -
>> >> > >>> >> mod_perl2          : 2.000009
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>> >> > >>> >>
>> >> > >>> >> -------------8<---------- End Bug Report --------------8<----------
>> >> > >>> >>
>> >> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>> >> > >>> >> total 4108
>> >> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> >> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> >> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> >> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> >> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> >> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> >> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> >> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> >> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> >> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> Regards,
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >> Jie.
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>

Re: Trunk: APR.so won't load

Posted by Jie Gao <J....@sydney.edu.au>.
Hi Steve

I got the src from trunk again and rebuilt httpd with
"--enable-maintainer-mode", just as you requested, and "make test"
passed with my module!

Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
commented out this time for some reason.

Still had this when running make test with mod_perl:

t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
# Failed test 4 in t/perl/ithreads3.t at line 33
# Failed test 5 in t/perl/ithreads3.t at line 35
t/perl/ithreads3.t ...................... Failed 3/6 subtests 

Thanks very much for your help!


Regards,

Jie 

* Steve Hay <st...@googlemail.com> wrote:

> Date: Mon, 13 Apr 2015 09:18:50 +0100
> From: Steve Hay <st...@googlemail.com>
> To: Jie Gao <J....@sydney.edu.au>
> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>  <de...@perl.apache.org>
> Subject: Re: Trunk: APR.so won't load
> 
> Thanks for the extra information.
> 
> I think the build with --enable-maintainer-mode succeeded simply
> because it doesn't include -DAP_DEBUG; the ap_strchr change was
> probably not related.
> 
> It would be nice to allow building mod_perl with a httpd built with
> --enable-maintainer-mode, and in the light of Joe's comment I think we
> simply need to remove -DAP_DEBUG from the build flags.
> 
> So please could you try rebuilding again using a clean mod_perl source
> tree (i.e. revert the ap_strchr change) but with the patch below
> applied to it, and using an --enable-maintainer-mode httpd?
> 
> You may still have to fiddle with slotmem_shm_module as before (sorry,
> I do not know what the problem is there) and I wouldn't expect the two
> test failures to go away either, but I'm hopeful that this build might
> at least work.
> 
> Index: lib/Apache2/Build.pm
> ===================================================================
> --- lib/Apache2/Build.pm        (revision 1673126)
> +++ lib/Apache2/Build.pm        (working copy)
> @@ -616,6 +616,9 @@
>      my $extra_cppflags = $self->apxs_extra_cppflags;
>      $ccopts .= " " . $extra_cppflags;
> 
> +    # Make sure the evil AP_DEBUG is not defined when building mod_perl
> +    $ccopts =~ s/ ?-DAP_DEBUG\b//;
> +
>      $ccopts;
>  }
> 
> 
> On 13 April 2015 at 03:37, Jie Gao <J....@sydney.edu.au> wrote:
> > Hi Steve
> >
> > I took some time to look further into this problem:
> >
> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
> >
> > and I found that the apache build process does not allow
> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
> > httpd.conf.
> >
> > Uncommenting that line made this problem go away.
> >
> > At the end of the process (with Apache built without
> > "--enable-maintainer-mode", and with ap_strchr replaced with
> > strchr, which you suggested (but may not be necessary here without
> > "--enable-maintainer-mode", I could load my modules successfully.
> >
> > There were still some errors when running "make test" for mod_perl:
> >
> >
> > ...
> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
> > # Failed test 5 in t/hooks/authen_digest.t at line 38
> > # Failed test 6 in t/hooks/authen_digest.t at line 42
> > # Failed test 7 in t/hooks/authen_digest.t at line 46
> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
> > ...
> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
> > # Failed test 4 in t/perl/ithreads3.t at line 33
> > # Failed test 5 in t/perl/ithreads3.t at line 35
> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
> >
> > Here is some more info:
> >
> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
> > [warning] setting ulimit to allow core files
> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
> > /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
> > using Apache/2.4.12 (worker MPM)
> >
> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
> > ...
> > waiting 300 seconds for server to start: ok (waited 2 secs)
> > server localhost:8529 started
> > server localhost:8530 listening (filter_out_apache)
> > server localhost:8531 listening (perlsections)
> > server localhost:8532 listening (inherit)
> > server localhost:8533 listening (TestModperl::perl_options2)
> > server localhost:8534 listening (TestModperl::perl_options)
> > server localhost:8535 listening (TestModperl::setupenv)
> > server localhost:8536 listening (TestModperl::merge)
> > server localhost:8537 listening (TestUser::rewrite)
> > server localhost:8538 listening (TestModules::proxy)
> > server localhost:8539 listening (TestVhost::config)
> > server localhost:8540 listening (TestVhost::log)
> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
> > server localhost:8542 listening (TestProtocol::eliza)
> > server localhost:8543 listening (TestProtocol::echo_nonblock)
> > server localhost:8544 listening (TestProtocol::echo_block)
> > server localhost:8545 listening (TestProtocol::echo_timeout)
> > server localhost:8546 listening (TestProtocol::echo_bbs2)
> > server localhost:8547 listening (TestProtocol::pseudo_http)
> > server localhost:8548 listening (TestProtocol::echo_filter)
> > server localhost:8549 listening (TestProtocol::echo_bbs)
> > server localhost:8550 listening (TestPreConnection::note)
> > server localhost:8551 listening (TestHooks::startup)
> > server localhost:8552 listening (TestHooks::hookrun)
> > server localhost:8553 listening (TestHooks::trans)
> > server localhost:8554 listening (TestHooks::stacked_handlers2)
> > server localhost:8555 listening (TestHooks::init)
> > server localhost:8556 listening (TestFilter::both_str_con_add)
> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
> > server localhost:8558 listening (TestFilter::in_str_msg)
> > server localhost:8559 listening (TestFilter::in_bbs_msg)
> > server localhost:8560 listening (TestDirective::perlrequire)
> > server localhost:8561 listening (TestDirective::perlmodule)
> > server localhost:8562 listening (TestPerl::ithreads)
> > server localhost:8563 listening (TestPerl::ithreads3)
> > server localhost:8564 listening (TestDirective::perlloadmodule3)
> > server localhost:8565 listening (TestDirective::perlloadmodule5)
> > server localhost:8566 listening (TestDirective::perlloadmodule4)
> > server localhost:8567 listening (TestAPI::add_config)
> > server localhost:8568 listening (TestDirective::perlloadmodule6)
> > server localhost:8569 listening (TestHooks::push_handlers_anon)
> > t/hooks/authen_digest.t ..
> > 1..7
> > # Running under perl version 5.020002 for linux
> > # Current time local: Mon Apr 13 12:28:20 2015
> > # Current time GMT:   Mon Apr 13 02:28:20 2015
> > # Using Test.pm version 1.26
> > # Using Apache/Test.pm version 1.38
> > # testing : handler returned HTTP_OK
> > # expected: 200
> > # received: '200'
> > ok 1
> > # response had no WWW-Authenticate header
> > ok 2
> > # testing : handler returned HTTP_UNAUTHORIZED
> > # expected: 401
> > # received: '401'
> > ok 3
> > # response had a WWW-Authenticate header
> > not ok 4
> > # Failed test 4 in t/hooks/authen_digest.t at line 36
> > # testing : response is using Digest authentication scheme
> > # expected: qr/^Digest/
> > # received: undef
> > not ok 5
> > # Failed test 5 in t/hooks/authen_digest.t at line 38
> > # testing : WWW-Authenticate header contains the proper realm
> > # expected: qr/realm="Simple Digest"/
> > # received: undef
> > not ok 6
> > # Failed test 6 in t/hooks/authen_digest.t at line 42
> > # testing : WWW-Authenticate header contains a nonce
> > # expected: qr/nonce="/
> > # received: undef
> > not ok 7
> > # Failed test 7 in t/hooks/authen_digest.t at line 46
> > Failed 4/7 subtests
> > t/perl/ithreads3.t .......
> > 1..6
> > # Running under perl version 5.020002 for linux
> > # Current time local: Mon Apr 13 12:28:21 2015
> > # Current time GMT:   Mon Apr 13 02:28:21 2015
> > # Using Test.pm version 1.26
> > # Using Apache/Test.pm version 1.38
> > # connecting to http://localhost:8563/
> > # testing : perl-script 1
> > # expected: 2
> > # received: '2'
> > ok 1
> > # testing : modperl 1
> > # expected: 2
> > # received: '2'
> > ok 2
> > # testing : perl-script 2
> > # expected: 5
> > # received: '2'
> > not ok 3
> > # Failed test 3 in t/perl/ithreads3.t at line 32
> > # testing : modperl 2
> > # expected: 5
> > # received: '3'
> > not ok 4
> > # Failed test 4 in t/perl/ithreads3.t at line 33
> > # testing : perl-script 3
> > # expected: 3
> > # received: '2'
> > not ok 5
> > # Failed test 5 in t/perl/ithreads3.t at line 35
> > # testing : modperl 3
> > # expected: 3
> > # received: '3'
> > ok 6
> > Failed 3/6 subtests
> >
> > Test Summary Report
> > -------------------
> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
> >   Failed tests:  4-7
> > t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
> >   Failed tests:  3-5
> > Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
> > Result: FAIL
> > Failed 2/2 test programs. 7/13 subtests failed.
> > [warning] server localhost:8529 shutdown
> > [warning] port 8529 still in use...
> > ...done
> > [  error] error running tests (please examine t/logs/error_log)
> >
> > # cat less t/logs/error_log
> > ********************************************************************************
> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> > *** Following a line consisting only of * characters there should be a line  ***
> > *** containing                                                               ***
> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> > *** The next line should then read                                           ***
> > ***     "done with server_shutdown_cleanup_register"                         ***
> > ********************************************************************************
> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> > *** done with server_shutdown_cleanup_register                               ***
> > ********************************************************************************
> > END in modperl_extra.pl, pid=25085
> > END in modperl_extra.pl, pid=25085
> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
> > END in modperl_extra.pl, pid=25093
> > END in modperl_extra.pl, pid=25093
> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
> > ********************************************************************************
> > *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> > *** Following a line consisting only of * characters there should be a line  ***
> > *** containing                                                               ***
> > ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> > *** The next line should then read                                           ***
> > ***     "done with server_shutdown_cleanup_register"                         ***
> > ********************************************************************************
> > Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> > *** done with server_shutdown_cleanup_register                               ***
> > ********************************************************************************
> > END in modperl_extra.pl, pid=25089
> > END in modperl_extra.pl, pid=25089
> >
> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
> >
> >
> >
> > Regards,
> >
> >
> > Jie
> >
> > * Jie Gao <J....@sydney.edu.au> wrote:
> >
> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
> >> From: Jie Gao <J....@sydney.edu.au>
> >> To: Steve Hay <st...@googlemail.com>
> >> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >>  <de...@perl.apache.org>
> >> Subject: Re: Trunk: APR.so won't load
> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> >>
> >> Hi Steve
> >>
> >> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
> >> strchr before recompiling.  I still got the same error message after that.
> >>
> >> I re-compiled apache without enabling the maintainer mode:
> >>
> >> ---
> >> CC="gcc"; export CC
> >> CFLAGS="-Wall -O3"; export CFLAGS
> >> "./configure" \
> >> "--prefix=/usr/local/httpd-2.4.12" \
> >> "--with-included-apr" \
> >> "--with-mpm=worker" \
> >> "--enable-auth-digest" \
> >> "--enable-dav" \
> >> "--enable-expires" \
> >> "--enable-headers" \
> >> "--enable-proxy-html" \
> >> "--enable-xml2enc" \
> >> "--enable-info" \
> >> "--enable-mime-magic" \
> >> "--enable-nonportable-atomics" \
> >> "--enable-proxy" \
> >> "--enable-proxy-balancer" \
> >> "--enable-proxy-http" \
> >> "--enable-rewrite" \
> >> "--enable-so" \
> >> "--enable-ssl" \
> >> "--enable-unique-id" \
> >> "--enable-vhost-alias" \
> >> "--enable-modules=most" \
> >> "--enable-mods-shared=most" \
> >> "--enable-lbmethod-byrequests" \
> >> "--enable-lbmethod-bytraffic" \
> >> "--enable-lbmethod-bybusyness" \
> >> "--enable-lbmethod-heartbeat" \
> >> "--enable-heartmonitor" \
> >> "--enable-watchdog" \
> >> "--enable-ratelimit" \
> >> "--enable-ext-filter" \
> >> "--enable-request" \
> >> "CC=gcc" \
> >> "CFLAGS=-Wall -O3" \
> >> "$@"
> >> ---
> >>
> >> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
> >>
> >> ---
> >> [warning] setting ulimit to allow core files
> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
> >> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
> >>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
> >>         t/TEST -bugreport -verbose=0
> >> [warning] setting ulimit to allow core files
> >> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
> >> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
> >> using Apache/2.4.12 (worker MPM)
> >>
> >> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
> >> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
> >> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
> >> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
> >> .............................................................................................................................................................................................................................................................................................................
> >> waiting 300 seconds for server to start: not ok
> >> [  error] giving up after 301 secs. If you think that your system
> >> is slow or overloaded try again with a longer timeout value.
> >> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
> >> to a high value (e.g. 600) and repeat the last command.
> >>
> >> [  error] server failed to start! (please examine t/logs/error_log)
> >> +--------------------------------------------------------+
> >> | Please file a bug report: http://perl.apache.org/bugs/ |
> >> +--------------------------------------------------------+
> >> make: *** [run_tests] Error 1
> >> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
> >> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
> >> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
> >> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
> >> ********************************************************************************
> >> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> >> *** Following a line consisting only of * characters there should be a line  ***
> >> *** containing                                                               ***
> >> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> >> *** The next line should then read                                           ***
> >> ***     "done with server_shutdown_cleanup_register"                         ***
> >> ********************************************************************************
> >> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> >> *** done with server_shutdown_cleanup_register                               ***
> >> ********************************************************************************
> >> END in modperl_extra.pl, pid=19848
> >> END in modperl_extra.pl, pid=19848
> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
> >> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
> >> ---
> >>
> >> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
> >>
> >>
> >>
> >>
> >> Regards,
> >>
> >> Jie
> >>
> >> * Steve Hay <st...@googlemail.com> wrote:
> >>
> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
> >> > From: Steve Hay <st...@googlemail.com>
> >> > To: Jie Gao <J....@sydney.edu.au>
> >> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >> >  <de...@perl.apache.org>
> >> > Subject: Re: Trunk: APR.so won't load
> >> >
> >> > Actually, I don't think there is anything stopping -DAP_DEBUG from
> >> > coming through from the httpd config. The change that was made
> >> > (r357052) just stopped mod_perl from adding that itself when
> >> > MP_MAINTAINER is specified.
> >> >
> >> > But maybe we do need to filter out -DAP_DEBUG?
> >> > Or else stop using ap_strchr() and just use strchr() directly?
> >> >
> >> > Could you try the latter, since it seems like an easy fix? -- Change
> >> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
> >> > to be strchr() instead and then rebuild. Does that make the problem go
> >> > away?
> >> >
> >> >
> >> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
> >> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> >> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
> >> > >
> >> > > I think that symbol is not supposed to find its way into the mod_perl
> >> > > build options, but it's obviously getting picked up somewhere and
> >> > > slipping through...
> >> > >
> >> > >
> >> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
> >> > >> Hi Steve
> >> > >>
> >> > >> httpd is configured with "--enable-maintainer-mode".
> >> > >>
> >> > >> For mod_perl:
> >> > >>
> >> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
> >> > >>
> >> > >> and I found the following line in the resultant Makefile:
> >> > >>
> >> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
> >> > >>
> >> > >>
> >> > >>
> >> > >> Regards,
> >> > >>
> >> > >> Jie
> >> > >>
> >> > >> * Steve Hay <st...@googlemail.com> wrote:
> >> > >>
> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> >> > >>> From: Steve Hay <st...@googlemail.com>
> >> > >>> To: Jie Gao <J....@sydney.edu.au>
> >> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >> > >>>  <de...@perl.apache.org>
> >> > >>> Subject: Re: Trunk: APR.so won't load
> >> > >>>
> >> > >>> Sorry for the slow reply.
> >> > >>>
> >> > >>> I cannot reproduce the problem here on Windows. Your example module
> >> > >>> loads up fine with all the "use APR" lines uncommented.
> >> > >>>
> >> > >>> The build system (and the means by which APR::* should be loadable
> >> > >>> without mod_perl.so being loaded) is different on Windows, but I did
> >> > >>> notice this:
> >> > >>>
> >> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> >> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
> >> > >>> gets changed to strchr, and the latter is simply imported from the C
> >> > >>> run-time library.
> >> > >>>
> >> > >>> I guess that's down to this code in httpd.h:
> >> > >>>
> >> > >>> #ifdef AP_DEBUG
> >> > >>>
> >> > >>> #undef strchr
> >> > >>> # define strchr(s, c)  ap_strchr(s,c)
> >> > >>> #undef strrchr
> >> > >>> # define strrchr(s, c) ap_strrchr(s,c)
> >> > >>> #undef strstr
> >> > >>> # define strstr(s, c)  ap_strstr(s,c)
> >> > >>>
> >> > >>> #else
> >> > >>>
> >> > >>> /** use this instead of strchr */
> >> > >>> # define ap_strchr(s, c)     strchr(s, c)
> >> > >>> /** use this instead of strchr */
> >> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
> >> > >>> /** use this instead of strrchr */
> >> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
> >> > >>> /** use this instead of strrchr */
> >> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
> >> > >>> /** use this instead of strrstr*/
> >> > >>> # define ap_strstr(s, c)     strstr(s, c)
> >> > >>> /** use this instead of strrstr*/
> >> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
> >> > >>>
> >> > >>> #endif
> >> > >>>
> >> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
> >> > >>> it was a debug build).
> >> > >>>
> >> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
> >> > >>> according to an old Changes entry:
> >> > >>>
> >> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
> >> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
> >> > >>>
> >> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
> >> > >>> replacement of ap_strchr with strchr to not happen for you?
> >> > >>>
> >> > >>>
> >> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
> >> > >>> > Hi All
> >> > >>> >
> >> > >>> > I had some more time looking into this, and here's some info I can provide.
> >> > >>> >
> >> > >>> > --------------------------------------------------------------------------
> >> > >>> >
> >> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> >> > >>> > ELF Header:
> >> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> >> > >>> >   Class:                             ELF64
> >> > >>> >   Data:                              2's complement, little endian
> >> > >>> >   Version:                           1 (current)
> >> > >>> >   OS/ABI:                            UNIX - System V
> >> > >>> >   ABI Version:                       0
> >> > >>> >   Type:                              DYN (Shared object file)
> >> > >>> >   Machine:                           Advanced Micro Devices X86-64
> >> > >>> >   Version:                           0x1
> >> > >>> >   Entry point address:               0x1cb0
> >> > >>> >   Start of program headers:          64 (bytes into file)
> >> > >>> >   Start of section headers:          15480 (bytes into file)
> >> > >>> >   Flags:                             0x0
> >> > >>> >   Size of this header:               64 (bytes)
> >> > >>> >   Size of program headers:           56 (bytes)
> >> > >>> >   Number of program headers:         6
> >> > >>> >   Size of section headers:           64 (bytes)
> >> > >>> >   Number of section headers:         29
> >> > >>> >   Section header string table index: 26
> >> > >>> >
> >> > >>> > Section Headers:
> >> > >>> >   [Nr] Name              Type             Address           Offset
> >> > >>> >        Size              EntSize          Flags  Link  Info  Align
> >> > >>> >   [ 0]                   NULL             0000000000000000  00000000
> >> > >>> >        0000000000000000  0000000000000000           0     0     0
> >> > >>> >
> >> > >>> > [ Lines removed for clarity ]
> >> > >>> >
> >> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
> >> > >>> >   Tag        Type                         Name/Value
> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
> >> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
> >> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
> >> > >>> >
> >> > >>> > [ Lines removed for clarity ]
> >> > >>> >
> >> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
> >> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
> >> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
> >> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
> >> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
> >> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
> >> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
> >> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
> >> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
> >> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
> >> > >>> >
> >> > >>> > [ Lines removed for clarity ]
> >> > >>> >
> >> > >>> > Symbol table '.dynsym' contains 86 entries:
> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
> >> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
> >> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
> >> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
> >> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
> >> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
> >> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
> >> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
> >> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >> > >>> >
> >> > >>> >
> >> > >>> > [ Lines removed for clarity ]
> >> > >>> >
> >> > >>> > Symbol table '.symtab' contains 143 entries:
> >> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
> >> > >>> >
> >> > >>> > [ Lines removed for clarity ]
> >> > >>> >
> >> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >> > >>> >
> >> > >>> >
> >> > >>> > [ Lines removed for clarity ]
> >> > >>> >
> >> > >>> > --------------------------------------------------------------------------
> >> > >>> >
> >> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
> >> > >>> > any of the shared libs. This seems to create the problem when building
> >> > >>> > a module with mod_perl or outside the mod_perl source.
> >> > >>> >
> >> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
> >> > >>> >
> >> > >>> > bug reports generating code: [Stas]
> >> > >>> > - add (apr|apu)-config linking info
> >> > >>> > - show the full path to the config file used to get the data for the
> >> > >>> >   report
> >> > >>> >
> >> > >>> > The APR and APR::* family of modules can now be used without having
> >> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
> >> > >>> > functions from the appropriate sources used to build mod_perl.so
> >> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> >> > >>> > a static library of needed functions is built, and APR/APR::*
> >> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
> >> > >>> >
> >> > >>> >
> >> > >>> > I hope this helps resolve this issue in any way.
> >> > >>> >
> >> > >>> >
> >> > >>> >
> >> > >>> >
> >> > >>> >
> >> > >>> > Regards,
> >> > >>> >
> >> > >>> > Jie
> >> > >>> >
> >> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
> >> > >>> >
> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> >> > >>> >> From: Jie Gao <J....@sydney.edu.au>
> >> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >> > >>> >>  <de...@perl.apache.org>
> >> > >>> >> Subject: Trunk: APR.so won't load
> >> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> >> > >>> >>
> >> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
> >> > >>> >> a threading issue, but I installed it anyway.
> >> > >>> >>
> >> > >>> >> Tried to load a test module, but it fails with the following error:
> >> > >>> >>
> >> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
> >> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
> >> > >>> >>
> >> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
> >> > >>> >>
> >> > >>> >> #-------------------------------------------------------------------------
> >> > >>> >>
> >> > >>> >> package mytest::mytestmodule;
> >> > >>> >>
> >> > >>> >> use 5.010001;
> >> > >>> >> use strict;
> >> > >>> >> use warnings;
> >> > >>> >> use Carp;
> >> > >>> >> $SIG{__DIE__} = \&Carp::confess;
> >> > >>> >>
> >> > >>> >> use mod_perl2;
> >> > >>> >> use Apache2::Connection();
> >> > >>> >> use Apache2::RequestRec();
> >> > >>> >> use Apache2::SubRequest();
> >> > >>> >> use Apache2::Access();
> >> > >>> >> use Apache2::RequestUtil();
> >> > >>> >> use Apache2::Response();
> >> > >>> >> use Apache2::Log();
> >> > >>> >> use Apache2::Util();
> >> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
> >> > >>> >> use Apache2::URI();
> >> > >>> >> use Apache2::Filter ();
> >> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
> >> > >>> >> use IO::Socket qw(SOCK_STREAM);
> >> > >>> >> use Data::Dumper;
> >> > >>> >> use AnyDBM_File ();
> >> > >>> >> #use APR::Brigade ();
> >> > >>> >> #use APR::Bucket ();
> >> > >>> >> #use APR::Base64 ();
> >> > >>> >> #use APR::Table ();
> >> > >>> >> #use APR::URI ();
> >> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
> >> > >>> >> #use Apache2::MPM();
> >> > >>> >>
> >> > >>> >> our $VERSION = '1.0.1';
> >> > >>> >>
> >> > >>> >> 1;
> >> > >>> >> __END__
> >> > >>> >>
> >> > >>> >> #-------------------------------------------------------------------------
> >> > >>> >>
> >> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
> >> > >>> >> 1. Problem Description:
> >> > >>> >>
> >> > >>> >>   [DESCRIBE THE PROBLEM HERE]
> >> > >>> >>
> >> > >>> >> 2. Used Components and their Configuration:
> >> > >>> >>
> >> > >>> >> *** mod_perl version 2.000009
> >> > >>> >>
> >> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
> >> > >>> >>
> >> > >>> >> *** Makefile.PL options:
> >> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
> >> > >>> >>   MP_APR_LIB     => aprext
> >> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
> >> > >>> >>   MP_COMPAT_1X   => 1
> >> > >>> >>   MP_GENERATE_XS => 1
> >> > >>> >>   MP_LIBNAME     => mod_perl
> >> > >>> >>   MP_USE_DSO     => 1
> >> > >>> >>
> >> > >>> >>
> >> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
> >> > >>> >> Server version: Apache/2.4.12 (Unix)
> >> > >>> >> Server built:   Feb 27 2015 20:05:23
> >> > >>> >> Server's Module Magic Number: 20120211:41
> >> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
> >> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
> >> > >>> >> Architecture:   64-bit
> >> > >>> >> Server MPM:     worker
> >> > >>> >>   threaded:     yes (fixed thread count)
> >> > >>> >>     forked:     yes (variable process count)
> >> > >>> >> Server compiled with....
> >> > >>> >>  -D APR_HAS_SENDFILE
> >> > >>> >>  -D APR_HAS_MMAP
> >> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
> >> > >>> >>  -D APR_USE_SYSVSEM_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=256
> >> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
> >> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
> >> > >>> >>
> >> > >>> >>
> >> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
> >> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
> >> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
> >> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
> >> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
> >> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
> >> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
> >> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
> >> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
> >> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
> >> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
> >> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
> >> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
> >> > >>> >>
> >> > >>> >>
> >> > >>> >> *** (apr|apu)-config linking info
> >> > >>> >>
> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
> >> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
> >> > >>> >>
> >> > >>> >>
> >> > >>> >>
> >> > >>> >> *** /usr/local/bin/perl -V
> >> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
> >> > >>> >>
> >> > >>> >>   Platform:
> >> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
> >> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
> >> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
> >> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
> >> > >>> >>     useithreads=define, usemultiplicity=define
> >> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
> >> > >>> >>     usemymalloc=n, bincompat5005=undef
> >> > >>> >>   Compiler:
> >> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> >> > >>> >>     optimize='-O2',
> >> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
> >> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
> >> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
> >> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> >> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> >> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
> >> > >>> >>     gnulibc_version='2.12'
> >> > >>> >>   Dynamic Linking:
> >> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
> >> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
> >> > >>> >>
> >> > >>> >>
> >> > >>> >> Characteristics of this binary (from libperl):
> >> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
> >> > >>> >>                         PERL_DONT_CREATE_GVSV
> >> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
> >> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> >> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> >> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
> >> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
> >> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
> >> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
> >> > >>> >>   Built under linux
> >> > >>> >>   Compiled at Feb 25 2015 15:58:55
> >> > >>> >>   %ENV:
> >> > >>> >>     PERL_LWP_USE_HTTP_10="1"
> >> > >>> >>   @INC:
> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
> >> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
> >> > >>> >>     /usr/local/lib/perl5/5.20.2
> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
> >> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
> >> > >>> >>     /usr/local/lib/perl5/site_perl
> >> > >>> >>     .
> >> > >>> >>
> >> > >>> >> *** Packages of interest status:
> >> > >>> >>
> >> > >>> >> Apache2            : -
> >> > >>> >> Apache2::Request   : -
> >> > >>> >> CGI                : 3.65
> >> > >>> >> ExtUtils::MakeMaker: 6.98
> >> > >>> >> LWP                : 5.837
> >> > >>> >> mod_perl           : -
> >> > >>> >> mod_perl2          : 2.000009
> >> > >>> >>
> >> > >>> >>
> >> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
> >> > >>> >>
> >> > >>> >> -------------8<---------- End Bug Report --------------8<----------
> >> > >>> >>
> >> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
> >> > >>> >> total 4108
> >> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
> >> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
> >> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
> >> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
> >> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
> >> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
> >> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
> >> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
> >> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
> >> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
> >> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
> >> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
> >> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
> >> > >>> >>
> >> > >>> >>
> >> > >>> >>
> >> > >>> >>
> >> > >>> >>
> >> > >>> >>
> >> > >>> >> Regards,
> >> > >>> >>
> >> > >>> >>
> >> > >>> >> Jie.
> >> > >>> >>
> >> > >>> >>
> >> > >>> >>

Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
Thanks for the extra information.

I think the build with --enable-maintainer-mode succeeded simply
because it doesn't include -DAP_DEBUG; the ap_strchr change was
probably not related.

It would be nice to allow building mod_perl with a httpd built with
--enable-maintainer-mode, and in the light of Joe's comment I think we
simply need to remove -DAP_DEBUG from the build flags.

So please could you try rebuilding again using a clean mod_perl source
tree (i.e. revert the ap_strchr change) but with the patch below
applied to it, and using an --enable-maintainer-mode httpd?

You may still have to fiddle with slotmem_shm_module as before (sorry,
I do not know what the problem is there) and I wouldn't expect the two
test failures to go away either, but I'm hopeful that this build might
at least work.

Index: lib/Apache2/Build.pm
===================================================================
--- lib/Apache2/Build.pm        (revision 1673126)
+++ lib/Apache2/Build.pm        (working copy)
@@ -616,6 +616,9 @@
     my $extra_cppflags = $self->apxs_extra_cppflags;
     $ccopts .= " " . $extra_cppflags;

+    # Make sure the evil AP_DEBUG is not defined when building mod_perl
+    $ccopts =~ s/ ?-DAP_DEBUG\b//;
+
     $ccopts;
 }


On 13 April 2015 at 03:37, Jie Gao <J....@sydney.edu.au> wrote:
> Hi Steve
>
> I took some time to look further into this problem:
>
>> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>
> and I found that the apache build process does not allow
> slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
> httpd.conf.
>
> Uncommenting that line made this problem go away.
>
> At the end of the process (with Apache built without
> "--enable-maintainer-mode", and with ap_strchr replaced with
> strchr, which you suggested (but may not be necessary here without
> "--enable-maintainer-mode", I could load my modules successfully.
>
> There were still some errors when running "make test" for mod_perl:
>
>
> ...
> t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
> # Failed test 5 in t/hooks/authen_digest.t at line 38
> # Failed test 6 in t/hooks/authen_digest.t at line 42
> # Failed test 7 in t/hooks/authen_digest.t at line 46
> t/hooks/authen_digest.t ................. Failed 4/7 subtests
> ...
> t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # Failed test 5 in t/perl/ithreads3.t at line 35
> t/perl/ithreads3.t ...................... Failed 3/6 subtests
>
> Here is some more info:
>
> [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
> jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
> [warning] setting ulimit to allow core files
> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
> using Apache/2.4.12 (worker MPM)
>
> waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
> [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
> [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
> [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
> ...
> waiting 300 seconds for server to start: ok (waited 2 secs)
> server localhost:8529 started
> server localhost:8530 listening (filter_out_apache)
> server localhost:8531 listening (perlsections)
> server localhost:8532 listening (inherit)
> server localhost:8533 listening (TestModperl::perl_options2)
> server localhost:8534 listening (TestModperl::perl_options)
> server localhost:8535 listening (TestModperl::setupenv)
> server localhost:8536 listening (TestModperl::merge)
> server localhost:8537 listening (TestUser::rewrite)
> server localhost:8538 listening (TestModules::proxy)
> server localhost:8539 listening (TestVhost::config)
> server localhost:8540 listening (TestVhost::log)
> server localhost:8541 listening (TestDirective::perlcleanuphandler)
> server localhost:8542 listening (TestProtocol::eliza)
> server localhost:8543 listening (TestProtocol::echo_nonblock)
> server localhost:8544 listening (TestProtocol::echo_block)
> server localhost:8545 listening (TestProtocol::echo_timeout)
> server localhost:8546 listening (TestProtocol::echo_bbs2)
> server localhost:8547 listening (TestProtocol::pseudo_http)
> server localhost:8548 listening (TestProtocol::echo_filter)
> server localhost:8549 listening (TestProtocol::echo_bbs)
> server localhost:8550 listening (TestPreConnection::note)
> server localhost:8551 listening (TestHooks::startup)
> server localhost:8552 listening (TestHooks::hookrun)
> server localhost:8553 listening (TestHooks::trans)
> server localhost:8554 listening (TestHooks::stacked_handlers2)
> server localhost:8555 listening (TestHooks::init)
> server localhost:8556 listening (TestFilter::both_str_con_add)
> server localhost:8557 listening (TestFilter::in_bbs_inject_header)
> server localhost:8558 listening (TestFilter::in_str_msg)
> server localhost:8559 listening (TestFilter::in_bbs_msg)
> server localhost:8560 listening (TestDirective::perlrequire)
> server localhost:8561 listening (TestDirective::perlmodule)
> server localhost:8562 listening (TestPerl::ithreads)
> server localhost:8563 listening (TestPerl::ithreads3)
> server localhost:8564 listening (TestDirective::perlloadmodule3)
> server localhost:8565 listening (TestDirective::perlloadmodule5)
> server localhost:8566 listening (TestDirective::perlloadmodule4)
> server localhost:8567 listening (TestAPI::add_config)
> server localhost:8568 listening (TestDirective::perlloadmodule6)
> server localhost:8569 listening (TestHooks::push_handlers_anon)
> t/hooks/authen_digest.t ..
> 1..7
> # Running under perl version 5.020002 for linux
> # Current time local: Mon Apr 13 12:28:20 2015
> # Current time GMT:   Mon Apr 13 02:28:20 2015
> # Using Test.pm version 1.26
> # Using Apache/Test.pm version 1.38
> # testing : handler returned HTTP_OK
> # expected: 200
> # received: '200'
> ok 1
> # response had no WWW-Authenticate header
> ok 2
> # testing : handler returned HTTP_UNAUTHORIZED
> # expected: 401
> # received: '401'
> ok 3
> # response had a WWW-Authenticate header
> not ok 4
> # Failed test 4 in t/hooks/authen_digest.t at line 36
> # testing : response is using Digest authentication scheme
> # expected: qr/^Digest/
> # received: undef
> not ok 5
> # Failed test 5 in t/hooks/authen_digest.t at line 38
> # testing : WWW-Authenticate header contains the proper realm
> # expected: qr/realm="Simple Digest"/
> # received: undef
> not ok 6
> # Failed test 6 in t/hooks/authen_digest.t at line 42
> # testing : WWW-Authenticate header contains a nonce
> # expected: qr/nonce="/
> # received: undef
> not ok 7
> # Failed test 7 in t/hooks/authen_digest.t at line 46
> Failed 4/7 subtests
> t/perl/ithreads3.t .......
> 1..6
> # Running under perl version 5.020002 for linux
> # Current time local: Mon Apr 13 12:28:21 2015
> # Current time GMT:   Mon Apr 13 02:28:21 2015
> # Using Test.pm version 1.26
> # Using Apache/Test.pm version 1.38
> # connecting to http://localhost:8563/
> # testing : perl-script 1
> # expected: 2
> # received: '2'
> ok 1
> # testing : modperl 1
> # expected: 2
> # received: '2'
> ok 2
> # testing : perl-script 2
> # expected: 5
> # received: '2'
> not ok 3
> # Failed test 3 in t/perl/ithreads3.t at line 32
> # testing : modperl 2
> # expected: 5
> # received: '3'
> not ok 4
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # testing : perl-script 3
> # expected: 3
> # received: '2'
> not ok 5
> # Failed test 5 in t/perl/ithreads3.t at line 35
> # testing : modperl 3
> # expected: 3
> # received: '3'
> ok 6
> Failed 3/6 subtests
>
> Test Summary Report
> -------------------
> t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>   Failed tests:  4-7
> t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
>   Failed tests:  3-5
> Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
> Result: FAIL
> Failed 2/2 test programs. 7/13 subtests failed.
> [warning] server localhost:8529 shutdown
> [warning] port 8529 still in use...
> ...done
> [  error] error running tests (please examine t/logs/error_log)
>
> # cat less t/logs/error_log
> ********************************************************************************
> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> *** Following a line consisting only of * characters there should be a line  ***
> *** containing                                                               ***
> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> *** The next line should then read                                           ***
> ***     "done with server_shutdown_cleanup_register"                         ***
> ********************************************************************************
> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> *** done with server_shutdown_cleanup_register                               ***
> ********************************************************************************
> END in modperl_extra.pl, pid=25085
> END in modperl_extra.pl, pid=25085
> [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
> [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
> [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
> [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
> [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
> [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
> [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
> [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
> [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
> END in modperl_extra.pl, pid=25093
> END in modperl_extra.pl, pid=25093
> [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
> [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
> ********************************************************************************
> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> *** Following a line consisting only of * characters there should be a line  ***
> *** containing                                                               ***
> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> *** The next line should then read                                           ***
> ***     "done with server_shutdown_cleanup_register"                         ***
> ********************************************************************************
> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> *** done with server_shutdown_cleanup_register                               ***
> ********************************************************************************
> END in modperl_extra.pl, pid=25089
> END in modperl_extra.pl, pid=25089
>
> BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>
>
>
> Regards,
>
>
> Jie
>
> * Jie Gao <J....@sydney.edu.au> wrote:
>
>> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> From: Jie Gao <J....@sydney.edu.au>
>> To: Steve Hay <st...@googlemail.com>
>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>> User-Agent: Mutt/1.5.21 (2010-09-15)
>>
>> Hi Steve
>>
>> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
>> strchr before recompiling.  I still got the same error message after that.
>>
>> I re-compiled apache without enabling the maintainer mode:
>>
>> ---
>> CC="gcc"; export CC
>> CFLAGS="-Wall -O3"; export CFLAGS
>> "./configure" \
>> "--prefix=/usr/local/httpd-2.4.12" \
>> "--with-included-apr" \
>> "--with-mpm=worker" \
>> "--enable-auth-digest" \
>> "--enable-dav" \
>> "--enable-expires" \
>> "--enable-headers" \
>> "--enable-proxy-html" \
>> "--enable-xml2enc" \
>> "--enable-info" \
>> "--enable-mime-magic" \
>> "--enable-nonportable-atomics" \
>> "--enable-proxy" \
>> "--enable-proxy-balancer" \
>> "--enable-proxy-http" \
>> "--enable-rewrite" \
>> "--enable-so" \
>> "--enable-ssl" \
>> "--enable-unique-id" \
>> "--enable-vhost-alias" \
>> "--enable-modules=most" \
>> "--enable-mods-shared=most" \
>> "--enable-lbmethod-byrequests" \
>> "--enable-lbmethod-bytraffic" \
>> "--enable-lbmethod-bybusyness" \
>> "--enable-lbmethod-heartbeat" \
>> "--enable-heartmonitor" \
>> "--enable-watchdog" \
>> "--enable-ratelimit" \
>> "--enable-ext-filter" \
>> "--enable-request" \
>> "CC=gcc" \
>> "CFLAGS=-Wall -O3" \
>> "$@"
>> ---
>>
>> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
>>
>> ---
>> [warning] setting ulimit to allow core files
>> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
>> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
>>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
>>         t/TEST -bugreport -verbose=0
>> [warning] setting ulimit to allow core files
>> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
>> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
>> using Apache/2.4.12 (worker MPM)
>>
>> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
>> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
>> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
>> .............................................................................................................................................................................................................................................................................................................
>> waiting 300 seconds for server to start: not ok
>> [  error] giving up after 301 secs. If you think that your system
>> is slow or overloaded try again with a longer timeout value.
>> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
>> to a high value (e.g. 600) and repeat the last command.
>>
>> [  error] server failed to start! (please examine t/logs/error_log)
>> +--------------------------------------------------------+
>> | Please file a bug report: http://perl.apache.org/bugs/ |
>> +--------------------------------------------------------+
>> make: *** [run_tests] Error 1
>> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
>> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
>> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
>> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
>> ********************************************************************************
>> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> *** Following a line consisting only of * characters there should be a line  ***
>> *** containing                                                               ***
>> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> *** The next line should then read                                           ***
>> ***     "done with server_shutdown_cleanup_register"                         ***
>> ********************************************************************************
>> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> *** done with server_shutdown_cleanup_register                               ***
>> ********************************************************************************
>> END in modperl_extra.pl, pid=19848
>> END in modperl_extra.pl, pid=19848
>> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
>> ---
>>
>> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
>>
>>
>>
>>
>> Regards,
>>
>> Jie
>>
>> * Steve Hay <st...@googlemail.com> wrote:
>>
>> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> > From: Steve Hay <st...@googlemail.com>
>> > To: Jie Gao <J....@sydney.edu.au>
>> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >  <de...@perl.apache.org>
>> > Subject: Re: Trunk: APR.so won't load
>> >
>> > Actually, I don't think there is anything stopping -DAP_DEBUG from
>> > coming through from the httpd config. The change that was made
>> > (r357052) just stopped mod_perl from adding that itself when
>> > MP_MAINTAINER is specified.
>> >
>> > But maybe we do need to filter out -DAP_DEBUG?
>> > Or else stop using ap_strchr() and just use strchr() directly?
>> >
>> > Could you try the latter, since it seems like an easy fix? -- Change
>> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
>> > to be strchr() instead and then rebuild. Does that make the problem go
>> > away?
>> >
>> >
>> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
>> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
>> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>> > >
>> > > I think that symbol is not supposed to find its way into the mod_perl
>> > > build options, but it's obviously getting picked up somewhere and
>> > > slipping through...
>> > >
>> > >
>> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
>> > >> Hi Steve
>> > >>
>> > >> httpd is configured with "--enable-maintainer-mode".
>> > >>
>> > >> For mod_perl:
>> > >>
>> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>> > >>
>> > >> and I found the following line in the resultant Makefile:
>> > >>
>> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>> > >>
>> > >>
>> > >>
>> > >> Regards,
>> > >>
>> > >> Jie
>> > >>
>> > >> * Steve Hay <st...@googlemail.com> wrote:
>> > >>
>> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> > >>> From: Steve Hay <st...@googlemail.com>
>> > >>> To: Jie Gao <J....@sydney.edu.au>
>> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> > >>>  <de...@perl.apache.org>
>> > >>> Subject: Re: Trunk: APR.so won't load
>> > >>>
>> > >>> Sorry for the slow reply.
>> > >>>
>> > >>> I cannot reproduce the problem here on Windows. Your example module
>> > >>> loads up fine with all the "use APR" lines uncommented.
>> > >>>
>> > >>> The build system (and the means by which APR::* should be loadable
>> > >>> without mod_perl.so being loaded) is different on Windows, but I did
>> > >>> notice this:
>> > >>>
>> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
>> > >>> gets changed to strchr, and the latter is simply imported from the C
>> > >>> run-time library.
>> > >>>
>> > >>> I guess that's down to this code in httpd.h:
>> > >>>
>> > >>> #ifdef AP_DEBUG
>> > >>>
>> > >>> #undef strchr
>> > >>> # define strchr(s, c)  ap_strchr(s,c)
>> > >>> #undef strrchr
>> > >>> # define strrchr(s, c) ap_strrchr(s,c)
>> > >>> #undef strstr
>> > >>> # define strstr(s, c)  ap_strstr(s,c)
>> > >>>
>> > >>> #else
>> > >>>
>> > >>> /** use this instead of strchr */
>> > >>> # define ap_strchr(s, c)     strchr(s, c)
>> > >>> /** use this instead of strchr */
>> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
>> > >>> /** use this instead of strrchr */
>> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
>> > >>> /** use this instead of strrchr */
>> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> > >>> /** use this instead of strrstr*/
>> > >>> # define ap_strstr(s, c)     strstr(s, c)
>> > >>> /** use this instead of strrstr*/
>> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
>> > >>>
>> > >>> #endif
>> > >>>
>> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
>> > >>> it was a debug build).
>> > >>>
>> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> > >>> according to an old Changes entry:
>> > >>>
>> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>> > >>>
>> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> > >>> replacement of ap_strchr with strchr to not happen for you?
>> > >>>
>> > >>>
>> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>> > >>> > Hi All
>> > >>> >
>> > >>> > I had some more time looking into this, and here's some info I can provide.
>> > >>> >
>> > >>> > --------------------------------------------------------------------------
>> > >>> >
>> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> > >>> > ELF Header:
>> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> > >>> >   Class:                             ELF64
>> > >>> >   Data:                              2's complement, little endian
>> > >>> >   Version:                           1 (current)
>> > >>> >   OS/ABI:                            UNIX - System V
>> > >>> >   ABI Version:                       0
>> > >>> >   Type:                              DYN (Shared object file)
>> > >>> >   Machine:                           Advanced Micro Devices X86-64
>> > >>> >   Version:                           0x1
>> > >>> >   Entry point address:               0x1cb0
>> > >>> >   Start of program headers:          64 (bytes into file)
>> > >>> >   Start of section headers:          15480 (bytes into file)
>> > >>> >   Flags:                             0x0
>> > >>> >   Size of this header:               64 (bytes)
>> > >>> >   Size of program headers:           56 (bytes)
>> > >>> >   Number of program headers:         6
>> > >>> >   Size of section headers:           64 (bytes)
>> > >>> >   Number of section headers:         29
>> > >>> >   Section header string table index: 26
>> > >>> >
>> > >>> > Section Headers:
>> > >>> >   [Nr] Name              Type             Address           Offset
>> > >>> >        Size              EntSize          Flags  Link  Info  Align
>> > >>> >   [ 0]                   NULL             0000000000000000  00000000
>> > >>> >        0000000000000000  0000000000000000           0     0     0
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
>> > >>> >   Tag        Type                         Name/Value
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > Symbol table '.dynsym' contains 86 entries:
>> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> > >>> >
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > Symbol table '.symtab' contains 143 entries:
>> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> > >>> >
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > --------------------------------------------------------------------------
>> > >>> >
>> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>> > >>> > any of the shared libs. This seems to create the problem when building
>> > >>> > a module with mod_perl or outside the mod_perl source.
>> > >>> >
>> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
>> > >>> >
>> > >>> > bug reports generating code: [Stas]
>> > >>> > - add (apr|apu)-config linking info
>> > >>> > - show the full path to the config file used to get the data for the
>> > >>> >   report
>> > >>> >
>> > >>> > The APR and APR::* family of modules can now be used without having
>> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>> > >>> > functions from the appropriate sources used to build mod_perl.so
>> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>> > >>> > a static library of needed functions is built, and APR/APR::*
>> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>> > >>> >
>> > >>> >
>> > >>> > I hope this helps resolve this issue in any way.
>> > >>> >
>> > >>> >
>> > >>> >
>> > >>> >
>> > >>> >
>> > >>> > Regards,
>> > >>> >
>> > >>> > Jie
>> > >>> >
>> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> > >>> >
>> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> > >>> >> From: Jie Gao <J....@sydney.edu.au>
>> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> > >>> >>  <de...@perl.apache.org>
>> > >>> >> Subject: Trunk: APR.so won't load
>> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> > >>> >>
>> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
>> > >>> >> a threading issue, but I installed it anyway.
>> > >>> >>
>> > >>> >> Tried to load a test module, but it fails with the following error:
>> > >>> >>
>> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>> > >>> >>
>> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>> > >>> >>
>> > >>> >> #-------------------------------------------------------------------------
>> > >>> >>
>> > >>> >> package mytest::mytestmodule;
>> > >>> >>
>> > >>> >> use 5.010001;
>> > >>> >> use strict;
>> > >>> >> use warnings;
>> > >>> >> use Carp;
>> > >>> >> $SIG{__DIE__} = \&Carp::confess;
>> > >>> >>
>> > >>> >> use mod_perl2;
>> > >>> >> use Apache2::Connection();
>> > >>> >> use Apache2::RequestRec();
>> > >>> >> use Apache2::SubRequest();
>> > >>> >> use Apache2::Access();
>> > >>> >> use Apache2::RequestUtil();
>> > >>> >> use Apache2::Response();
>> > >>> >> use Apache2::Log();
>> > >>> >> use Apache2::Util();
>> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> > >>> >> use Apache2::URI();
>> > >>> >> use Apache2::Filter ();
>> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> > >>> >> use IO::Socket qw(SOCK_STREAM);
>> > >>> >> use Data::Dumper;
>> > >>> >> use AnyDBM_File ();
>> > >>> >> #use APR::Brigade ();
>> > >>> >> #use APR::Bucket ();
>> > >>> >> #use APR::Base64 ();
>> > >>> >> #use APR::Table ();
>> > >>> >> #use APR::URI ();
>> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> > >>> >> #use Apache2::MPM();
>> > >>> >>
>> > >>> >> our $VERSION = '1.0.1';
>> > >>> >>
>> > >>> >> 1;
>> > >>> >> __END__
>> > >>> >>
>> > >>> >> #-------------------------------------------------------------------------
>> > >>> >>
>> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
>> > >>> >> 1. Problem Description:
>> > >>> >>
>> > >>> >>   [DESCRIBE THE PROBLEM HERE]
>> > >>> >>
>> > >>> >> 2. Used Components and their Configuration:
>> > >>> >>
>> > >>> >> *** mod_perl version 2.000009
>> > >>> >>
>> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>> > >>> >>
>> > >>> >> *** Makefile.PL options:
>> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>> > >>> >>   MP_APR_LIB     => aprext
>> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>> > >>> >>   MP_COMPAT_1X   => 1
>> > >>> >>   MP_GENERATE_XS => 1
>> > >>> >>   MP_LIBNAME     => mod_perl
>> > >>> >>   MP_USE_DSO     => 1
>> > >>> >>
>> > >>> >>
>> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> > >>> >> Server version: Apache/2.4.12 (Unix)
>> > >>> >> Server built:   Feb 27 2015 20:05:23
>> > >>> >> Server's Module Magic Number: 20120211:41
>> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> > >>> >> Architecture:   64-bit
>> > >>> >> Server MPM:     worker
>> > >>> >>   threaded:     yes (fixed thread count)
>> > >>> >>     forked:     yes (variable process count)
>> > >>> >> Server compiled with....
>> > >>> >>  -D APR_HAS_SENDFILE
>> > >>> >>  -D APR_HAS_MMAP
>> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> > >>> >>  -D APR_USE_SYSVSEM_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=256
>> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>> > >>> >>
>> > >>> >>
>> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>> > >>> >>
>> > >>> >>
>> > >>> >> *** (apr|apu)-config linking info
>> > >>> >>
>> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >> *** /usr/local/bin/perl -V
>> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>> > >>> >>
>> > >>> >>   Platform:
>> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
>> > >>> >>     useithreads=define, usemultiplicity=define
>> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>> > >>> >>     usemymalloc=n, bincompat5005=undef
>> > >>> >>   Compiler:
>> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>> > >>> >>     optimize='-O2',
>> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>> > >>> >>     gnulibc_version='2.12'
>> > >>> >>   Dynamic Linking:
>> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>> > >>> >>
>> > >>> >>
>> > >>> >> Characteristics of this binary (from libperl):
>> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> > >>> >>                         PERL_DONT_CREATE_GVSV
>> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>> > >>> >>   Built under linux
>> > >>> >>   Compiled at Feb 25 2015 15:58:55
>> > >>> >>   %ENV:
>> > >>> >>     PERL_LWP_USE_HTTP_10="1"
>> > >>> >>   @INC:
>> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>> > >>> >>     /usr/local/lib/perl5/5.20.2
>> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>> > >>> >>     /usr/local/lib/perl5/site_perl
>> > >>> >>     .
>> > >>> >>
>> > >>> >> *** Packages of interest status:
>> > >>> >>
>> > >>> >> Apache2            : -
>> > >>> >> Apache2::Request   : -
>> > >>> >> CGI                : 3.65
>> > >>> >> ExtUtils::MakeMaker: 6.98
>> > >>> >> LWP                : 5.837
>> > >>> >> mod_perl           : -
>> > >>> >> mod_perl2          : 2.000009
>> > >>> >>
>> > >>> >>
>> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>> > >>> >>
>> > >>> >> -------------8<---------- End Bug Report --------------8<----------
>> > >>> >>
>> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>> > >>> >> total 4108
>> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >> Regards,
>> > >>> >>
>> > >>> >>
>> > >>> >> Jie.
>> > >>> >>
>> > >>> >>
>> > >>> >>

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


Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
Thanks for the extra information.

I think the build with --enable-maintainer-mode succeeded simply
because it doesn't include -DAP_DEBUG; the ap_strchr change was
probably not related.

It would be nice to allow building mod_perl with a httpd built with
--enable-maintainer-mode, and in the light of Joe's comment I think we
simply need to remove -DAP_DEBUG from the build flags.

So please could you try rebuilding again using a clean mod_perl source
tree (i.e. revert the ap_strchr change) but with the patch below
applied to it, and using an --enable-maintainer-mode httpd?

You may still have to fiddle with slotmem_shm_module as before (sorry,
I do not know what the problem is there) and I wouldn't expect the two
test failures to go away either, but I'm hopeful that this build might
at least work.

Index: lib/Apache2/Build.pm
===================================================================
--- lib/Apache2/Build.pm        (revision 1673126)
+++ lib/Apache2/Build.pm        (working copy)
@@ -616,6 +616,9 @@
     my $extra_cppflags = $self->apxs_extra_cppflags;
     $ccopts .= " " . $extra_cppflags;

+    # Make sure the evil AP_DEBUG is not defined when building mod_perl
+    $ccopts =~ s/ ?-DAP_DEBUG\b//;
+
     $ccopts;
 }


On 13 April 2015 at 03:37, Jie Gao <J....@sydney.edu.au> wrote:
> Hi Steve
>
> I took some time to look further into this problem:
>
>> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>
> and I found that the apache build process does not allow
> slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
> httpd.conf.
>
> Uncommenting that line made this problem go away.
>
> At the end of the process (with Apache built without
> "--enable-maintainer-mode", and with ap_strchr replaced with
> strchr, which you suggested (but may not be necessary here without
> "--enable-maintainer-mode", I could load my modules successfully.
>
> There were still some errors when running "make test" for mod_perl:
>
>
> ...
> t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
> # Failed test 5 in t/hooks/authen_digest.t at line 38
> # Failed test 6 in t/hooks/authen_digest.t at line 42
> # Failed test 7 in t/hooks/authen_digest.t at line 46
> t/hooks/authen_digest.t ................. Failed 4/7 subtests
> ...
> t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # Failed test 5 in t/perl/ithreads3.t at line 35
> t/perl/ithreads3.t ...................... Failed 3/6 subtests
>
> Here is some more info:
>
> [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
> jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
> [warning] setting ulimit to allow core files
> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
> using Apache/2.4.12 (worker MPM)
>
> waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
> [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
> [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
> [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
> ...
> waiting 300 seconds for server to start: ok (waited 2 secs)
> server localhost:8529 started
> server localhost:8530 listening (filter_out_apache)
> server localhost:8531 listening (perlsections)
> server localhost:8532 listening (inherit)
> server localhost:8533 listening (TestModperl::perl_options2)
> server localhost:8534 listening (TestModperl::perl_options)
> server localhost:8535 listening (TestModperl::setupenv)
> server localhost:8536 listening (TestModperl::merge)
> server localhost:8537 listening (TestUser::rewrite)
> server localhost:8538 listening (TestModules::proxy)
> server localhost:8539 listening (TestVhost::config)
> server localhost:8540 listening (TestVhost::log)
> server localhost:8541 listening (TestDirective::perlcleanuphandler)
> server localhost:8542 listening (TestProtocol::eliza)
> server localhost:8543 listening (TestProtocol::echo_nonblock)
> server localhost:8544 listening (TestProtocol::echo_block)
> server localhost:8545 listening (TestProtocol::echo_timeout)
> server localhost:8546 listening (TestProtocol::echo_bbs2)
> server localhost:8547 listening (TestProtocol::pseudo_http)
> server localhost:8548 listening (TestProtocol::echo_filter)
> server localhost:8549 listening (TestProtocol::echo_bbs)
> server localhost:8550 listening (TestPreConnection::note)
> server localhost:8551 listening (TestHooks::startup)
> server localhost:8552 listening (TestHooks::hookrun)
> server localhost:8553 listening (TestHooks::trans)
> server localhost:8554 listening (TestHooks::stacked_handlers2)
> server localhost:8555 listening (TestHooks::init)
> server localhost:8556 listening (TestFilter::both_str_con_add)
> server localhost:8557 listening (TestFilter::in_bbs_inject_header)
> server localhost:8558 listening (TestFilter::in_str_msg)
> server localhost:8559 listening (TestFilter::in_bbs_msg)
> server localhost:8560 listening (TestDirective::perlrequire)
> server localhost:8561 listening (TestDirective::perlmodule)
> server localhost:8562 listening (TestPerl::ithreads)
> server localhost:8563 listening (TestPerl::ithreads3)
> server localhost:8564 listening (TestDirective::perlloadmodule3)
> server localhost:8565 listening (TestDirective::perlloadmodule5)
> server localhost:8566 listening (TestDirective::perlloadmodule4)
> server localhost:8567 listening (TestAPI::add_config)
> server localhost:8568 listening (TestDirective::perlloadmodule6)
> server localhost:8569 listening (TestHooks::push_handlers_anon)
> t/hooks/authen_digest.t ..
> 1..7
> # Running under perl version 5.020002 for linux
> # Current time local: Mon Apr 13 12:28:20 2015
> # Current time GMT:   Mon Apr 13 02:28:20 2015
> # Using Test.pm version 1.26
> # Using Apache/Test.pm version 1.38
> # testing : handler returned HTTP_OK
> # expected: 200
> # received: '200'
> ok 1
> # response had no WWW-Authenticate header
> ok 2
> # testing : handler returned HTTP_UNAUTHORIZED
> # expected: 401
> # received: '401'
> ok 3
> # response had a WWW-Authenticate header
> not ok 4
> # Failed test 4 in t/hooks/authen_digest.t at line 36
> # testing : response is using Digest authentication scheme
> # expected: qr/^Digest/
> # received: undef
> not ok 5
> # Failed test 5 in t/hooks/authen_digest.t at line 38
> # testing : WWW-Authenticate header contains the proper realm
> # expected: qr/realm="Simple Digest"/
> # received: undef
> not ok 6
> # Failed test 6 in t/hooks/authen_digest.t at line 42
> # testing : WWW-Authenticate header contains a nonce
> # expected: qr/nonce="/
> # received: undef
> not ok 7
> # Failed test 7 in t/hooks/authen_digest.t at line 46
> Failed 4/7 subtests
> t/perl/ithreads3.t .......
> 1..6
> # Running under perl version 5.020002 for linux
> # Current time local: Mon Apr 13 12:28:21 2015
> # Current time GMT:   Mon Apr 13 02:28:21 2015
> # Using Test.pm version 1.26
> # Using Apache/Test.pm version 1.38
> # connecting to http://localhost:8563/
> # testing : perl-script 1
> # expected: 2
> # received: '2'
> ok 1
> # testing : modperl 1
> # expected: 2
> # received: '2'
> ok 2
> # testing : perl-script 2
> # expected: 5
> # received: '2'
> not ok 3
> # Failed test 3 in t/perl/ithreads3.t at line 32
> # testing : modperl 2
> # expected: 5
> # received: '3'
> not ok 4
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # testing : perl-script 3
> # expected: 3
> # received: '2'
> not ok 5
> # Failed test 5 in t/perl/ithreads3.t at line 35
> # testing : modperl 3
> # expected: 3
> # received: '3'
> ok 6
> Failed 3/6 subtests
>
> Test Summary Report
> -------------------
> t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>   Failed tests:  4-7
> t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
>   Failed tests:  3-5
> Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
> Result: FAIL
> Failed 2/2 test programs. 7/13 subtests failed.
> [warning] server localhost:8529 shutdown
> [warning] port 8529 still in use...
> ...done
> [  error] error running tests (please examine t/logs/error_log)
>
> # cat less t/logs/error_log
> ********************************************************************************
> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> *** Following a line consisting only of * characters there should be a line  ***
> *** containing                                                               ***
> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> *** The next line should then read                                           ***
> ***     "done with server_shutdown_cleanup_register"                         ***
> ********************************************************************************
> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> *** done with server_shutdown_cleanup_register                               ***
> ********************************************************************************
> END in modperl_extra.pl, pid=25085
> END in modperl_extra.pl, pid=25085
> [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
> [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
> [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
> [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
> [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
> [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
> [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
> [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
> [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
> END in modperl_extra.pl, pid=25093
> END in modperl_extra.pl, pid=25093
> [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
> [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
> ********************************************************************************
> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> *** Following a line consisting only of * characters there should be a line  ***
> *** containing                                                               ***
> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> *** The next line should then read                                           ***
> ***     "done with server_shutdown_cleanup_register"                         ***
> ********************************************************************************
> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> *** done with server_shutdown_cleanup_register                               ***
> ********************************************************************************
> END in modperl_extra.pl, pid=25089
> END in modperl_extra.pl, pid=25089
>
> BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>
>
>
> Regards,
>
>
> Jie
>
> * Jie Gao <J....@sydney.edu.au> wrote:
>
>> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> From: Jie Gao <J....@sydney.edu.au>
>> To: Steve Hay <st...@googlemail.com>
>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>> User-Agent: Mutt/1.5.21 (2010-09-15)
>>
>> Hi Steve
>>
>> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
>> strchr before recompiling.  I still got the same error message after that.
>>
>> I re-compiled apache without enabling the maintainer mode:
>>
>> ---
>> CC="gcc"; export CC
>> CFLAGS="-Wall -O3"; export CFLAGS
>> "./configure" \
>> "--prefix=/usr/local/httpd-2.4.12" \
>> "--with-included-apr" \
>> "--with-mpm=worker" \
>> "--enable-auth-digest" \
>> "--enable-dav" \
>> "--enable-expires" \
>> "--enable-headers" \
>> "--enable-proxy-html" \
>> "--enable-xml2enc" \
>> "--enable-info" \
>> "--enable-mime-magic" \
>> "--enable-nonportable-atomics" \
>> "--enable-proxy" \
>> "--enable-proxy-balancer" \
>> "--enable-proxy-http" \
>> "--enable-rewrite" \
>> "--enable-so" \
>> "--enable-ssl" \
>> "--enable-unique-id" \
>> "--enable-vhost-alias" \
>> "--enable-modules=most" \
>> "--enable-mods-shared=most" \
>> "--enable-lbmethod-byrequests" \
>> "--enable-lbmethod-bytraffic" \
>> "--enable-lbmethod-bybusyness" \
>> "--enable-lbmethod-heartbeat" \
>> "--enable-heartmonitor" \
>> "--enable-watchdog" \
>> "--enable-ratelimit" \
>> "--enable-ext-filter" \
>> "--enable-request" \
>> "CC=gcc" \
>> "CFLAGS=-Wall -O3" \
>> "$@"
>> ---
>>
>> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
>>
>> ---
>> [warning] setting ulimit to allow core files
>> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
>> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
>>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
>>         t/TEST -bugreport -verbose=0
>> [warning] setting ulimit to allow core files
>> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
>> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
>> using Apache/2.4.12 (worker MPM)
>>
>> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
>> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
>> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
>> .............................................................................................................................................................................................................................................................................................................
>> waiting 300 seconds for server to start: not ok
>> [  error] giving up after 301 secs. If you think that your system
>> is slow or overloaded try again with a longer timeout value.
>> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
>> to a high value (e.g. 600) and repeat the last command.
>>
>> [  error] server failed to start! (please examine t/logs/error_log)
>> +--------------------------------------------------------+
>> | Please file a bug report: http://perl.apache.org/bugs/ |
>> +--------------------------------------------------------+
>> make: *** [run_tests] Error 1
>> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
>> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
>> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
>> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
>> ********************************************************************************
>> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
>> *** Following a line consisting only of * characters there should be a line  ***
>> *** containing                                                               ***
>> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
>> *** The next line should then read                                           ***
>> ***     "done with server_shutdown_cleanup_register"                         ***
>> ********************************************************************************
>> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
>> *** done with server_shutdown_cleanup_register                               ***
>> ********************************************************************************
>> END in modperl_extra.pl, pid=19848
>> END in modperl_extra.pl, pid=19848
>> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
>> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
>> ---
>>
>> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
>>
>>
>>
>>
>> Regards,
>>
>> Jie
>>
>> * Steve Hay <st...@googlemail.com> wrote:
>>
>> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> > From: Steve Hay <st...@googlemail.com>
>> > To: Jie Gao <J....@sydney.edu.au>
>> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >  <de...@perl.apache.org>
>> > Subject: Re: Trunk: APR.so won't load
>> >
>> > Actually, I don't think there is anything stopping -DAP_DEBUG from
>> > coming through from the httpd config. The change that was made
>> > (r357052) just stopped mod_perl from adding that itself when
>> > MP_MAINTAINER is specified.
>> >
>> > But maybe we do need to filter out -DAP_DEBUG?
>> > Or else stop using ap_strchr() and just use strchr() directly?
>> >
>> > Could you try the latter, since it seems like an easy fix? -- Change
>> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
>> > to be strchr() instead and then rebuild. Does that make the problem go
>> > away?
>> >
>> >
>> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
>> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
>> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>> > >
>> > > I think that symbol is not supposed to find its way into the mod_perl
>> > > build options, but it's obviously getting picked up somewhere and
>> > > slipping through...
>> > >
>> > >
>> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
>> > >> Hi Steve
>> > >>
>> > >> httpd is configured with "--enable-maintainer-mode".
>> > >>
>> > >> For mod_perl:
>> > >>
>> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>> > >>
>> > >> and I found the following line in the resultant Makefile:
>> > >>
>> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>> > >>
>> > >>
>> > >>
>> > >> Regards,
>> > >>
>> > >> Jie
>> > >>
>> > >> * Steve Hay <st...@googlemail.com> wrote:
>> > >>
>> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> > >>> From: Steve Hay <st...@googlemail.com>
>> > >>> To: Jie Gao <J....@sydney.edu.au>
>> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> > >>>  <de...@perl.apache.org>
>> > >>> Subject: Re: Trunk: APR.so won't load
>> > >>>
>> > >>> Sorry for the slow reply.
>> > >>>
>> > >>> I cannot reproduce the problem here on Windows. Your example module
>> > >>> loads up fine with all the "use APR" lines uncommented.
>> > >>>
>> > >>> The build system (and the means by which APR::* should be loadable
>> > >>> without mod_perl.so being loaded) is different on Windows, but I did
>> > >>> notice this:
>> > >>>
>> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
>> > >>> gets changed to strchr, and the latter is simply imported from the C
>> > >>> run-time library.
>> > >>>
>> > >>> I guess that's down to this code in httpd.h:
>> > >>>
>> > >>> #ifdef AP_DEBUG
>> > >>>
>> > >>> #undef strchr
>> > >>> # define strchr(s, c)  ap_strchr(s,c)
>> > >>> #undef strrchr
>> > >>> # define strrchr(s, c) ap_strrchr(s,c)
>> > >>> #undef strstr
>> > >>> # define strstr(s, c)  ap_strstr(s,c)
>> > >>>
>> > >>> #else
>> > >>>
>> > >>> /** use this instead of strchr */
>> > >>> # define ap_strchr(s, c)     strchr(s, c)
>> > >>> /** use this instead of strchr */
>> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
>> > >>> /** use this instead of strrchr */
>> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
>> > >>> /** use this instead of strrchr */
>> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> > >>> /** use this instead of strrstr*/
>> > >>> # define ap_strstr(s, c)     strstr(s, c)
>> > >>> /** use this instead of strrstr*/
>> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
>> > >>>
>> > >>> #endif
>> > >>>
>> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
>> > >>> it was a debug build).
>> > >>>
>> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> > >>> according to an old Changes entry:
>> > >>>
>> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>> > >>>
>> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> > >>> replacement of ap_strchr with strchr to not happen for you?
>> > >>>
>> > >>>
>> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>> > >>> > Hi All
>> > >>> >
>> > >>> > I had some more time looking into this, and here's some info I can provide.
>> > >>> >
>> > >>> > --------------------------------------------------------------------------
>> > >>> >
>> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> > >>> > ELF Header:
>> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> > >>> >   Class:                             ELF64
>> > >>> >   Data:                              2's complement, little endian
>> > >>> >   Version:                           1 (current)
>> > >>> >   OS/ABI:                            UNIX - System V
>> > >>> >   ABI Version:                       0
>> > >>> >   Type:                              DYN (Shared object file)
>> > >>> >   Machine:                           Advanced Micro Devices X86-64
>> > >>> >   Version:                           0x1
>> > >>> >   Entry point address:               0x1cb0
>> > >>> >   Start of program headers:          64 (bytes into file)
>> > >>> >   Start of section headers:          15480 (bytes into file)
>> > >>> >   Flags:                             0x0
>> > >>> >   Size of this header:               64 (bytes)
>> > >>> >   Size of program headers:           56 (bytes)
>> > >>> >   Number of program headers:         6
>> > >>> >   Size of section headers:           64 (bytes)
>> > >>> >   Number of section headers:         29
>> > >>> >   Section header string table index: 26
>> > >>> >
>> > >>> > Section Headers:
>> > >>> >   [Nr] Name              Type             Address           Offset
>> > >>> >        Size              EntSize          Flags  Link  Info  Align
>> > >>> >   [ 0]                   NULL             0000000000000000  00000000
>> > >>> >        0000000000000000  0000000000000000           0     0     0
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
>> > >>> >   Tag        Type                         Name/Value
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > Symbol table '.dynsym' contains 86 entries:
>> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> > >>> >
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > Symbol table '.symtab' contains 143 entries:
>> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> > >>> >
>> > >>> >
>> > >>> > [ Lines removed for clarity ]
>> > >>> >
>> > >>> > --------------------------------------------------------------------------
>> > >>> >
>> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>> > >>> > any of the shared libs. This seems to create the problem when building
>> > >>> > a module with mod_perl or outside the mod_perl source.
>> > >>> >
>> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
>> > >>> >
>> > >>> > bug reports generating code: [Stas]
>> > >>> > - add (apr|apu)-config linking info
>> > >>> > - show the full path to the config file used to get the data for the
>> > >>> >   report
>> > >>> >
>> > >>> > The APR and APR::* family of modules can now be used without having
>> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>> > >>> > functions from the appropriate sources used to build mod_perl.so
>> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>> > >>> > a static library of needed functions is built, and APR/APR::*
>> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>> > >>> >
>> > >>> >
>> > >>> > I hope this helps resolve this issue in any way.
>> > >>> >
>> > >>> >
>> > >>> >
>> > >>> >
>> > >>> >
>> > >>> > Regards,
>> > >>> >
>> > >>> > Jie
>> > >>> >
>> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> > >>> >
>> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> > >>> >> From: Jie Gao <J....@sydney.edu.au>
>> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> > >>> >>  <de...@perl.apache.org>
>> > >>> >> Subject: Trunk: APR.so won't load
>> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> > >>> >>
>> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
>> > >>> >> a threading issue, but I installed it anyway.
>> > >>> >>
>> > >>> >> Tried to load a test module, but it fails with the following error:
>> > >>> >>
>> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>> > >>> >>
>> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>> > >>> >>
>> > >>> >> #-------------------------------------------------------------------------
>> > >>> >>
>> > >>> >> package mytest::mytestmodule;
>> > >>> >>
>> > >>> >> use 5.010001;
>> > >>> >> use strict;
>> > >>> >> use warnings;
>> > >>> >> use Carp;
>> > >>> >> $SIG{__DIE__} = \&Carp::confess;
>> > >>> >>
>> > >>> >> use mod_perl2;
>> > >>> >> use Apache2::Connection();
>> > >>> >> use Apache2::RequestRec();
>> > >>> >> use Apache2::SubRequest();
>> > >>> >> use Apache2::Access();
>> > >>> >> use Apache2::RequestUtil();
>> > >>> >> use Apache2::Response();
>> > >>> >> use Apache2::Log();
>> > >>> >> use Apache2::Util();
>> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> > >>> >> use Apache2::URI();
>> > >>> >> use Apache2::Filter ();
>> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> > >>> >> use IO::Socket qw(SOCK_STREAM);
>> > >>> >> use Data::Dumper;
>> > >>> >> use AnyDBM_File ();
>> > >>> >> #use APR::Brigade ();
>> > >>> >> #use APR::Bucket ();
>> > >>> >> #use APR::Base64 ();
>> > >>> >> #use APR::Table ();
>> > >>> >> #use APR::URI ();
>> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> > >>> >> #use Apache2::MPM();
>> > >>> >>
>> > >>> >> our $VERSION = '1.0.1';
>> > >>> >>
>> > >>> >> 1;
>> > >>> >> __END__
>> > >>> >>
>> > >>> >> #-------------------------------------------------------------------------
>> > >>> >>
>> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
>> > >>> >> 1. Problem Description:
>> > >>> >>
>> > >>> >>   [DESCRIBE THE PROBLEM HERE]
>> > >>> >>
>> > >>> >> 2. Used Components and their Configuration:
>> > >>> >>
>> > >>> >> *** mod_perl version 2.000009
>> > >>> >>
>> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>> > >>> >>
>> > >>> >> *** Makefile.PL options:
>> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>> > >>> >>   MP_APR_LIB     => aprext
>> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>> > >>> >>   MP_COMPAT_1X   => 1
>> > >>> >>   MP_GENERATE_XS => 1
>> > >>> >>   MP_LIBNAME     => mod_perl
>> > >>> >>   MP_USE_DSO     => 1
>> > >>> >>
>> > >>> >>
>> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> > >>> >> Server version: Apache/2.4.12 (Unix)
>> > >>> >> Server built:   Feb 27 2015 20:05:23
>> > >>> >> Server's Module Magic Number: 20120211:41
>> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> > >>> >> Architecture:   64-bit
>> > >>> >> Server MPM:     worker
>> > >>> >>   threaded:     yes (fixed thread count)
>> > >>> >>     forked:     yes (variable process count)
>> > >>> >> Server compiled with....
>> > >>> >>  -D APR_HAS_SENDFILE
>> > >>> >>  -D APR_HAS_MMAP
>> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> > >>> >>  -D APR_USE_SYSVSEM_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=256
>> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>> > >>> >>
>> > >>> >>
>> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>> > >>> >>
>> > >>> >>
>> > >>> >> *** (apr|apu)-config linking info
>> > >>> >>
>> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >> *** /usr/local/bin/perl -V
>> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>> > >>> >>
>> > >>> >>   Platform:
>> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
>> > >>> >>     useithreads=define, usemultiplicity=define
>> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>> > >>> >>     usemymalloc=n, bincompat5005=undef
>> > >>> >>   Compiler:
>> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>> > >>> >>     optimize='-O2',
>> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>> > >>> >>     gnulibc_version='2.12'
>> > >>> >>   Dynamic Linking:
>> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>> > >>> >>
>> > >>> >>
>> > >>> >> Characteristics of this binary (from libperl):
>> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> > >>> >>                         PERL_DONT_CREATE_GVSV
>> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>> > >>> >>   Built under linux
>> > >>> >>   Compiled at Feb 25 2015 15:58:55
>> > >>> >>   %ENV:
>> > >>> >>     PERL_LWP_USE_HTTP_10="1"
>> > >>> >>   @INC:
>> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>> > >>> >>     /usr/local/lib/perl5/5.20.2
>> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>> > >>> >>     /usr/local/lib/perl5/site_perl
>> > >>> >>     .
>> > >>> >>
>> > >>> >> *** Packages of interest status:
>> > >>> >>
>> > >>> >> Apache2            : -
>> > >>> >> Apache2::Request   : -
>> > >>> >> CGI                : 3.65
>> > >>> >> ExtUtils::MakeMaker: 6.98
>> > >>> >> LWP                : 5.837
>> > >>> >> mod_perl           : -
>> > >>> >> mod_perl2          : 2.000009
>> > >>> >>
>> > >>> >>
>> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>> > >>> >>
>> > >>> >> -------------8<---------- End Bug Report --------------8<----------
>> > >>> >>
>> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>> > >>> >> total 4108
>> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >>
>> > >>> >> Regards,
>> > >>> >>
>> > >>> >>
>> > >>> >> Jie.
>> > >>> >>
>> > >>> >>
>> > >>> >>

Re: Trunk: APR.so won't load

Posted by Jie Gao <J....@sydney.edu.au>.
Hi Steve

I took some time to look further into this problem:

> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??

and I found that the apache build process does not allow
slotmem_shm_module to be loaded by default, i.e.  "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
httpd.conf.

Uncommenting that line made this problem go away.

At the end of the process (with Apache built without
"--enable-maintainer-mode", and with ap_strchr replaced with
strchr, which you suggested (but may not be necessary here without
"--enable-maintainer-mode", I could load my modules successfully.

There were still some errors when running "make test" for mod_perl:


...
t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
# Failed test 5 in t/hooks/authen_digest.t at line 38
# Failed test 6 in t/hooks/authen_digest.t at line 42
# Failed test 7 in t/hooks/authen_digest.t at line 46
t/hooks/authen_digest.t ................. Failed 4/7 subtests 
...
t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
# Failed test 4 in t/perl/ithreads3.t at line 33
# Failed test 5 in t/perl/ithreads3.t at line 35
t/perl/ithreads3.t ...................... Failed 3/6 subtests 

Here is some more info:

[12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
/usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
using Apache/2.4.12 (worker MPM)

waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
[Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
[Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
[Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
...
waiting 300 seconds for server to start: ok (waited 2 secs)
server localhost:8529 started
server localhost:8530 listening (filter_out_apache)
server localhost:8531 listening (perlsections)
server localhost:8532 listening (inherit)
server localhost:8533 listening (TestModperl::perl_options2)
server localhost:8534 listening (TestModperl::perl_options)
server localhost:8535 listening (TestModperl::setupenv)
server localhost:8536 listening (TestModperl::merge)
server localhost:8537 listening (TestUser::rewrite)
server localhost:8538 listening (TestModules::proxy)
server localhost:8539 listening (TestVhost::config)
server localhost:8540 listening (TestVhost::log)
server localhost:8541 listening (TestDirective::perlcleanuphandler)
server localhost:8542 listening (TestProtocol::eliza)
server localhost:8543 listening (TestProtocol::echo_nonblock)
server localhost:8544 listening (TestProtocol::echo_block)
server localhost:8545 listening (TestProtocol::echo_timeout)
server localhost:8546 listening (TestProtocol::echo_bbs2)
server localhost:8547 listening (TestProtocol::pseudo_http)
server localhost:8548 listening (TestProtocol::echo_filter)
server localhost:8549 listening (TestProtocol::echo_bbs)
server localhost:8550 listening (TestPreConnection::note)
server localhost:8551 listening (TestHooks::startup)
server localhost:8552 listening (TestHooks::hookrun)
server localhost:8553 listening (TestHooks::trans)
server localhost:8554 listening (TestHooks::stacked_handlers2)
server localhost:8555 listening (TestHooks::init)
server localhost:8556 listening (TestFilter::both_str_con_add)
server localhost:8557 listening (TestFilter::in_bbs_inject_header)
server localhost:8558 listening (TestFilter::in_str_msg)
server localhost:8559 listening (TestFilter::in_bbs_msg)
server localhost:8560 listening (TestDirective::perlrequire)
server localhost:8561 listening (TestDirective::perlmodule)
server localhost:8562 listening (TestPerl::ithreads)
server localhost:8563 listening (TestPerl::ithreads3)
server localhost:8564 listening (TestDirective::perlloadmodule3)
server localhost:8565 listening (TestDirective::perlloadmodule5)
server localhost:8566 listening (TestDirective::perlloadmodule4)
server localhost:8567 listening (TestAPI::add_config)
server localhost:8568 listening (TestDirective::perlloadmodule6)
server localhost:8569 listening (TestHooks::push_handlers_anon)
t/hooks/authen_digest.t .. 
1..7
# Running under perl version 5.020002 for linux
# Current time local: Mon Apr 13 12:28:20 2015
# Current time GMT:   Mon Apr 13 02:28:20 2015
# Using Test.pm version 1.26
# Using Apache/Test.pm version 1.38
# testing : handler returned HTTP_OK
# expected: 200
# received: '200'
ok 1
# response had no WWW-Authenticate header
ok 2
# testing : handler returned HTTP_UNAUTHORIZED
# expected: 401
# received: '401'
ok 3
# response had a WWW-Authenticate header
not ok 4
# Failed test 4 in t/hooks/authen_digest.t at line 36
# testing : response is using Digest authentication scheme
# expected: qr/^Digest/
# received: undef
not ok 5
# Failed test 5 in t/hooks/authen_digest.t at line 38
# testing : WWW-Authenticate header contains the proper realm
# expected: qr/realm="Simple Digest"/
# received: undef
not ok 6
# Failed test 6 in t/hooks/authen_digest.t at line 42
# testing : WWW-Authenticate header contains a nonce
# expected: qr/nonce="/
# received: undef
not ok 7
# Failed test 7 in t/hooks/authen_digest.t at line 46
Failed 4/7 subtests 
t/perl/ithreads3.t ....... 
1..6
# Running under perl version 5.020002 for linux
# Current time local: Mon Apr 13 12:28:21 2015
# Current time GMT:   Mon Apr 13 02:28:21 2015
# Using Test.pm version 1.26
# Using Apache/Test.pm version 1.38
# connecting to http://localhost:8563/
# testing : perl-script 1
# expected: 2
# received: '2'
ok 1
# testing : modperl 1
# expected: 2
# received: '2'
ok 2
# testing : perl-script 2
# expected: 5
# received: '2'
not ok 3
# Failed test 3 in t/perl/ithreads3.t at line 32
# testing : modperl 2
# expected: 5
# received: '3'
not ok 4
# Failed test 4 in t/perl/ithreads3.t at line 33
# testing : perl-script 3
# expected: 3
# received: '2'
not ok 5
# Failed test 5 in t/perl/ithreads3.t at line 35
# testing : modperl 3
# expected: 3
# received: '3'
ok 6
Failed 3/6 subtests 

Test Summary Report
-------------------
t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
  Failed tests:  4-7
t/perl/ithreads3.t     (Wstat: 0 Tests: 6 Failed: 3)
  Failed tests:  3-5
Files=2, Tests=13,  2 wallclock secs ( 0.05 usr  0.02 sys +  0.99 cusr  0.31 csys =  1.37 CPU)
Result: FAIL
Failed 2/2 test programs. 7/13 subtests failed.
[warning] server localhost:8529 shutdown
[warning] port 8529 still in use...
...done
[  error] error running tests (please examine t/logs/error_log)

# cat less t/logs/error_log
********************************************************************************
*** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
*** Following a line consisting only of * characters there should be a line  ***
*** containing                                                               ***
***     "cleanup died: testing server_shutdown_cleanup_register".            ***
*** The next line should then read                                           ***
***     "done with server_shutdown_cleanup_register"                         ***
********************************************************************************
Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
*** done with server_shutdown_cleanup_register                               ***
********************************************************************************
END in modperl_extra.pl, pid=25085
END in modperl_extra.pl, pid=25085
[Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
[Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
[Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
[Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
[Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
[Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
[Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
[Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
[Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
[Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
[Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
[Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
[Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
[Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
[Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
[Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
END in modperl_extra.pl, pid=25093
END in modperl_extra.pl, pid=25093
[Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
[Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
********************************************************************************
*** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
*** Following a line consisting only of * characters there should be a line  ***
*** containing                                                               ***
***     "cleanup died: testing server_shutdown_cleanup_register".            ***
*** The next line should then read                                           ***
***     "done with server_shutdown_cleanup_register"                         ***
********************************************************************************
Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
*** done with server_shutdown_cleanup_register                               ***
********************************************************************************
END in modperl_extra.pl, pid=25089
END in modperl_extra.pl, pid=25089

BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.



Regards,


Jie 

* Jie Gao <J....@sydney.edu.au> wrote:

> Date: Fri, 10 Apr 2015 12:02:05 +1000
> From: Jie Gao <J....@sydney.edu.au>
> To: Steve Hay <st...@googlemail.com>
> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>  <de...@perl.apache.org>
> Subject: Re: Trunk: APR.so won't load
> User-Agent: Mutt/1.5.21 (2010-09-15)
> 
> Hi Steve
> 
> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
> strchr before recompiling.  I still got the same error message after that.
> 
> I re-compiled apache without enabling the maintainer mode:
> 
> ---
> CC="gcc"; export CC
> CFLAGS="-Wall -O3"; export CFLAGS
> "./configure" \
> "--prefix=/usr/local/httpd-2.4.12" \
> "--with-included-apr" \
> "--with-mpm=worker" \
> "--enable-auth-digest" \
> "--enable-dav" \
> "--enable-expires" \
> "--enable-headers" \
> "--enable-proxy-html" \
> "--enable-xml2enc" \
> "--enable-info" \
> "--enable-mime-magic" \
> "--enable-nonportable-atomics" \
> "--enable-proxy" \
> "--enable-proxy-balancer" \
> "--enable-proxy-http" \
> "--enable-rewrite" \
> "--enable-so" \
> "--enable-ssl" \
> "--enable-unique-id" \
> "--enable-vhost-alias" \
> "--enable-modules=most" \
> "--enable-mods-shared=most" \
> "--enable-lbmethod-byrequests" \
> "--enable-lbmethod-bytraffic" \
> "--enable-lbmethod-bybusyness" \
> "--enable-lbmethod-heartbeat" \
> "--enable-heartmonitor" \
> "--enable-watchdog" \
> "--enable-ratelimit" \
> "--enable-ext-filter" \
> "--enable-request" \
> "CC=gcc" \
> "CFLAGS=-Wall -O3" \
> "$@"
> ---
> 
> and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:
> 
> ---
> [warning] setting ulimit to allow core files
> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
>         /usr/local/bin/perl -Iblib/arch -Iblib/lib \
>         t/TEST -bugreport -verbose=0
> [warning] setting ulimit to allow core files
> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
> /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
> using Apache/2.4.12 (worker MPM)
> 
> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
> .............................................................................................................................................................................................................................................................................................................
> waiting 300 seconds for server to start: not ok
> [  error] giving up after 301 secs. If you think that your system
> is slow or overloaded try again with a longer timeout value.
> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
> to a high value (e.g. 600) and repeat the last command.
> 
> [  error] server failed to start! (please examine t/logs/error_log)
> +--------------------------------------------------------+
> | Please file a bug report: http://perl.apache.org/bugs/ |
> +--------------------------------------------------------+
> make: *** [run_tests] Error 1
> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
> ********************************************************************************
> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
> *** Following a line consisting only of * characters there should be a line  ***
> *** containing                                                               ***
> ***     "cleanup died: testing server_shutdown_cleanup_register".            ***
> *** The next line should then read                                           ***
> ***     "done with server_shutdown_cleanup_register"                         ***
> ********************************************************************************
> Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
> *** done with server_shutdown_cleanup_register                               ***
> ********************************************************************************
> END in modperl_extra.pl, pid=19848
> END in modperl_extra.pl, pid=19848
> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
> [Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
> ---
> 
> Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
>  
> 
> 
> 
> Regards,
> 
> Jie 
> 
> * Steve Hay <st...@googlemail.com> wrote:
> 
> > Date: Thu, 9 Apr 2015 18:27:51 +0100
> > From: Steve Hay <st...@googlemail.com>
> > To: Jie Gao <J....@sydney.edu.au>
> > CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >  <de...@perl.apache.org>
> > Subject: Re: Trunk: APR.so won't load
> > 
> > Actually, I don't think there is anything stopping -DAP_DEBUG from
> > coming through from the httpd config. The change that was made
> > (r357052) just stopped mod_perl from adding that itself when
> > MP_MAINTAINER is specified.
> > 
> > But maybe we do need to filter out -DAP_DEBUG?
> > Or else stop using ap_strchr() and just use strchr() directly?
> > 
> > Could you try the latter, since it seems like an easy fix? -- Change
> > the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
> > to be strchr() instead and then rebuild. Does that make the problem go
> > away?
> > 
> > 
> > On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
> > > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> > > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
> > >
> > > I think that symbol is not supposed to find its way into the mod_perl
> > > build options, but it's obviously getting picked up somewhere and
> > > slipping through...
> > >
> > >
> > > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
> > >> Hi Steve
> > >>
> > >> httpd is configured with "--enable-maintainer-mode".
> > >>
> > >> For mod_perl:
> > >>
> > >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
> > >>
> > >> and I found the following line in the resultant Makefile:
> > >>
> > >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
> > >>
> > >>
> > >>
> > >> Regards,
> > >>
> > >> Jie
> > >>
> > >> * Steve Hay <st...@googlemail.com> wrote:
> > >>
> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> > >>> From: Steve Hay <st...@googlemail.com>
> > >>> To: Jie Gao <J....@sydney.edu.au>
> > >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> > >>>  <de...@perl.apache.org>
> > >>> Subject: Re: Trunk: APR.so won't load
> > >>>
> > >>> Sorry for the slow reply.
> > >>>
> > >>> I cannot reproduce the problem here on Windows. Your example module
> > >>> loads up fine with all the "use APR" lines uncommented.
> > >>>
> > >>> The build system (and the means by which APR::* should be loadable
> > >>> without mod_perl.so being loaded) is different on Windows, but I did
> > >>> notice this:
> > >>>
> > >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> > >>> but when I run Module.c through the preprocessor I find that ap_strchr
> > >>> gets changed to strchr, and the latter is simply imported from the C
> > >>> run-time library.
> > >>>
> > >>> I guess that's down to this code in httpd.h:
> > >>>
> > >>> #ifdef AP_DEBUG
> > >>>
> > >>> #undef strchr
> > >>> # define strchr(s, c)  ap_strchr(s,c)
> > >>> #undef strrchr
> > >>> # define strrchr(s, c) ap_strrchr(s,c)
> > >>> #undef strstr
> > >>> # define strstr(s, c)  ap_strstr(s,c)
> > >>>
> > >>> #else
> > >>>
> > >>> /** use this instead of strchr */
> > >>> # define ap_strchr(s, c)     strchr(s, c)
> > >>> /** use this instead of strchr */
> > >>> # define ap_strchr_c(s, c)   strchr(s, c)
> > >>> /** use this instead of strrchr */
> > >>> # define ap_strrchr(s, c)    strrchr(s, c)
> > >>> /** use this instead of strrchr */
> > >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
> > >>> /** use this instead of strrstr*/
> > >>> # define ap_strstr(s, c)     strstr(s, c)
> > >>> /** use this instead of strrstr*/
> > >>> # define ap_strstr_c(s, c)   strstr(s, c)
> > >>>
> > >>> #endif
> > >>>
> > >>> so presumably I do not have AP_DEBUG defined for my build (even though
> > >>> it was a debug build).
> > >>>
> > >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
> > >>> according to an old Changes entry:
> > >>>
> > >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
> > >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
> > >>>
> > >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
> > >>> replacement of ap_strchr with strchr to not happen for you?
> > >>>
> > >>>
> > >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
> > >>> > Hi All
> > >>> >
> > >>> > I had some more time looking into this, and here's some info I can provide.
> > >>> >
> > >>> > --------------------------------------------------------------------------
> > >>> >
> > >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> > >>> > ELF Header:
> > >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> > >>> >   Class:                             ELF64
> > >>> >   Data:                              2's complement, little endian
> > >>> >   Version:                           1 (current)
> > >>> >   OS/ABI:                            UNIX - System V
> > >>> >   ABI Version:                       0
> > >>> >   Type:                              DYN (Shared object file)
> > >>> >   Machine:                           Advanced Micro Devices X86-64
> > >>> >   Version:                           0x1
> > >>> >   Entry point address:               0x1cb0
> > >>> >   Start of program headers:          64 (bytes into file)
> > >>> >   Start of section headers:          15480 (bytes into file)
> > >>> >   Flags:                             0x0
> > >>> >   Size of this header:               64 (bytes)
> > >>> >   Size of program headers:           56 (bytes)
> > >>> >   Number of program headers:         6
> > >>> >   Size of section headers:           64 (bytes)
> > >>> >   Number of section headers:         29
> > >>> >   Section header string table index: 26
> > >>> >
> > >>> > Section Headers:
> > >>> >   [Nr] Name              Type             Address           Offset
> > >>> >        Size              EntSize          Flags  Link  Info  Align
> > >>> >   [ 0]                   NULL             0000000000000000  00000000
> > >>> >        0000000000000000  0000000000000000           0     0     0
> > >>> >
> > >>> > [ Lines removed for clarity ]
> > >>> >
> > >>> > Dynamic section at offset 0x36f8 contains 27 entries:
> > >>> >   Tag        Type                         Name/Value
> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
> > >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
> > >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
> > >>> >
> > >>> > [ Lines removed for clarity ]
> > >>> >
> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
> > >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
> > >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
> > >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
> > >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
> > >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
> > >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
> > >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
> > >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
> > >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
> > >>> >
> > >>> > [ Lines removed for clarity ]
> > >>> >
> > >>> > Symbol table '.dynsym' contains 86 entries:
> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> > >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
> > >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
> > >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
> > >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
> > >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
> > >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
> > >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
> > >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
> > >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> > >>> >
> > >>> >
> > >>> > [ Lines removed for clarity ]
> > >>> >
> > >>> > Symbol table '.symtab' contains 143 entries:
> > >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> > >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> > >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
> > >>> >
> > >>> > [ Lines removed for clarity ]
> > >>> >
> > >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> > >>> >
> > >>> >
> > >>> > [ Lines removed for clarity ]
> > >>> >
> > >>> > --------------------------------------------------------------------------
> > >>> >
> > >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
> > >>> > any of the shared libs. This seems to create the problem when building
> > >>> > a module with mod_perl or outside the mod_perl source.
> > >>> >
> > >>> > I find a somewhat related change by Stas in the past in the Changes file:
> > >>> >
> > >>> > bug reports generating code: [Stas]
> > >>> > - add (apr|apu)-config linking info
> > >>> > - show the full path to the config file used to get the data for the
> > >>> >   report
> > >>> >
> > >>> > The APR and APR::* family of modules can now be used without having
> > >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
> > >>> > functions from the appropriate sources used to build mod_perl.so
> > >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> > >>> > a static library of needed functions is built, and APR/APR::*
> > >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
> > >>> >
> > >>> >
> > >>> > I hope this helps resolve this issue in any way.
> > >>> >
> > >>> >
> > >>> >
> > >>> >
> > >>> >
> > >>> > Regards,
> > >>> >
> > >>> > Jie
> > >>> >
> > >>> > * Jie Gao <J....@sydney.edu.au> wrote:
> > >>> >
> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> > >>> >> From: Jie Gao <J....@sydney.edu.au>
> > >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> > >>> >>  <de...@perl.apache.org>
> > >>> >> Subject: Trunk: APR.so won't load
> > >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> > >>> >>
> > >>> >> I have got the source code from the trunk, "make test" mostly passed except for
> > >>> >> a threading issue, but I installed it anyway.
> > >>> >>
> > >>> >> Tried to load a test module, but it fails with the following error:
> > >>> >>
> > >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
> > >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
> > >>> >>
> > >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
> > >>> >>
> > >>> >> #-------------------------------------------------------------------------
> > >>> >>
> > >>> >> package mytest::mytestmodule;
> > >>> >>
> > >>> >> use 5.010001;
> > >>> >> use strict;
> > >>> >> use warnings;
> > >>> >> use Carp;
> > >>> >> $SIG{__DIE__} = \&Carp::confess;
> > >>> >>
> > >>> >> use mod_perl2;
> > >>> >> use Apache2::Connection();
> > >>> >> use Apache2::RequestRec();
> > >>> >> use Apache2::SubRequest();
> > >>> >> use Apache2::Access();
> > >>> >> use Apache2::RequestUtil();
> > >>> >> use Apache2::Response();
> > >>> >> use Apache2::Log();
> > >>> >> use Apache2::Util();
> > >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
> > >>> >> use Apache2::URI();
> > >>> >> use Apache2::Filter ();
> > >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
> > >>> >> use IO::Socket qw(SOCK_STREAM);
> > >>> >> use Data::Dumper;
> > >>> >> use AnyDBM_File ();
> > >>> >> #use APR::Brigade ();
> > >>> >> #use APR::Bucket ();
> > >>> >> #use APR::Base64 ();
> > >>> >> #use APR::Table ();
> > >>> >> #use APR::URI ();
> > >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
> > >>> >> #use Apache2::MPM();
> > >>> >>
> > >>> >> our $VERSION = '1.0.1';
> > >>> >>
> > >>> >> 1;
> > >>> >> __END__
> > >>> >>
> > >>> >> #-------------------------------------------------------------------------
> > >>> >>
> > >>> >> -------------8<---------- Start Bug Report ------------8<----------
> > >>> >> 1. Problem Description:
> > >>> >>
> > >>> >>   [DESCRIBE THE PROBLEM HERE]
> > >>> >>
> > >>> >> 2. Used Components and their Configuration:
> > >>> >>
> > >>> >> *** mod_perl version 2.000009
> > >>> >>
> > >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
> > >>> >>
> > >>> >> *** Makefile.PL options:
> > >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
> > >>> >>   MP_APR_LIB     => aprext
> > >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
> > >>> >>   MP_COMPAT_1X   => 1
> > >>> >>   MP_GENERATE_XS => 1
> > >>> >>   MP_LIBNAME     => mod_perl
> > >>> >>   MP_USE_DSO     => 1
> > >>> >>
> > >>> >>
> > >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
> > >>> >> Server version: Apache/2.4.12 (Unix)
> > >>> >> Server built:   Feb 27 2015 20:05:23
> > >>> >> Server's Module Magic Number: 20120211:41
> > >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
> > >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
> > >>> >> Architecture:   64-bit
> > >>> >> Server MPM:     worker
> > >>> >>   threaded:     yes (fixed thread count)
> > >>> >>     forked:     yes (variable process count)
> > >>> >> Server compiled with....
> > >>> >>  -D APR_HAS_SENDFILE
> > >>> >>  -D APR_HAS_MMAP
> > >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
> > >>> >>  -D APR_USE_SYSVSEM_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=256
> > >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
> > >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
> > >>> >>
> > >>> >>
> > >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
> > >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
> > >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
> > >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
> > >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
> > >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
> > >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
> > >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
> > >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
> > >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
> > >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
> > >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
> > >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
> > >>> >>
> > >>> >>
> > >>> >> *** (apr|apu)-config linking info
> > >>> >>
> > >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
> > >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
> > >>> >>
> > >>> >>
> > >>> >>
> > >>> >> *** /usr/local/bin/perl -V
> > >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
> > >>> >>
> > >>> >>   Platform:
> > >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
> > >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
> > >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
> > >>> >>     hint=recommended, useposix=true, d_sigaction=define
> > >>> >>     useithreads=define, usemultiplicity=define
> > >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
> > >>> >>     usemymalloc=n, bincompat5005=undef
> > >>> >>   Compiler:
> > >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> > >>> >>     optimize='-O2',
> > >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
> > >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
> > >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
> > >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> > >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> > >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
> > >>> >>     gnulibc_version='2.12'
> > >>> >>   Dynamic Linking:
> > >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
> > >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
> > >>> >>
> > >>> >>
> > >>> >> Characteristics of this binary (from libperl):
> > >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
> > >>> >>                         PERL_DONT_CREATE_GVSV
> > >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
> > >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> > >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> > >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
> > >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
> > >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
> > >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
> > >>> >>   Built under linux
> > >>> >>   Compiled at Feb 25 2015 15:58:55
> > >>> >>   %ENV:
> > >>> >>     PERL_LWP_USE_HTTP_10="1"
> > >>> >>   @INC:
> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
> > >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
> > >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
> > >>> >>     /usr/local/lib/perl5/5.20.2
> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
> > >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
> > >>> >>     /usr/local/lib/perl5/site_perl
> > >>> >>     .
> > >>> >>
> > >>> >> *** Packages of interest status:
> > >>> >>
> > >>> >> Apache2            : -
> > >>> >> Apache2::Request   : -
> > >>> >> CGI                : 3.65
> > >>> >> ExtUtils::MakeMaker: 6.98
> > >>> >> LWP                : 5.837
> > >>> >> mod_perl           : -
> > >>> >> mod_perl2          : 2.000009
> > >>> >>
> > >>> >>
> > >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
> > >>> >>
> > >>> >> -------------8<---------- End Bug Report --------------8<----------
> > >>> >>
> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
> > >>> >> total 4108
> > >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
> > >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
> > >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
> > >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
> > >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
> > >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
> > >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
> > >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
> > >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
> > >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
> > >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
> > >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
> > >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
> > >>> >>
> > >>> >>
> > >>> >>
> > >>> >>
> > >>> >>
> > >>> >>
> > >>> >> Regards,
> > >>> >>
> > >>> >>
> > >>> >> Jie.
> > >>> >>
> > >>> >>
> > >>> >>

Re: Trunk: APR.so won't load

Posted by Jie Gao <J....@sydney.edu.au>.
Hi Steve

I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
strchr before recompiling.  I still got the same error message after that.

I re-compiled apache without enabling the maintainer mode:

---
CC="gcc"; export CC
CFLAGS="-Wall -O3"; export CFLAGS
"./configure" \
"--prefix=/usr/local/httpd-2.4.12" \
"--with-included-apr" \
"--with-mpm=worker" \
"--enable-auth-digest" \
"--enable-dav" \
"--enable-expires" \
"--enable-headers" \
"--enable-proxy-html" \
"--enable-xml2enc" \
"--enable-info" \
"--enable-mime-magic" \
"--enable-nonportable-atomics" \
"--enable-proxy" \
"--enable-proxy-balancer" \
"--enable-proxy-http" \
"--enable-rewrite" \
"--enable-so" \
"--enable-ssl" \
"--enable-unique-id" \
"--enable-vhost-alias" \
"--enable-modules=most" \
"--enable-mods-shared=most" \
"--enable-lbmethod-byrequests" \
"--enable-lbmethod-bytraffic" \
"--enable-lbmethod-bybusyness" \
"--enable-lbmethod-heartbeat" \
"--enable-heartmonitor" \
"--enable-watchdog" \
"--enable-ratelimit" \
"--enable-ext-filter" \
"--enable-request" \
"CC=gcc" \
"CFLAGS=-Wall -O3" \
"$@"
---

and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:

---
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
        /usr/local/bin/perl -Iblib/arch -Iblib/lib \
        t/TEST -bugreport -verbose=0
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
/usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
using Apache/2.4.12 (worker MPM)

waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
[Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
[Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
[Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
.............................................................................................................................................................................................................................................................................................................
waiting 300 seconds for server to start: not ok
[  error] giving up after 301 secs. If you think that your system
is slow or overloaded try again with a longer timeout value.
by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
to a high value (e.g. 600) and repeat the last command.

[  error] server failed to start! (please examine t/logs/error_log)
+--------------------------------------------------------+
| Please file a bug report: http://perl.apache.org/bugs/ |
+--------------------------------------------------------+
make: *** [run_tests] Error 1
[08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
-rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
[08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
********************************************************************************
*** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
*** Following a line consisting only of * characters there should be a line  ***
*** containing                                                               ***
***     "cleanup died: testing server_shutdown_cleanup_register".            ***
*** The next line should then read                                           ***
***     "done with server_shutdown_cleanup_register"                         ***
********************************************************************************
Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
*** done with server_shutdown_cleanup_register                               ***
********************************************************************************
END in modperl_extra.pl, pid=19848
END in modperl_extra.pl, pid=19848
[Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
[Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
---

Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
 



Regards,

Jie 

* Steve Hay <st...@googlemail.com> wrote:

> Date: Thu, 9 Apr 2015 18:27:51 +0100
> From: Steve Hay <st...@googlemail.com>
> To: Jie Gao <J....@sydney.edu.au>
> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>  <de...@perl.apache.org>
> Subject: Re: Trunk: APR.so won't load
> 
> Actually, I don't think there is anything stopping -DAP_DEBUG from
> coming through from the httpd config. The change that was made
> (r357052) just stopped mod_perl from adding that itself when
> MP_MAINTAINER is specified.
> 
> But maybe we do need to filter out -DAP_DEBUG?
> Or else stop using ap_strchr() and just use strchr() directly?
> 
> Could you try the latter, since it seems like an easy fix? -- Change
> the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
> to be strchr() instead and then rebuild. Does that make the problem go
> away?
> 
> 
> On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
> > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
> >
> > I think that symbol is not supposed to find its way into the mod_perl
> > build options, but it's obviously getting picked up somewhere and
> > slipping through...
> >
> >
> > On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
> >> Hi Steve
> >>
> >> httpd is configured with "--enable-maintainer-mode".
> >>
> >> For mod_perl:
> >>
> >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
> >>
> >> and I found the following line in the resultant Makefile:
> >>
> >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
> >>
> >>
> >>
> >> Regards,
> >>
> >> Jie
> >>
> >> * Steve Hay <st...@googlemail.com> wrote:
> >>
> >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> >>> From: Steve Hay <st...@googlemail.com>
> >>> To: Jie Gao <J....@sydney.edu.au>
> >>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >>>  <de...@perl.apache.org>
> >>> Subject: Re: Trunk: APR.so won't load
> >>>
> >>> Sorry for the slow reply.
> >>>
> >>> I cannot reproduce the problem here on Windows. Your example module
> >>> loads up fine with all the "use APR" lines uncommented.
> >>>
> >>> The build system (and the means by which APR::* should be loadable
> >>> without mod_perl.so being loaded) is different on Windows, but I did
> >>> notice this:
> >>>
> >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> >>> but when I run Module.c through the preprocessor I find that ap_strchr
> >>> gets changed to strchr, and the latter is simply imported from the C
> >>> run-time library.
> >>>
> >>> I guess that's down to this code in httpd.h:
> >>>
> >>> #ifdef AP_DEBUG
> >>>
> >>> #undef strchr
> >>> # define strchr(s, c)  ap_strchr(s,c)
> >>> #undef strrchr
> >>> # define strrchr(s, c) ap_strrchr(s,c)
> >>> #undef strstr
> >>> # define strstr(s, c)  ap_strstr(s,c)
> >>>
> >>> #else
> >>>
> >>> /** use this instead of strchr */
> >>> # define ap_strchr(s, c)     strchr(s, c)
> >>> /** use this instead of strchr */
> >>> # define ap_strchr_c(s, c)   strchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr(s, c)    strrchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
> >>> /** use this instead of strrstr*/
> >>> # define ap_strstr(s, c)     strstr(s, c)
> >>> /** use this instead of strrstr*/
> >>> # define ap_strstr_c(s, c)   strstr(s, c)
> >>>
> >>> #endif
> >>>
> >>> so presumably I do not have AP_DEBUG defined for my build (even though
> >>> it was a debug build).
> >>>
> >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
> >>> according to an old Changes entry:
> >>>
> >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
> >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
> >>>
> >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
> >>> replacement of ap_strchr with strchr to not happen for you?
> >>>
> >>>
> >>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
> >>> > Hi All
> >>> >
> >>> > I had some more time looking into this, and here's some info I can provide.
> >>> >
> >>> > --------------------------------------------------------------------------
> >>> >
> >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> >>> > ELF Header:
> >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> >>> >   Class:                             ELF64
> >>> >   Data:                              2's complement, little endian
> >>> >   Version:                           1 (current)
> >>> >   OS/ABI:                            UNIX - System V
> >>> >   ABI Version:                       0
> >>> >   Type:                              DYN (Shared object file)
> >>> >   Machine:                           Advanced Micro Devices X86-64
> >>> >   Version:                           0x1
> >>> >   Entry point address:               0x1cb0
> >>> >   Start of program headers:          64 (bytes into file)
> >>> >   Start of section headers:          15480 (bytes into file)
> >>> >   Flags:                             0x0
> >>> >   Size of this header:               64 (bytes)
> >>> >   Size of program headers:           56 (bytes)
> >>> >   Number of program headers:         6
> >>> >   Size of section headers:           64 (bytes)
> >>> >   Number of section headers:         29
> >>> >   Section header string table index: 26
> >>> >
> >>> > Section Headers:
> >>> >   [Nr] Name              Type             Address           Offset
> >>> >        Size              EntSize          Flags  Link  Info  Align
> >>> >   [ 0]                   NULL             0000000000000000  00000000
> >>> >        0000000000000000  0000000000000000           0     0     0
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Dynamic section at offset 0x36f8 contains 27 entries:
> >>> >   Tag        Type                         Name/Value
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
> >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
> >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
> >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
> >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
> >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
> >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
> >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
> >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
> >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
> >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Symbol table '.dynsym' contains 86 entries:
> >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
> >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
> >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
> >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
> >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
> >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
> >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
> >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
> >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >>> >
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Symbol table '.symtab' contains 143 entries:
> >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >>> >
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > --------------------------------------------------------------------------
> >>> >
> >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
> >>> > any of the shared libs. This seems to create the problem when building
> >>> > a module with mod_perl or outside the mod_perl source.
> >>> >
> >>> > I find a somewhat related change by Stas in the past in the Changes file:
> >>> >
> >>> > bug reports generating code: [Stas]
> >>> > - add (apr|apu)-config linking info
> >>> > - show the full path to the config file used to get the data for the
> >>> >   report
> >>> >
> >>> > The APR and APR::* family of modules can now be used without having
> >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
> >>> > functions from the appropriate sources used to build mod_perl.so
> >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> >>> > a static library of needed functions is built, and APR/APR::*
> >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
> >>> >
> >>> >
> >>> > I hope this helps resolve this issue in any way.
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> > Regards,
> >>> >
> >>> > Jie
> >>> >
> >>> > * Jie Gao <J....@sydney.edu.au> wrote:
> >>> >
> >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> >>> >> From: Jie Gao <J....@sydney.edu.au>
> >>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >>> >>  <de...@perl.apache.org>
> >>> >> Subject: Trunk: APR.so won't load
> >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> >>> >>
> >>> >> I have got the source code from the trunk, "make test" mostly passed except for
> >>> >> a threading issue, but I installed it anyway.
> >>> >>
> >>> >> Tried to load a test module, but it fails with the following error:
> >>> >>
> >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
> >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
> >>> >>
> >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
> >>> >>
> >>> >> #-------------------------------------------------------------------------
> >>> >>
> >>> >> package mytest::mytestmodule;
> >>> >>
> >>> >> use 5.010001;
> >>> >> use strict;
> >>> >> use warnings;
> >>> >> use Carp;
> >>> >> $SIG{__DIE__} = \&Carp::confess;
> >>> >>
> >>> >> use mod_perl2;
> >>> >> use Apache2::Connection();
> >>> >> use Apache2::RequestRec();
> >>> >> use Apache2::SubRequest();
> >>> >> use Apache2::Access();
> >>> >> use Apache2::RequestUtil();
> >>> >> use Apache2::Response();
> >>> >> use Apache2::Log();
> >>> >> use Apache2::Util();
> >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
> >>> >> use Apache2::URI();
> >>> >> use Apache2::Filter ();
> >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
> >>> >> use IO::Socket qw(SOCK_STREAM);
> >>> >> use Data::Dumper;
> >>> >> use AnyDBM_File ();
> >>> >> #use APR::Brigade ();
> >>> >> #use APR::Bucket ();
> >>> >> #use APR::Base64 ();
> >>> >> #use APR::Table ();
> >>> >> #use APR::URI ();
> >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
> >>> >> #use Apache2::MPM();
> >>> >>
> >>> >> our $VERSION = '1.0.1';
> >>> >>
> >>> >> 1;
> >>> >> __END__
> >>> >>
> >>> >> #-------------------------------------------------------------------------
> >>> >>
> >>> >> -------------8<---------- Start Bug Report ------------8<----------
> >>> >> 1. Problem Description:
> >>> >>
> >>> >>   [DESCRIBE THE PROBLEM HERE]
> >>> >>
> >>> >> 2. Used Components and their Configuration:
> >>> >>
> >>> >> *** mod_perl version 2.000009
> >>> >>
> >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
> >>> >>
> >>> >> *** Makefile.PL options:
> >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
> >>> >>   MP_APR_LIB     => aprext
> >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
> >>> >>   MP_COMPAT_1X   => 1
> >>> >>   MP_GENERATE_XS => 1
> >>> >>   MP_LIBNAME     => mod_perl
> >>> >>   MP_USE_DSO     => 1
> >>> >>
> >>> >>
> >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
> >>> >> Server version: Apache/2.4.12 (Unix)
> >>> >> Server built:   Feb 27 2015 20:05:23
> >>> >> Server's Module Magic Number: 20120211:41
> >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
> >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
> >>> >> Architecture:   64-bit
> >>> >> Server MPM:     worker
> >>> >>   threaded:     yes (fixed thread count)
> >>> >>     forked:     yes (variable process count)
> >>> >> Server compiled with....
> >>> >>  -D APR_HAS_SENDFILE
> >>> >>  -D APR_HAS_MMAP
> >>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
> >>> >>  -D APR_USE_SYSVSEM_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=256
> >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
> >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
> >>> >>
> >>> >>
> >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
> >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
> >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
> >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
> >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
> >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
> >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
> >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
> >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
> >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
> >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
> >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
> >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
> >>> >>
> >>> >>
> >>> >> *** (apr|apu)-config linking info
> >>> >>
> >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
> >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
> >>> >>
> >>> >>
> >>> >>
> >>> >> *** /usr/local/bin/perl -V
> >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
> >>> >>
> >>> >>   Platform:
> >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
> >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
> >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
> >>> >>     hint=recommended, useposix=true, d_sigaction=define
> >>> >>     useithreads=define, usemultiplicity=define
> >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
> >>> >>     usemymalloc=n, bincompat5005=undef
> >>> >>   Compiler:
> >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> >>> >>     optimize='-O2',
> >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
> >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
> >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
> >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
> >>> >>     gnulibc_version='2.12'
> >>> >>   Dynamic Linking:
> >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
> >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
> >>> >>
> >>> >>
> >>> >> Characteristics of this binary (from libperl):
> >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
> >>> >>                         PERL_DONT_CREATE_GVSV
> >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
> >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
> >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
> >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
> >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
> >>> >>   Built under linux
> >>> >>   Compiled at Feb 25 2015 15:58:55
> >>> >>   %ENV:
> >>> >>     PERL_LWP_USE_HTTP_10="1"
> >>> >>   @INC:
> >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
> >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
> >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
> >>> >>     /usr/local/lib/perl5/5.20.2
> >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
> >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
> >>> >>     /usr/local/lib/perl5/site_perl
> >>> >>     .
> >>> >>
> >>> >> *** Packages of interest status:
> >>> >>
> >>> >> Apache2            : -
> >>> >> Apache2::Request   : -
> >>> >> CGI                : 3.65
> >>> >> ExtUtils::MakeMaker: 6.98
> >>> >> LWP                : 5.837
> >>> >> mod_perl           : -
> >>> >> mod_perl2          : 2.000009
> >>> >>
> >>> >>
> >>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
> >>> >>
> >>> >> -------------8<---------- End Bug Report --------------8<----------
> >>> >>
> >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
> >>> >> total 4108
> >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
> >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
> >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
> >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
> >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
> >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
> >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
> >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
> >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
> >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
> >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
> >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
> >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
> >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
> >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
> >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >> Regards,
> >>> >>
> >>> >>
> >>> >> Jie.
> >>> >>
> >>> >>
> >>> >>

Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
Actually, I don't think there is anything stopping -DAP_DEBUG from
coming through from the httpd config. The change that was made
(r357052) just stopped mod_perl from adding that itself when
MP_MAINTAINER is specified.

But maybe we do need to filter out -DAP_DEBUG?
Or else stop using ap_strchr() and just use strchr() directly?

Could you try the latter, since it seems like an easy fix? -- Change
the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
to be strchr() instead and then rebuild. Does that make the problem go
away?


On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
> Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>
> I think that symbol is not supposed to find its way into the mod_perl
> build options, but it's obviously getting picked up somewhere and
> slipping through...
>
>
> On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
>> Hi Steve
>>
>> httpd is configured with "--enable-maintainer-mode".
>>
>> For mod_perl:
>>
>>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>>
>> and I found the following line in the resultant Makefile:
>>
>> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>>
>>
>>
>> Regards,
>>
>> Jie
>>
>> * Steve Hay <st...@googlemail.com> wrote:
>>
>>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>>> From: Steve Hay <st...@googlemail.com>
>>> To: Jie Gao <J....@sydney.edu.au>
>>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>>  <de...@perl.apache.org>
>>> Subject: Re: Trunk: APR.so won't load
>>>
>>> Sorry for the slow reply.
>>>
>>> I cannot reproduce the problem here on Windows. Your example module
>>> loads up fine with all the "use APR" lines uncommented.
>>>
>>> The build system (and the means by which APR::* should be loadable
>>> without mod_perl.so being loaded) is different on Windows, but I did
>>> notice this:
>>>
>>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>>> but when I run Module.c through the preprocessor I find that ap_strchr
>>> gets changed to strchr, and the latter is simply imported from the C
>>> run-time library.
>>>
>>> I guess that's down to this code in httpd.h:
>>>
>>> #ifdef AP_DEBUG
>>>
>>> #undef strchr
>>> # define strchr(s, c)  ap_strchr(s,c)
>>> #undef strrchr
>>> # define strrchr(s, c) ap_strrchr(s,c)
>>> #undef strstr
>>> # define strstr(s, c)  ap_strstr(s,c)
>>>
>>> #else
>>>
>>> /** use this instead of strchr */
>>> # define ap_strchr(s, c)     strchr(s, c)
>>> /** use this instead of strchr */
>>> # define ap_strchr_c(s, c)   strchr(s, c)
>>> /** use this instead of strrchr */
>>> # define ap_strrchr(s, c)    strrchr(s, c)
>>> /** use this instead of strrchr */
>>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>>> /** use this instead of strrstr*/
>>> # define ap_strstr(s, c)     strstr(s, c)
>>> /** use this instead of strrstr*/
>>> # define ap_strstr_c(s, c)   strstr(s, c)
>>>
>>> #endif
>>>
>>> so presumably I do not have AP_DEBUG defined for my build (even though
>>> it was a debug build).
>>>
>>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>>> according to an old Changes entry:
>>>
>>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>>>
>>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>>> replacement of ap_strchr with strchr to not happen for you?
>>>
>>>
>>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>>> > Hi All
>>> >
>>> > I had some more time looking into this, and here's some info I can provide.
>>> >
>>> > --------------------------------------------------------------------------
>>> >
>>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>>> > ELF Header:
>>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>>> >   Class:                             ELF64
>>> >   Data:                              2's complement, little endian
>>> >   Version:                           1 (current)
>>> >   OS/ABI:                            UNIX - System V
>>> >   ABI Version:                       0
>>> >   Type:                              DYN (Shared object file)
>>> >   Machine:                           Advanced Micro Devices X86-64
>>> >   Version:                           0x1
>>> >   Entry point address:               0x1cb0
>>> >   Start of program headers:          64 (bytes into file)
>>> >   Start of section headers:          15480 (bytes into file)
>>> >   Flags:                             0x0
>>> >   Size of this header:               64 (bytes)
>>> >   Size of program headers:           56 (bytes)
>>> >   Number of program headers:         6
>>> >   Size of section headers:           64 (bytes)
>>> >   Number of section headers:         29
>>> >   Section header string table index: 26
>>> >
>>> > Section Headers:
>>> >   [Nr] Name              Type             Address           Offset
>>> >        Size              EntSize          Flags  Link  Info  Align
>>> >   [ 0]                   NULL             0000000000000000  00000000
>>> >        0000000000000000  0000000000000000           0     0     0
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > Dynamic section at offset 0x36f8 contains 27 entries:
>>> >   Tag        Type                         Name/Value
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > Symbol table '.dynsym' contains 86 entries:
>>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>>> >
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > Symbol table '.symtab' contains 143 entries:
>>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>>> >
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > --------------------------------------------------------------------------
>>> >
>>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>>> > any of the shared libs. This seems to create the problem when building
>>> > a module with mod_perl or outside the mod_perl source.
>>> >
>>> > I find a somewhat related change by Stas in the past in the Changes file:
>>> >
>>> > bug reports generating code: [Stas]
>>> > - add (apr|apu)-config linking info
>>> > - show the full path to the config file used to get the data for the
>>> >   report
>>> >
>>> > The APR and APR::* family of modules can now be used without having
>>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>>> > functions from the appropriate sources used to build mod_perl.so
>>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>>> > a static library of needed functions is built, and APR/APR::*
>>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>>> >
>>> >
>>> > I hope this helps resolve this issue in any way.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > Regards,
>>> >
>>> > Jie
>>> >
>>> > * Jie Gao <J....@sydney.edu.au> wrote:
>>> >
>>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>>> >> From: Jie Gao <J....@sydney.edu.au>
>>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>> >>  <de...@perl.apache.org>
>>> >> Subject: Trunk: APR.so won't load
>>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>>> >>
>>> >> I have got the source code from the trunk, "make test" mostly passed except for
>>> >> a threading issue, but I installed it anyway.
>>> >>
>>> >> Tried to load a test module, but it fails with the following error:
>>> >>
>>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>>> >>
>>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>>> >>
>>> >> #-------------------------------------------------------------------------
>>> >>
>>> >> package mytest::mytestmodule;
>>> >>
>>> >> use 5.010001;
>>> >> use strict;
>>> >> use warnings;
>>> >> use Carp;
>>> >> $SIG{__DIE__} = \&Carp::confess;
>>> >>
>>> >> use mod_perl2;
>>> >> use Apache2::Connection();
>>> >> use Apache2::RequestRec();
>>> >> use Apache2::SubRequest();
>>> >> use Apache2::Access();
>>> >> use Apache2::RequestUtil();
>>> >> use Apache2::Response();
>>> >> use Apache2::Log();
>>> >> use Apache2::Util();
>>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>>> >> use Apache2::URI();
>>> >> use Apache2::Filter ();
>>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>>> >> use IO::Socket qw(SOCK_STREAM);
>>> >> use Data::Dumper;
>>> >> use AnyDBM_File ();
>>> >> #use APR::Brigade ();
>>> >> #use APR::Bucket ();
>>> >> #use APR::Base64 ();
>>> >> #use APR::Table ();
>>> >> #use APR::URI ();
>>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>>> >> #use Apache2::MPM();
>>> >>
>>> >> our $VERSION = '1.0.1';
>>> >>
>>> >> 1;
>>> >> __END__
>>> >>
>>> >> #-------------------------------------------------------------------------
>>> >>
>>> >> -------------8<---------- Start Bug Report ------------8<----------
>>> >> 1. Problem Description:
>>> >>
>>> >>   [DESCRIBE THE PROBLEM HERE]
>>> >>
>>> >> 2. Used Components and their Configuration:
>>> >>
>>> >> *** mod_perl version 2.000009
>>> >>
>>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>>> >>
>>> >> *** Makefile.PL options:
>>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>>> >>   MP_APR_LIB     => aprext
>>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>>> >>   MP_COMPAT_1X   => 1
>>> >>   MP_GENERATE_XS => 1
>>> >>   MP_LIBNAME     => mod_perl
>>> >>   MP_USE_DSO     => 1
>>> >>
>>> >>
>>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>>> >> Server version: Apache/2.4.12 (Unix)
>>> >> Server built:   Feb 27 2015 20:05:23
>>> >> Server's Module Magic Number: 20120211:41
>>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>>> >> Architecture:   64-bit
>>> >> Server MPM:     worker
>>> >>   threaded:     yes (fixed thread count)
>>> >>     forked:     yes (variable process count)
>>> >> Server compiled with....
>>> >>  -D APR_HAS_SENDFILE
>>> >>  -D APR_HAS_MMAP
>>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>> >>  -D APR_USE_SYSVSEM_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=256
>>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>>> >>
>>> >>
>>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>>> >>
>>> >>
>>> >> *** (apr|apu)-config linking info
>>> >>
>>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>>> >>
>>> >>
>>> >>
>>> >> *** /usr/local/bin/perl -V
>>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>>> >>
>>> >>   Platform:
>>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>>> >>     hint=recommended, useposix=true, d_sigaction=define
>>> >>     useithreads=define, usemultiplicity=define
>>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>>> >>     usemymalloc=n, bincompat5005=undef
>>> >>   Compiler:
>>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>>> >>     optimize='-O2',
>>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>>> >>     gnulibc_version='2.12'
>>> >>   Dynamic Linking:
>>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>>> >>
>>> >>
>>> >> Characteristics of this binary (from libperl):
>>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>>> >>                         PERL_DONT_CREATE_GVSV
>>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>>> >>   Built under linux
>>> >>   Compiled at Feb 25 2015 15:58:55
>>> >>   %ENV:
>>> >>     PERL_LWP_USE_HTTP_10="1"
>>> >>   @INC:
>>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>>> >>     /usr/local/lib/perl5/5.20.2
>>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>>> >>     /usr/local/lib/perl5/site_perl
>>> >>     .
>>> >>
>>> >> *** Packages of interest status:
>>> >>
>>> >> Apache2            : -
>>> >> Apache2::Request   : -
>>> >> CGI                : 3.65
>>> >> ExtUtils::MakeMaker: 6.98
>>> >> LWP                : 5.837
>>> >> mod_perl           : -
>>> >> mod_perl2          : 2.000009
>>> >>
>>> >>
>>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>>> >>
>>> >> -------------8<---------- End Bug Report --------------8<----------
>>> >>
>>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>>> >> total 4108
>>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> Regards,
>>> >>
>>> >>
>>> >> Jie.
>>> >>
>>> >>
>>> >>

Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
Actually, I don't think there is anything stopping -DAP_DEBUG from
coming through from the httpd config. The change that was made
(r357052) just stopped mod_perl from adding that itself when
MP_MAINTAINER is specified.

But maybe we do need to filter out -DAP_DEBUG?
Or else stop using ap_strchr() and just use strchr() directly?

Could you try the latter, since it seems like an easy fix? -- Change
the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
to be strchr() instead and then rebuild. Does that make the problem go
away?


On 9 April 2015 at 18:16, Steve Hay <st...@googlemail.com> wrote:
> Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>
> I think that symbol is not supposed to find its way into the mod_perl
> build options, but it's obviously getting picked up somewhere and
> slipping through...
>
>
> On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
>> Hi Steve
>>
>> httpd is configured with "--enable-maintainer-mode".
>>
>> For mod_perl:
>>
>>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>>
>> and I found the following line in the resultant Makefile:
>>
>> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>>
>>
>>
>> Regards,
>>
>> Jie
>>
>> * Steve Hay <st...@googlemail.com> wrote:
>>
>>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>>> From: Steve Hay <st...@googlemail.com>
>>> To: Jie Gao <J....@sydney.edu.au>
>>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>>  <de...@perl.apache.org>
>>> Subject: Re: Trunk: APR.so won't load
>>>
>>> Sorry for the slow reply.
>>>
>>> I cannot reproduce the problem here on Windows. Your example module
>>> loads up fine with all the "use APR" lines uncommented.
>>>
>>> The build system (and the means by which APR::* should be loadable
>>> without mod_perl.so being loaded) is different on Windows, but I did
>>> notice this:
>>>
>>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>>> but when I run Module.c through the preprocessor I find that ap_strchr
>>> gets changed to strchr, and the latter is simply imported from the C
>>> run-time library.
>>>
>>> I guess that's down to this code in httpd.h:
>>>
>>> #ifdef AP_DEBUG
>>>
>>> #undef strchr
>>> # define strchr(s, c)  ap_strchr(s,c)
>>> #undef strrchr
>>> # define strrchr(s, c) ap_strrchr(s,c)
>>> #undef strstr
>>> # define strstr(s, c)  ap_strstr(s,c)
>>>
>>> #else
>>>
>>> /** use this instead of strchr */
>>> # define ap_strchr(s, c)     strchr(s, c)
>>> /** use this instead of strchr */
>>> # define ap_strchr_c(s, c)   strchr(s, c)
>>> /** use this instead of strrchr */
>>> # define ap_strrchr(s, c)    strrchr(s, c)
>>> /** use this instead of strrchr */
>>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>>> /** use this instead of strrstr*/
>>> # define ap_strstr(s, c)     strstr(s, c)
>>> /** use this instead of strrstr*/
>>> # define ap_strstr_c(s, c)   strstr(s, c)
>>>
>>> #endif
>>>
>>> so presumably I do not have AP_DEBUG defined for my build (even though
>>> it was a debug build).
>>>
>>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>>> according to an old Changes entry:
>>>
>>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>>>
>>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>>> replacement of ap_strchr with strchr to not happen for you?
>>>
>>>
>>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>>> > Hi All
>>> >
>>> > I had some more time looking into this, and here's some info I can provide.
>>> >
>>> > --------------------------------------------------------------------------
>>> >
>>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>>> > ELF Header:
>>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>>> >   Class:                             ELF64
>>> >   Data:                              2's complement, little endian
>>> >   Version:                           1 (current)
>>> >   OS/ABI:                            UNIX - System V
>>> >   ABI Version:                       0
>>> >   Type:                              DYN (Shared object file)
>>> >   Machine:                           Advanced Micro Devices X86-64
>>> >   Version:                           0x1
>>> >   Entry point address:               0x1cb0
>>> >   Start of program headers:          64 (bytes into file)
>>> >   Start of section headers:          15480 (bytes into file)
>>> >   Flags:                             0x0
>>> >   Size of this header:               64 (bytes)
>>> >   Size of program headers:           56 (bytes)
>>> >   Number of program headers:         6
>>> >   Size of section headers:           64 (bytes)
>>> >   Number of section headers:         29
>>> >   Section header string table index: 26
>>> >
>>> > Section Headers:
>>> >   [Nr] Name              Type             Address           Offset
>>> >        Size              EntSize          Flags  Link  Info  Align
>>> >   [ 0]                   NULL             0000000000000000  00000000
>>> >        0000000000000000  0000000000000000           0     0     0
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > Dynamic section at offset 0x36f8 contains 27 entries:
>>> >   Tag        Type                         Name/Value
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > Symbol table '.dynsym' contains 86 entries:
>>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>>> >
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > Symbol table '.symtab' contains 143 entries:
>>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>>> >
>>> >
>>> > [ Lines removed for clarity ]
>>> >
>>> > --------------------------------------------------------------------------
>>> >
>>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>>> > any of the shared libs. This seems to create the problem when building
>>> > a module with mod_perl or outside the mod_perl source.
>>> >
>>> > I find a somewhat related change by Stas in the past in the Changes file:
>>> >
>>> > bug reports generating code: [Stas]
>>> > - add (apr|apu)-config linking info
>>> > - show the full path to the config file used to get the data for the
>>> >   report
>>> >
>>> > The APR and APR::* family of modules can now be used without having
>>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>>> > functions from the appropriate sources used to build mod_perl.so
>>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>>> > a static library of needed functions is built, and APR/APR::*
>>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>>> >
>>> >
>>> > I hope this helps resolve this issue in any way.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > Regards,
>>> >
>>> > Jie
>>> >
>>> > * Jie Gao <J....@sydney.edu.au> wrote:
>>> >
>>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>>> >> From: Jie Gao <J....@sydney.edu.au>
>>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>> >>  <de...@perl.apache.org>
>>> >> Subject: Trunk: APR.so won't load
>>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>>> >>
>>> >> I have got the source code from the trunk, "make test" mostly passed except for
>>> >> a threading issue, but I installed it anyway.
>>> >>
>>> >> Tried to load a test module, but it fails with the following error:
>>> >>
>>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>>> >>
>>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>>> >>
>>> >> #-------------------------------------------------------------------------
>>> >>
>>> >> package mytest::mytestmodule;
>>> >>
>>> >> use 5.010001;
>>> >> use strict;
>>> >> use warnings;
>>> >> use Carp;
>>> >> $SIG{__DIE__} = \&Carp::confess;
>>> >>
>>> >> use mod_perl2;
>>> >> use Apache2::Connection();
>>> >> use Apache2::RequestRec();
>>> >> use Apache2::SubRequest();
>>> >> use Apache2::Access();
>>> >> use Apache2::RequestUtil();
>>> >> use Apache2::Response();
>>> >> use Apache2::Log();
>>> >> use Apache2::Util();
>>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>>> >> use Apache2::URI();
>>> >> use Apache2::Filter ();
>>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>>> >> use IO::Socket qw(SOCK_STREAM);
>>> >> use Data::Dumper;
>>> >> use AnyDBM_File ();
>>> >> #use APR::Brigade ();
>>> >> #use APR::Bucket ();
>>> >> #use APR::Base64 ();
>>> >> #use APR::Table ();
>>> >> #use APR::URI ();
>>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>>> >> #use Apache2::MPM();
>>> >>
>>> >> our $VERSION = '1.0.1';
>>> >>
>>> >> 1;
>>> >> __END__
>>> >>
>>> >> #-------------------------------------------------------------------------
>>> >>
>>> >> -------------8<---------- Start Bug Report ------------8<----------
>>> >> 1. Problem Description:
>>> >>
>>> >>   [DESCRIBE THE PROBLEM HERE]
>>> >>
>>> >> 2. Used Components and their Configuration:
>>> >>
>>> >> *** mod_perl version 2.000009
>>> >>
>>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>>> >>
>>> >> *** Makefile.PL options:
>>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>>> >>   MP_APR_LIB     => aprext
>>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>>> >>   MP_COMPAT_1X   => 1
>>> >>   MP_GENERATE_XS => 1
>>> >>   MP_LIBNAME     => mod_perl
>>> >>   MP_USE_DSO     => 1
>>> >>
>>> >>
>>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>>> >> Server version: Apache/2.4.12 (Unix)
>>> >> Server built:   Feb 27 2015 20:05:23
>>> >> Server's Module Magic Number: 20120211:41
>>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>>> >> Architecture:   64-bit
>>> >> Server MPM:     worker
>>> >>   threaded:     yes (fixed thread count)
>>> >>     forked:     yes (variable process count)
>>> >> Server compiled with....
>>> >>  -D APR_HAS_SENDFILE
>>> >>  -D APR_HAS_MMAP
>>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>> >>  -D APR_USE_SYSVSEM_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=256
>>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>>> >>
>>> >>
>>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>>> >>
>>> >>
>>> >> *** (apr|apu)-config linking info
>>> >>
>>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>>> >>
>>> >>
>>> >>
>>> >> *** /usr/local/bin/perl -V
>>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>>> >>
>>> >>   Platform:
>>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>>> >>     hint=recommended, useposix=true, d_sigaction=define
>>> >>     useithreads=define, usemultiplicity=define
>>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>>> >>     usemymalloc=n, bincompat5005=undef
>>> >>   Compiler:
>>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>>> >>     optimize='-O2',
>>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>>> >>     gnulibc_version='2.12'
>>> >>   Dynamic Linking:
>>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>>> >>
>>> >>
>>> >> Characteristics of this binary (from libperl):
>>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>>> >>                         PERL_DONT_CREATE_GVSV
>>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>>> >>   Built under linux
>>> >>   Compiled at Feb 25 2015 15:58:55
>>> >>   %ENV:
>>> >>     PERL_LWP_USE_HTTP_10="1"
>>> >>   @INC:
>>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>>> >>     /usr/local/lib/perl5/5.20.2
>>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>>> >>     /usr/local/lib/perl5/site_perl
>>> >>     .
>>> >>
>>> >> *** Packages of interest status:
>>> >>
>>> >> Apache2            : -
>>> >> Apache2::Request   : -
>>> >> CGI                : 3.65
>>> >> ExtUtils::MakeMaker: 6.98
>>> >> LWP                : 5.837
>>> >> mod_perl           : -
>>> >> mod_perl2          : 2.000009
>>> >>
>>> >>
>>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>>> >>
>>> >> -------------8<---------- End Bug Report --------------8<----------
>>> >>
>>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>>> >> total 4108
>>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> Regards,
>>> >>
>>> >>
>>> >> Jie.
>>> >>
>>> >>
>>> >>

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


Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
Can you see where the -DAP_DEBUG comes from, e.g. by grepping
/usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?

I think that symbol is not supposed to find its way into the mod_perl
build options, but it's obviously getting picked up somewhere and
slipping through...


On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
> Hi Steve
>
> httpd is configured with "--enable-maintainer-mode".
>
> For mod_perl:
>
>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>
> and I found the following line in the resultant Makefile:
>
> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>
>
>
> Regards,
>
> Jie
>
> * Steve Hay <st...@googlemail.com> wrote:
>
>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> From: Steve Hay <st...@googlemail.com>
>> To: Jie Gao <J....@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> Sorry for the slow reply.
>>
>> I cannot reproduce the problem here on Windows. Your example module
>> loads up fine with all the "use APR" lines uncommented.
>>
>> The build system (and the means by which APR::* should be loadable
>> without mod_perl.so being loaded) is different on Windows, but I did
>> notice this:
>>
>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> but when I run Module.c through the preprocessor I find that ap_strchr
>> gets changed to strchr, and the latter is simply imported from the C
>> run-time library.
>>
>> I guess that's down to this code in httpd.h:
>>
>> #ifdef AP_DEBUG
>>
>> #undef strchr
>> # define strchr(s, c)  ap_strchr(s,c)
>> #undef strrchr
>> # define strrchr(s, c) ap_strrchr(s,c)
>> #undef strstr
>> # define strstr(s, c)  ap_strstr(s,c)
>>
>> #else
>>
>> /** use this instead of strchr */
>> # define ap_strchr(s, c)     strchr(s, c)
>> /** use this instead of strchr */
>> # define ap_strchr_c(s, c)   strchr(s, c)
>> /** use this instead of strrchr */
>> # define ap_strrchr(s, c)    strrchr(s, c)
>> /** use this instead of strrchr */
>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> /** use this instead of strrstr*/
>> # define ap_strstr(s, c)     strstr(s, c)
>> /** use this instead of strrstr*/
>> # define ap_strstr_c(s, c)   strstr(s, c)
>>
>> #endif
>>
>> so presumably I do not have AP_DEBUG defined for my build (even though
>> it was a debug build).
>>
>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> according to an old Changes entry:
>>
>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>>
>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> replacement of ap_strchr with strchr to not happen for you?
>>
>>
>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>> > Hi All
>> >
>> > I had some more time looking into this, and here's some info I can provide.
>> >
>> > --------------------------------------------------------------------------
>> >
>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> > ELF Header:
>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> >   Class:                             ELF64
>> >   Data:                              2's complement, little endian
>> >   Version:                           1 (current)
>> >   OS/ABI:                            UNIX - System V
>> >   ABI Version:                       0
>> >   Type:                              DYN (Shared object file)
>> >   Machine:                           Advanced Micro Devices X86-64
>> >   Version:                           0x1
>> >   Entry point address:               0x1cb0
>> >   Start of program headers:          64 (bytes into file)
>> >   Start of section headers:          15480 (bytes into file)
>> >   Flags:                             0x0
>> >   Size of this header:               64 (bytes)
>> >   Size of program headers:           56 (bytes)
>> >   Number of program headers:         6
>> >   Size of section headers:           64 (bytes)
>> >   Number of section headers:         29
>> >   Section header string table index: 26
>> >
>> > Section Headers:
>> >   [Nr] Name              Type             Address           Offset
>> >        Size              EntSize          Flags  Link  Info  Align
>> >   [ 0]                   NULL             0000000000000000  00000000
>> >        0000000000000000  0000000000000000           0     0     0
>> >
>> > [ Lines removed for clarity ]
>> >
>> > Dynamic section at offset 0x36f8 contains 27 entries:
>> >   Tag        Type                         Name/Value
>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>> >
>> > [ Lines removed for clarity ]
>> >
>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>> >
>> > [ Lines removed for clarity ]
>> >
>> > Symbol table '.dynsym' contains 86 entries:
>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >
>> >
>> > [ Lines removed for clarity ]
>> >
>> > Symbol table '.symtab' contains 143 entries:
>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>> >
>> > [ Lines removed for clarity ]
>> >
>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >
>> >
>> > [ Lines removed for clarity ]
>> >
>> > --------------------------------------------------------------------------
>> >
>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>> > any of the shared libs. This seems to create the problem when building
>> > a module with mod_perl or outside the mod_perl source.
>> >
>> > I find a somewhat related change by Stas in the past in the Changes file:
>> >
>> > bug reports generating code: [Stas]
>> > - add (apr|apu)-config linking info
>> > - show the full path to the config file used to get the data for the
>> >   report
>> >
>> > The APR and APR::* family of modules can now be used without having
>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>> > functions from the appropriate sources used to build mod_perl.so
>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>> > a static library of needed functions is built, and APR/APR::*
>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>> >
>> >
>> > I hope this helps resolve this issue in any way.
>> >
>> >
>> >
>> >
>> >
>> > Regards,
>> >
>> > Jie
>> >
>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >
>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> From: Jie Gao <J....@sydney.edu.au>
>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >>  <de...@perl.apache.org>
>> >> Subject: Trunk: APR.so won't load
>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >>
>> >> I have got the source code from the trunk, "make test" mostly passed except for
>> >> a threading issue, but I installed it anyway.
>> >>
>> >> Tried to load a test module, but it fails with the following error:
>> >>
>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>> >>
>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>> >>
>> >> #-------------------------------------------------------------------------
>> >>
>> >> package mytest::mytestmodule;
>> >>
>> >> use 5.010001;
>> >> use strict;
>> >> use warnings;
>> >> use Carp;
>> >> $SIG{__DIE__} = \&Carp::confess;
>> >>
>> >> use mod_perl2;
>> >> use Apache2::Connection();
>> >> use Apache2::RequestRec();
>> >> use Apache2::SubRequest();
>> >> use Apache2::Access();
>> >> use Apache2::RequestUtil();
>> >> use Apache2::Response();
>> >> use Apache2::Log();
>> >> use Apache2::Util();
>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> >> use Apache2::URI();
>> >> use Apache2::Filter ();
>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> >> use IO::Socket qw(SOCK_STREAM);
>> >> use Data::Dumper;
>> >> use AnyDBM_File ();
>> >> #use APR::Brigade ();
>> >> #use APR::Bucket ();
>> >> #use APR::Base64 ();
>> >> #use APR::Table ();
>> >> #use APR::URI ();
>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> >> #use Apache2::MPM();
>> >>
>> >> our $VERSION = '1.0.1';
>> >>
>> >> 1;
>> >> __END__
>> >>
>> >> #-------------------------------------------------------------------------
>> >>
>> >> -------------8<---------- Start Bug Report ------------8<----------
>> >> 1. Problem Description:
>> >>
>> >>   [DESCRIBE THE PROBLEM HERE]
>> >>
>> >> 2. Used Components and their Configuration:
>> >>
>> >> *** mod_perl version 2.000009
>> >>
>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>> >>
>> >> *** Makefile.PL options:
>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>> >>   MP_APR_LIB     => aprext
>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>> >>   MP_COMPAT_1X   => 1
>> >>   MP_GENERATE_XS => 1
>> >>   MP_LIBNAME     => mod_perl
>> >>   MP_USE_DSO     => 1
>> >>
>> >>
>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> >> Server version: Apache/2.4.12 (Unix)
>> >> Server built:   Feb 27 2015 20:05:23
>> >> Server's Module Magic Number: 20120211:41
>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> >> Architecture:   64-bit
>> >> Server MPM:     worker
>> >>   threaded:     yes (fixed thread count)
>> >>     forked:     yes (variable process count)
>> >> Server compiled with....
>> >>  -D APR_HAS_SENDFILE
>> >>  -D APR_HAS_MMAP
>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> >>  -D APR_USE_SYSVSEM_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=256
>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>> >>
>> >>
>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>> >>
>> >>
>> >> *** (apr|apu)-config linking info
>> >>
>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>> >>
>> >>
>> >>
>> >> *** /usr/local/bin/perl -V
>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>> >>
>> >>   Platform:
>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>> >>     hint=recommended, useposix=true, d_sigaction=define
>> >>     useithreads=define, usemultiplicity=define
>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>> >>     usemymalloc=n, bincompat5005=undef
>> >>   Compiler:
>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>> >>     optimize='-O2',
>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>> >>     gnulibc_version='2.12'
>> >>   Dynamic Linking:
>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>> >>
>> >>
>> >> Characteristics of this binary (from libperl):
>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> >>                         PERL_DONT_CREATE_GVSV
>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>> >>   Built under linux
>> >>   Compiled at Feb 25 2015 15:58:55
>> >>   %ENV:
>> >>     PERL_LWP_USE_HTTP_10="1"
>> >>   @INC:
>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>> >>     /usr/local/lib/perl5/5.20.2
>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>> >>     /usr/local/lib/perl5/site_perl
>> >>     .
>> >>
>> >> *** Packages of interest status:
>> >>
>> >> Apache2            : -
>> >> Apache2::Request   : -
>> >> CGI                : 3.65
>> >> ExtUtils::MakeMaker: 6.98
>> >> LWP                : 5.837
>> >> mod_perl           : -
>> >> mod_perl2          : 2.000009
>> >>
>> >>
>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>> >>
>> >> -------------8<---------- End Bug Report --------------8<----------
>> >>
>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>> >> total 4108
>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> Regards,
>> >>
>> >>
>> >> Jie.
>> >>
>> >>
>> >>

Re: Trunk: APR.so won't load

Posted by Steve Hay <st...@googlemail.com>.
Can you see where the -DAP_DEBUG comes from, e.g. by grepping
/usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?

I think that symbol is not supposed to find its way into the mod_perl
build options, but it's obviously getting picked up somewhere and
slipping through...


On 9 April 2015 at 15:05, Jie Gao <J....@sydney.edu.au> wrote:
> Hi Steve
>
> httpd is configured with "--enable-maintainer-mode".
>
> For mod_perl:
>
>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>
> and I found the following line in the resultant Makefile:
>
> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
>
>
>
> Regards,
>
> Jie
>
> * Steve Hay <st...@googlemail.com> wrote:
>
>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> From: Steve Hay <st...@googlemail.com>
>> To: Jie Gao <J....@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>>  <de...@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> Sorry for the slow reply.
>>
>> I cannot reproduce the problem here on Windows. Your example module
>> loads up fine with all the "use APR" lines uncommented.
>>
>> The build system (and the means by which APR::* should be loadable
>> without mod_perl.so being loaded) is different on Windows, but I did
>> notice this:
>>
>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> but when I run Module.c through the preprocessor I find that ap_strchr
>> gets changed to strchr, and the latter is simply imported from the C
>> run-time library.
>>
>> I guess that's down to this code in httpd.h:
>>
>> #ifdef AP_DEBUG
>>
>> #undef strchr
>> # define strchr(s, c)  ap_strchr(s,c)
>> #undef strrchr
>> # define strrchr(s, c) ap_strrchr(s,c)
>> #undef strstr
>> # define strstr(s, c)  ap_strstr(s,c)
>>
>> #else
>>
>> /** use this instead of strchr */
>> # define ap_strchr(s, c)     strchr(s, c)
>> /** use this instead of strchr */
>> # define ap_strchr_c(s, c)   strchr(s, c)
>> /** use this instead of strrchr */
>> # define ap_strrchr(s, c)    strrchr(s, c)
>> /** use this instead of strrchr */
>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> /** use this instead of strrstr*/
>> # define ap_strstr(s, c)     strstr(s, c)
>> /** use this instead of strrstr*/
>> # define ap_strstr_c(s, c)   strstr(s, c)
>>
>> #endif
>>
>> so presumably I do not have AP_DEBUG defined for my build (even though
>> it was a debug build).
>>
>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> according to an old Changes entry:
>>
>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>>
>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> replacement of ap_strchr with strchr to not happen for you?
>>
>>
>> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
>> > Hi All
>> >
>> > I had some more time looking into this, and here's some info I can provide.
>> >
>> > --------------------------------------------------------------------------
>> >
>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> > ELF Header:
>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> >   Class:                             ELF64
>> >   Data:                              2's complement, little endian
>> >   Version:                           1 (current)
>> >   OS/ABI:                            UNIX - System V
>> >   ABI Version:                       0
>> >   Type:                              DYN (Shared object file)
>> >   Machine:                           Advanced Micro Devices X86-64
>> >   Version:                           0x1
>> >   Entry point address:               0x1cb0
>> >   Start of program headers:          64 (bytes into file)
>> >   Start of section headers:          15480 (bytes into file)
>> >   Flags:                             0x0
>> >   Size of this header:               64 (bytes)
>> >   Size of program headers:           56 (bytes)
>> >   Number of program headers:         6
>> >   Size of section headers:           64 (bytes)
>> >   Number of section headers:         29
>> >   Section header string table index: 26
>> >
>> > Section Headers:
>> >   [Nr] Name              Type             Address           Offset
>> >        Size              EntSize          Flags  Link  Info  Align
>> >   [ 0]                   NULL             0000000000000000  00000000
>> >        0000000000000000  0000000000000000           0     0     0
>> >
>> > [ Lines removed for clarity ]
>> >
>> > Dynamic section at offset 0x36f8 contains 27 entries:
>> >   Tag        Type                         Name/Value
>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
>> >
>> > [ Lines removed for clarity ]
>> >
>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
>> >
>> > [ Lines removed for clarity ]
>> >
>> > Symbol table '.dynsym' contains 86 entries:
>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >
>> >
>> > [ Lines removed for clarity ]
>> >
>> > Symbol table '.symtab' contains 143 entries:
>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
>> >
>> > [ Lines removed for clarity ]
>> >
>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>> >
>> >
>> > [ Lines removed for clarity ]
>> >
>> > --------------------------------------------------------------------------
>> >
>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
>> > any of the shared libs. This seems to create the problem when building
>> > a module with mod_perl or outside the mod_perl source.
>> >
>> > I find a somewhat related change by Stas in the past in the Changes file:
>> >
>> > bug reports generating code: [Stas]
>> > - add (apr|apu)-config linking info
>> > - show the full path to the config file used to get the data for the
>> >   report
>> >
>> > The APR and APR::* family of modules can now be used without having
>> > to load mod_perl.so. On *nix, this is done by compiling the needed
>> > functions from the appropriate sources used to build mod_perl.so
>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
>> > a static library of needed functions is built, and APR/APR::*
>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
>> >
>> >
>> > I hope this helps resolve this issue in any way.
>> >
>> >
>> >
>> >
>> >
>> > Regards,
>> >
>> > Jie
>> >
>> > * Jie Gao <J....@sydney.edu.au> wrote:
>> >
>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> From: Jie Gao <J....@sydney.edu.au>
>> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>> >>  <de...@perl.apache.org>
>> >> Subject: Trunk: APR.so won't load
>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >>
>> >> I have got the source code from the trunk, "make test" mostly passed except for
>> >> a threading issue, but I installed it anyway.
>> >>
>> >> Tried to load a test module, but it fails with the following error:
>> >>
>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
>> >>
>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
>> >>
>> >> #-------------------------------------------------------------------------
>> >>
>> >> package mytest::mytestmodule;
>> >>
>> >> use 5.010001;
>> >> use strict;
>> >> use warnings;
>> >> use Carp;
>> >> $SIG{__DIE__} = \&Carp::confess;
>> >>
>> >> use mod_perl2;
>> >> use Apache2::Connection();
>> >> use Apache2::RequestRec();
>> >> use Apache2::SubRequest();
>> >> use Apache2::Access();
>> >> use Apache2::RequestUtil();
>> >> use Apache2::Response();
>> >> use Apache2::Log();
>> >> use Apache2::Util();
>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
>> >> use Apache2::URI();
>> >> use Apache2::Filter ();
>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> >> use IO::Socket qw(SOCK_STREAM);
>> >> use Data::Dumper;
>> >> use AnyDBM_File ();
>> >> #use APR::Brigade ();
>> >> #use APR::Bucket ();
>> >> #use APR::Base64 ();
>> >> #use APR::Table ();
>> >> #use APR::URI ();
>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> >> #use Apache2::MPM();
>> >>
>> >> our $VERSION = '1.0.1';
>> >>
>> >> 1;
>> >> __END__
>> >>
>> >> #-------------------------------------------------------------------------
>> >>
>> >> -------------8<---------- Start Bug Report ------------8<----------
>> >> 1. Problem Description:
>> >>
>> >>   [DESCRIBE THE PROBLEM HERE]
>> >>
>> >> 2. Used Components and their Configuration:
>> >>
>> >> *** mod_perl version 2.000009
>> >>
>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
>> >>
>> >> *** Makefile.PL options:
>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>> >>   MP_APR_LIB     => aprext
>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
>> >>   MP_COMPAT_1X   => 1
>> >>   MP_GENERATE_XS => 1
>> >>   MP_LIBNAME     => mod_perl
>> >>   MP_USE_DSO     => 1
>> >>
>> >>
>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
>> >> Server version: Apache/2.4.12 (Unix)
>> >> Server built:   Feb 27 2015 20:05:23
>> >> Server's Module Magic Number: 20120211:41
>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
>> >> Architecture:   64-bit
>> >> Server MPM:     worker
>> >>   threaded:     yes (fixed thread count)
>> >>     forked:     yes (variable process count)
>> >> Server compiled with....
>> >>  -D APR_HAS_SENDFILE
>> >>  -D APR_HAS_MMAP
>> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>> >>  -D APR_USE_SYSVSEM_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=256
>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
>> >>
>> >>
>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
>> >>
>> >>
>> >> *** (apr|apu)-config linking info
>> >>
>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
>> >>
>> >>
>> >>
>> >> *** /usr/local/bin/perl -V
>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>> >>
>> >>   Platform:
>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
>> >>     hint=recommended, useposix=true, d_sigaction=define
>> >>     useithreads=define, usemultiplicity=define
>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
>> >>     usemymalloc=n, bincompat5005=undef
>> >>   Compiler:
>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>> >>     optimize='-O2',
>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
>> >>     gnulibc_version='2.12'
>> >>   Dynamic Linking:
>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>> >>
>> >>
>> >> Characteristics of this binary (from libperl):
>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> >>                         PERL_DONT_CREATE_GVSV
>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
>> >>                         USE_PERL_ATOF USE_REENTRANT_API
>> >>   Built under linux
>> >>   Compiled at Feb 25 2015 15:58:55
>> >>   %ENV:
>> >>     PERL_LWP_USE_HTTP_10="1"
>> >>   @INC:
>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
>> >>     /usr/local/lib/perl5/site_perl/5.20.2
>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
>> >>     /usr/local/lib/perl5/5.20.2
>> >>     /usr/local/lib/perl5/site_perl/5.18.2
>> >>     /usr/local/lib/perl5/site_perl/5.18.0
>> >>     /usr/local/lib/perl5/site_perl
>> >>     .
>> >>
>> >> *** Packages of interest status:
>> >>
>> >> Apache2            : -
>> >> Apache2::Request   : -
>> >> CGI                : 3.65
>> >> ExtUtils::MakeMaker: 6.98
>> >> LWP                : 5.837
>> >> mod_perl           : -
>> >> mod_perl2          : 2.000009
>> >>
>> >>
>> >> 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 Sun Mar  1 06:21:21 2015 GMT.
>> >>
>> >> -------------8<---------- End Bug Report --------------8<----------
>> >>
>> >> # ls -al /usr/local/httpd-2.4.12/lib/
>> >> total 4108
>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> Regards,
>> >>
>> >>
>> >> Jie.
>> >>
>> >>
>> >>

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


Re: Trunk: APR.so won't load

Posted by Jie Gao <J....@sydney.edu.au>.
Hi Steve

httpd is configured with "--enable-maintainer-mode".

For mod_perl: 

    /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config

and I found the following line in the resultant Makefile:

CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG



Regards,

Jie 

* Steve Hay <st...@googlemail.com> wrote:

> Date: Thu, 9 Apr 2015 14:29:44 +0100
> From: Steve Hay <st...@googlemail.com>
> To: Jie Gao <J....@sydney.edu.au>
> CC: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
>  <de...@perl.apache.org>
> Subject: Re: Trunk: APR.so won't load
> 
> Sorry for the slow reply.
> 
> I cannot reproduce the problem here on Windows. Your example module
> loads up fine with all the "use APR" lines uncommented.
> 
> The build system (and the means by which APR::* should be loadable
> without mod_perl.so being loaded) is different on Windows, but I did
> notice this:
> 
> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> but when I run Module.c through the preprocessor I find that ap_strchr
> gets changed to strchr, and the latter is simply imported from the C
> run-time library.
> 
> I guess that's down to this code in httpd.h:
> 
> #ifdef AP_DEBUG
> 
> #undef strchr
> # define strchr(s, c)  ap_strchr(s,c)
> #undef strrchr
> # define strrchr(s, c) ap_strrchr(s,c)
> #undef strstr
> # define strstr(s, c)  ap_strstr(s,c)
> 
> #else
> 
> /** use this instead of strchr */
> # define ap_strchr(s, c)     strchr(s, c)
> /** use this instead of strchr */
> # define ap_strchr_c(s, c)   strchr(s, c)
> /** use this instead of strrchr */
> # define ap_strrchr(s, c)    strrchr(s, c)
> /** use this instead of strrchr */
> # define ap_strrchr_c(s, c)  strrchr(s, c)
> /** use this instead of strrstr*/
> # define ap_strstr(s, c)     strstr(s, c)
> /** use this instead of strrstr*/
> # define ap_strstr_c(s, c)   strstr(s, c)
> 
> #endif
> 
> so presumably I do not have AP_DEBUG defined for my build (even though
> it was a debug build).
> 
> It looks like AP_DEBUG should not be defined, even in maintainer mode,
> according to an old Changes entry:
> 
> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
> MP_MAINTAINER mode to avoid collisions [Joe Orton]
> 
> but do you somehow have AP_DEBUG defined somewhere, which causes the
> replacement of ap_strchr with strchr to not happen for you?
> 
> 
> On 27 March 2015 at 09:14, Jie Gao <J....@sydney.edu.au> wrote:
> > Hi All
> >
> > I had some more time looking into this, and here's some info I can provide.
> >
> > --------------------------------------------------------------------------
> >
> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> > ELF Header:
> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> >   Class:                             ELF64
> >   Data:                              2's complement, little endian
> >   Version:                           1 (current)
> >   OS/ABI:                            UNIX - System V
> >   ABI Version:                       0
> >   Type:                              DYN (Shared object file)
> >   Machine:                           Advanced Micro Devices X86-64
> >   Version:                           0x1
> >   Entry point address:               0x1cb0
> >   Start of program headers:          64 (bytes into file)
> >   Start of section headers:          15480 (bytes into file)
> >   Flags:                             0x0
> >   Size of this header:               64 (bytes)
> >   Size of program headers:           56 (bytes)
> >   Number of program headers:         6
> >   Size of section headers:           64 (bytes)
> >   Number of section headers:         29
> >   Section header string table index: 26
> >
> > Section Headers:
> >   [Nr] Name              Type             Address           Offset
> >        Size              EntSize          Flags  Link  Info  Align
> >   [ 0]                   NULL             0000000000000000  00000000
> >        0000000000000000  0000000000000000           0     0     0
> >
> > [ Lines removed for clarity ]
> >
> > Dynamic section at offset 0x36f8 contains 27 entries:
> >   Tag        Type                         Name/Value
> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
> >
> > [ Lines removed for clarity ]
> >
> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
> >
> > [ Lines removed for clarity ]
> >
> > Symbol table '.dynsym' contains 86 entries:
> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >
> >
> > [ Lines removed for clarity ]
> >
> > Symbol table '.symtab' contains 143 entries:
> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
> >
> > [ Lines removed for clarity ]
> >
> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >
> >
> > [ Lines removed for clarity ]
> >
> > --------------------------------------------------------------------------
> >
> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
> > any of the shared libs. This seems to create the problem when building
> > a module with mod_perl or outside the mod_perl source.
> >
> > I find a somewhat related change by Stas in the past in the Changes file:
> >
> > bug reports generating code: [Stas]
> > - add (apr|apu)-config linking info
> > - show the full path to the config file used to get the data for the
> >   report
> >
> > The APR and APR::* family of modules can now be used without having
> > to load mod_perl.so. On *nix, this is done by compiling the needed
> > functions from the appropriate sources used to build mod_perl.so
> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> > a static library of needed functions is built, and APR/APR::*
> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
> >
> >
> > I hope this helps resolve this issue in any way.
> >
> >
> >
> >
> >
> > Regards,
> >
> > Jie
> >
> > * Jie Gao <J....@sydney.edu.au> wrote:
> >
> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> >> From: Jie Gao <J....@sydney.edu.au>
> >> To: "modperl@perl.apache.org" <mo...@perl.apache.org>, mod_perl Dev
> >>  <de...@perl.apache.org>
> >> Subject: Trunk: APR.so won't load
> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> >>
> >> I have got the source code from the trunk, "make test" mostly passed except for
> >> a threading issue, but I installed it anyway.
> >>
> >> Tried to load a test module, but it fails with the following error:
> >>
> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
> >>
> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
> >>
> >> #-------------------------------------------------------------------------
> >>
> >> package mytest::mytestmodule;
> >>
> >> use 5.010001;
> >> use strict;
> >> use warnings;
> >> use Carp;
> >> $SIG{__DIE__} = \&Carp::confess;
> >>
> >> use mod_perl2;
> >> use Apache2::Connection();
> >> use Apache2::RequestRec();
> >> use Apache2::SubRequest();
> >> use Apache2::Access();
> >> use Apache2::RequestUtil();
> >> use Apache2::Response();
> >> use Apache2::Log();
> >> use Apache2::Util();
> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
> >> use Apache2::URI();
> >> use Apache2::Filter ();
> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
> >> use IO::Socket qw(SOCK_STREAM);
> >> use Data::Dumper;
> >> use AnyDBM_File ();
> >> #use APR::Brigade ();
> >> #use APR::Bucket ();
> >> #use APR::Base64 ();
> >> #use APR::Table ();
> >> #use APR::URI ();
> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
> >> #use Apache2::MPM();
> >>
> >> our $VERSION = '1.0.1';
> >>
> >> 1;
> >> __END__
> >>
> >> #-------------------------------------------------------------------------
> >>
> >> -------------8<---------- Start Bug Report ------------8<----------
> >> 1. Problem Description:
> >>
> >>   [DESCRIBE THE PROBLEM HERE]
> >>
> >> 2. Used Components and their Configuration:
> >>
> >> *** mod_perl version 2.000009
> >>
> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
> >>
> >> *** Makefile.PL options:
> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
> >>   MP_APR_LIB     => aprext
> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
> >>   MP_COMPAT_1X   => 1
> >>   MP_GENERATE_XS => 1
> >>   MP_LIBNAME     => mod_perl
> >>   MP_USE_DSO     => 1
> >>
> >>
> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
> >> Server version: Apache/2.4.12 (Unix)
> >> Server built:   Feb 27 2015 20:05:23
> >> Server's Module Magic Number: 20120211:41
> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
> >> Architecture:   64-bit
> >> Server MPM:     worker
> >>   threaded:     yes (fixed thread count)
> >>     forked:     yes (variable process count)
> >> Server compiled with....
> >>  -D APR_HAS_SENDFILE
> >>  -D APR_HAS_MMAP
> >>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
> >>  -D APR_USE_SYSVSEM_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=256
> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
> >>
> >>
> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
> >>
> >>
> >> *** (apr|apu)-config linking info
> >>
> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
> >>
> >>
> >>
> >> *** /usr/local/bin/perl -V
> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
> >>
> >>   Platform:
> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
> >>     hint=recommended, useposix=true, d_sigaction=define
> >>     useithreads=define, usemultiplicity=define
> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
> >>     usemymalloc=n, bincompat5005=undef
> >>   Compiler:
> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> >>     optimize='-O2',
> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 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 =' -fstack-protector -L/usr/local/lib'
> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
> >>     gnulibc_version='2.12'
> >>   Dynamic Linking:
> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
> >>
> >>
> >> Characteristics of this binary (from libperl):
> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
> >>                         PERL_DONT_CREATE_GVSV
> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
> >>                         USE_PERL_ATOF USE_REENTRANT_API
> >>   Built under linux
> >>   Compiled at Feb 25 2015 15:58:55
> >>   %ENV:
> >>     PERL_LWP_USE_HTTP_10="1"
> >>   @INC:
> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
> >>     /usr/local/lib/perl5/site_perl/5.20.2
> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
> >>     /usr/local/lib/perl5/5.20.2
> >>     /usr/local/lib/perl5/site_perl/5.18.2
> >>     /usr/local/lib/perl5/site_perl/5.18.0
> >>     /usr/local/lib/perl5/site_perl
> >>     .
> >>
> >> *** Packages of interest status:
> >>
> >> Apache2            : -
> >> Apache2::Request   : -
> >> CGI                : 3.65
> >> ExtUtils::MakeMaker: 6.98
> >> LWP                : 5.837
> >> mod_perl           : -
> >> mod_perl2          : 2.000009
> >>
> >>
> >> 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 Sun Mar  1 06:21:21 2015 GMT.
> >>
> >> -------------8<---------- End Bug Report --------------8<----------
> >>
> >> # ls -al /usr/local/httpd-2.4.12/lib/
> >> total 4108
> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
> >>
> >>
> >>
> >>
> >>
> >>
> >> Regards,
> >>
> >>
> >> Jie.
> >>
> >>
> >>