Hi Stas,
Am Dienstag, 17. Februar 2004 19:51 schrieb Stas Bekman:
(gdb) bt #0 0x40135abe in find_entry (ht=0x80baeb0, key=0x406cf229, klen=14, val=0x0) at apr_hash.c:278 #1 0x40135c58 in apr_hash_get (ht=0x80baeb0, key=0x406cf229, klen=-1) at apr_hash.c:340 #2 0x40143d4d in apr_pool_userdata_get (data=0xbfffe858, key=0x406cf229 "APR::Pool::new", pool=0x2) at apr_pools.c:1879
the pool object is bogus.
#3 0x406ce7a8 in XS_APR__Pool_DESTROY () from /home/ptest2/lib/perl5/site_perl/5.8.1/i686-linux-thread-multi/auto/APR/P ool/Pool.so #4 0x4042c3b9 in Perl_pp_goto () from /home/ptest2/lib/perl5/5.8.1/i686-linux-thread-multi/CORE/libperl.so #5 0x403f803e in Perl_runops_standard ()
I've seen that one before. Can you show me a short code that I can reproduce this with?
Ok, here it is ( minimal and useless ):
I use './t/TEST --start-httpd' the server.
My ./t/conf/extra.last.conf.in: ######### START ########## <Perl >
</Perl>
<Location />
SetHandler perl-script
PerlHandler +Foo
</Location>
######### END ############
without the ### lines of course. Please note that the whitespace chars are important. If you write
<Perl > </Perl>
it works! ( Just a newline removed )
and Foo.pm ######### START ########## package Foo; use mod_perl 1.99; sub handler : method { my ( $class, $r ) = @_ ; return 200; } ######### END ############
OK, I've packaged your test case for you in self-contained test suite (attached as it's a tiny file).
% tar xvzf apr-destroy.tgs
% cd apr-destroy
% perl Makefile.PL -httpd ~/httpd/prefork/bin/httpd && t/TEST -start
Writing Makefile for bug-reporting-skeleton
setting ulimit to allow core files
ulimit -c unlimited; t/TEST -start
server localhost.localdomain:8529 shutdown
/home/stas/httpd/prefork/bin/httpd -d /tmp/apr-destroy/t -f /tmp/apr-destroy/t/conf/httpd.conf -DAPACHE2 -DPERL_USEITHREADS
using Apache/2.0.49-dev (prefork MPM)
waiting 60 seconds for server to start: ok (waited 6 secs)
server localhost.localdomain:8529 started
i.e. I can't reproduce your problem. Are you sure you are using the latest cvs, did you run 'make install'?. There were quite a few changes in the APR::Pool code over the last month.
Try to run this test suite and see what you get. Here is what I used for this test:
% mp2bug *** mod_perl version 1.9913
*** using /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/Apache2/Apache/BuildConfig.pm
*** Makefile.PL options:
MP_APXS => /home/stas/httpd/prefork/bin/apxs
MP_CCOPTS => -Wall -Werror
MP_COMPAT_1X => 1
MP_DEBUG => 1
MP_GENERATE_XS => 1
MP_INST_APACHE2 => 1
MP_LIBNAME => mod_perl
MP_MAINTAINER => 1
MP_TRACE => 1
MP_USE_DSO => 1
MP_USE_GTOP => 1
*** /home/stas/httpd/prefork/bin/httpd -V Server version: Apache/2.0.49-dev Server built: Feb 18 2004 15:04:02 Server's Module Magic Number: 20020903:7 Architecture: 32-bit Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -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 HTTPD_ROOT="/home/stas/httpd/prefork" -D SUEXEC_BIN="/home/stas/httpd/prefork/bin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
*** /usr/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration:
Platform:
osname=linux, osvers=2.6.0-1mdkenterprise, archname=i386-linux-thread-multi
uname='linux no.mandrakesoft.com 2.6.0-1mdkenterprise #1 smp thu dec 18 16:11:28 est 2003 i686 unknown unknown gnulinux '
config_args='-des -Dinc_version_list=5.8.2/i386-linux-thread-multi 5.8.2 5.8.1/i386-linux-thread-multi 5.8.1 5.8.0/i386-linux-thread-multi 5.8.0 5.6.1 5.6.0 -Darchname=i386-linux -Dcc=gcc -Doptimize=-O2 -fomit-frame-pointer -pipe -march=i586 -mcpu=pentiumpro -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dman3ext=3pm -Dcf_by=MandrakeSoft -Dmyhostname=localhost [EMAIL PROTECTED] -Dd_dosuid -Ud_csh -Duseshrplib -Dusethreads'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -fomit-frame-pointer -pipe -march=i586 -mcpu=pentiumpro ',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.3.2 (Mandrake Linux 10.0 3.3.2-4mdk)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lndbm -lgdbm -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.3.3'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Built under linux
Compiled at Feb 3 2004 13:50:20
%ENV:
PERLDOC_PAGER="less -R"
PERL_LWP_USE_HTTP_10="1"
@INC:
/usr/lib/perl5/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/5.8.3
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.1
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.3
/usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.2
/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.1
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl
.
*** Packages of interest status:
Apache::Request: - CGI : 3.00 LWP : 5.69 mod_perl : 1.2801, 1.9913
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
apr-destroy.tgz
Description: Unix tar archive
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]