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 <[email protected]> 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 <[email protected]> wrote:
> Date: Thu, 9 Apr 2015 18:27:51 +0100
> From: Steve Hay <[email protected]>
> To: Jie Gao <[email protected]>
> CC: "[email protected]" <[email protected]>, mod_perl Dev
> <[email protected]>
> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> wrote:
> >>
> >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> >>> From: Steve Hay <[email protected]>
> >>> To: Jie Gao <[email protected]>
> >>> CC: "[email protected]" <[email protected]>, mod_perl Dev
> >>> <[email protected]>
> >>> 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 <[email protected]> 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 <[email protected]> wrote:
> >>> >
> >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> >>> >> From: Jie Gao <[email protected]>
> >>> >> To: "[email protected]" <[email protected]>, mod_perl Dev
> >>> >> <[email protected]>
> >>> >> 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.
> >>> >>
> >>> >>
> >>> >>