Re: Trunk: APR.so won't load

Jie Gao <[email protected]>
Newsgroups gmane.comp.apache.mod-perl,gmane.comp.apache.incubator.bigtop.devel
Message-ID <[email protected]>
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 <[email protected]> wrote:

> Date: Fri, 10 Apr 2015 12:02:05 +1000
> From: Jie Gao <[email protected]>
> To: Steve Hay <[email protected]>
> CC: "[email protected]" <[email protected]>, mod_perl Dev
>  <[email protected]>
> 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 <[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.
> > >>> >>
> > >>> >>
> > >>> >>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.