You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by "Philippe M. Chiasson" <go...@ectoplasm.org> on 2004/06/28 21:29:39 UTC
[Bug mp2] $bb->cleanup in protocol/echo_bbs2 dumps core
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:
protocol/echo_bbs2 is failing with a core dump when calling $bb->cleanup
This patches does prevent the failure, but certainly doesn't seem to be
the right thing to be doing.
As far as a quick inspection can tell me, the bb is quite completely
foobar'ed
diff -u -I$Id -r1.2 echo_bbs2.pm
--- t/protocol/TestProtocol/echo_bbs2.pm 9 Jun 2004 14:46:22 -0000 1.2
+++ t/protocol/TestProtocol/echo_bbs2.pm 28 Jun 2004 19:25:50 -0000
@@ -37,7 +37,7 @@
}
next unless $bb_in->flatten(my $data);
- $bb->cleanup;
+ #$bb->cleanup;
#warn "read: [$data]\n";
last if $data =~ /^[\r\n]+$/;
2. Used Components and their Configuration:
*** mod_perl version 1.9915
*** using lib/Apache/BuildConfig.pm
*** Makefile.PL options:
MP_APR_CONFIG => /home/gozer/opt/httpd/i386-linux/2.0.50-dev/prefork/bin/apr-config
MP_APXS => /home/gozer/opt/httpd/i386-linux/2.0.50-dev/prefork/bin/apxs
MP_CCOPTS => -g3 -gdwarf-2 -Wall -Werror
MP_COMPAT_1X => 1
MP_DEBUG => 1
MP_GENERATE_XS => 1
MP_LIBNAME => mod_perl
MP_MAINTAINER => 1
MP_TRACE => 1
MP_USE_DSO => 1
MP_USE_GTOP => 1
MP_USE_STATIC => 1
*** /home/gozer/opt/httpd/i386-linux/2.0.50-dev/prefork/bin/httpd -V
Server version: Apache/2.0.50-dev
Server built: Jun 28 2004 11:22:23
Server's Module Magic Number: 20020903:8
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/gozer/opt/httpd/i386-linux/2.0.50-dev/prefork"
-D SUEXEC_BIN="/home/gozer/opt/httpd/i386-linux/2.0.50-dev/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.4.21-4.elsmp, archname=i386-linux-thread-multi
uname='linux tweety.devel.redhat.com 2.4.21-4.elsmp #1 smp fri oct 3 17:52:56 edt 2003 i686 i686 i386 gnulinux '
config_args='-des -Doptimize=-O2 -g -pipe -march=i386 -mcpu=i686 -Dversion=5.8.3 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red
Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles
-Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly
-Dpager=/usr/bin/less -isr -Dinc_version_list=5.8.2 5.8.1 5.8.0'
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 -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -g -pipe -march=i386 -mcpu=i686',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.3.3 20040412 (Red Hat Linux 3.3.3-7)', 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 -lgdbm -ldb -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: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Built under linux
Compiled at Apr 15 2004 13:09:17
%ENV:
PERL5LIB="/home/gozer/opt/lib/perl5:/home/gozer/opt/lib/perl5/site_perl:/home/gozer/opt/perl_lib/lib"
PERL5_CPANPLUS_CONFIG="/home/gozer/.cpanplus/config"
PERL_LWP_USE_HTTP_10="1"
@INC:
/home/gozer/opt/lib/perl5/5.8.3/i386-linux-thread-multi
/home/gozer/opt/lib/perl5/5.8.3
/home/gozer/opt/lib/perl5/i386-linux-thread-multi
/home/gozer/opt/lib/perl5/5.8.2
/home/gozer/opt/lib/perl5/5.8.1
/home/gozer/opt/lib/perl5/5.8.0
/home/gozer/opt/lib/perl5
/home/gozer/opt/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
/home/gozer/opt/lib/perl5/site_perl/5.8.3
/home/gozer/opt/lib/perl5/site_perl/i386-linux-thread-multi
/home/gozer/opt/lib/perl5/site_perl/5.8.2
/home/gozer/opt/lib/perl5/site_perl/5.8.1
/home/gozer/opt/lib/perl5/site_perl/5.8.0
/home/gozer/opt/lib/perl5/site_perl
/home/gozer/opt/perl_lib/lib/5.8.3/i386-linux-thread-multi
/home/gozer/opt/perl_lib/lib/5.8.3
/home/gozer/opt/perl_lib/lib/i386-linux-thread-multi
/home/gozer/opt/perl_lib/lib/5.8.2
/home/gozer/opt/perl_lib/lib/5.8.1
/home/gozer/opt/perl_lib/lib/5.8.0
/home/gozer/opt/perl_lib/lib
/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.2/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl/5.8.2
/usr/lib/perl5/site_perl/5.8.1
/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.2/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.3
/usr/lib/perl5/vendor_perl/5.8.2
/usr/lib/perl5/vendor_perl/5.8.1
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl
.
*** Packages of interest status:
Apache::Request: -
CGI : 3.01
LWP : 5.79
mod_perl : -
3. This is the core dump trace: (if you get a core dump):
#0 0x002dc26a in apr_brigade_cleanup (data=0x9492090) at apr_brigade.c:47
47 apr_brigade.c: No such file or directory.
in apr_brigade.c
(gdb)bt
#0 0x002dc26a in apr_brigade_cleanup (data=0x9492090) at apr_brigade.c:47
#1 0x00369616 in XS_APR__Brigade_cleanup (my_perl=0x8ea7d40, cv=0x8d1c230) at Brigade.c:54
#2 0x03b0226d in Perl_pp_entersub () from /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
#3 0x03ae4bbd in Perl_runops_debug () from /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
#4 0x03a94809 in Perl_call_sv () from /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
#5 0x03a944d5 in Perl_call_sv () from /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
#6 0x0023ab2f in modperl_callback (my_perl=0x8ea7d40, handler=0x9487160, p=0x9486c50, r=0x0, s=0x8318530,
args=0x947f4f0) at modperl_callback.c:99
#7 0x0023b08e in modperl_callback_run_handlers (idx=0, type=1, r=0x0, c=0x0, s=0x8318530, pconf=0x0, plog=0x1,
ptemp=0x1, run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:268
#8 0x0023b615 in modperl_callback_connection (idx=1, c=0x9492094, run_mode=MP_HOOK_RUN_FIRST)
at modperl_callback.c:373
#9 0x002515d0 in modperl_process_connection_handler (c=0x1) at modperl_hooks.c:17
#10 0x08074892 in ap_run_process_connection (c=0x9486d60) at connection.c:42
#11 0x08074c81 in ap_process_connection (c=0x9486d60, csd=0x9486c88) at connection.c:175
#12 0x0806801f in child_main (child_num_arg=1) at prefork.c:609
#13 0x080681a9 in make_child (s=0x81a6e48, slot=1) at prefork.c:703
#14 0x0806821e in startup_children (number_to_start=1) at prefork.c:721
#15 0x08068627 in ap_mpm_run (_pconf=0x81a50a8, plog=0x81cf150, s=0x81a6e48) at prefork.c:940
#16 0x0806f22d in main (argc=9, argv=0xfeeff384) at main.c:617
(gdb) print b
$4 = (apr_bucket_brigade *) 0x9492090
(gdb) print e
$5 = (apr_bucket *) 0x1
(gdb) print *b
$6 = {p = 0x9490f40, list = {next = 0x1, prev = 0x1011007}, bucket_alloc = 0x9481150}
(gdb) print (*b)->list->prev
$7 = (struct apr_bucket *) 0x1011007
(gdb) print *((*b)->list->prev)
Cannot access memory at address 0x1011007
This report was generated by bin/mp2bug on Mon Jun 28 19:23:23 2004 GMT.
-------------8<---------- End Bug Report --------------8<----------
Note: Complete the rest of the details and post this bug report to
modperl <at> perl.apache.org. To subscribe to the list send an empty
email to modperl-subscribe@perl.apache.org.
--
--------------------------------------------------------------------------------
Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5
http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
Re: [Bug mp2] $bb->cleanup in protocol/echo_bbs2 dumps core
Posted by Stas Bekman <st...@stason.org>.
Joe Orton wrote:
> On Tue, Jun 29, 2004 at 04:52:31PM -0700, Stas Bekman wrote:
>
>>Philippe M. Chiasson wrote:
>>
>>>-------------8<---------- Start Bug Report ------------8<----------
>>>1. Problem Description:
>>>
>>>protocol/echo_bbs2 is failing with a core dump when calling
>>>$bb->cleanup
>>>
>>>diff -u -I$Id -r1.2 echo_bbs2.pm
>>>--- t/protocol/TestProtocol/echo_bbs2.pm 9 Jun 2004 14:46:22
>>>-0000 1.2
>>>+++ t/protocol/TestProtocol/echo_bbs2.pm 28 Jun 2004 19:25:50 -0000
>>>@@ -37,7 +37,7 @@
>>> }
>>>
>>> next unless $bb_in->flatten(my $data);
>>>- $bb->cleanup;
>>>+ #$bb->cleanup;
>>> #warn "read: [$data]\n";
>>> last if $data =~ /^[\r\n]+$/;
>>
>>I think that has to do with the recent change in Apache. Joe, what's the
>>end of the story with bb reuse? Have you decided that it's impossible to
>>re-use bb? What's the point of $bb->cleanup then?
>
>
> I haven't committed any of the changes so they can't be breaking things
> yet :) I'll try and get some resolution on the issue soon...
Ah, OK. I'm now updating my Apache and I hope that I won't be able to
reproduce it :)
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [Bug mp2] $bb->cleanup in protocol/echo_bbs2 dumps core
Posted by Joe Orton <jo...@redhat.com>.
On Tue, Jun 29, 2004 at 04:52:31PM -0700, Stas Bekman wrote:
> Philippe M. Chiasson wrote:
> >-------------8<---------- Start Bug Report ------------8<----------
> >1. Problem Description:
> >
> >protocol/echo_bbs2 is failing with a core dump when calling
> >$bb->cleanup
> >
> >diff -u -I$Id -r1.2 echo_bbs2.pm
> >--- t/protocol/TestProtocol/echo_bbs2.pm 9 Jun 2004 14:46:22
> >-0000 1.2
> >+++ t/protocol/TestProtocol/echo_bbs2.pm 28 Jun 2004 19:25:50 -0000
> >@@ -37,7 +37,7 @@
> > }
> >
> > next unless $bb_in->flatten(my $data);
> >- $bb->cleanup;
> >+ #$bb->cleanup;
> > #warn "read: [$data]\n";
> > last if $data =~ /^[\r\n]+$/;
>
> I think that has to do with the recent change in Apache. Joe, what's the
> end of the story with bb reuse? Have you decided that it's impossible to
> re-use bb? What's the point of $bb->cleanup then?
I haven't committed any of the changes so they can't be breaking things
yet :) I'll try and get some resolution on the issue soon...
joe
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [Bug mp2] $bb->cleanup in protocol/echo_bbs2 dumps core
Posted by Stas Bekman <st...@stason.org>.
Philippe M. Chiasson wrote:
> -------------8<---------- Start Bug Report ------------8<----------
> 1. Problem Description:
>
> protocol/echo_bbs2 is failing with a core dump when calling $bb->cleanup
>
> This patches does prevent the failure, but certainly doesn't seem to be
> the right thing to be doing.
>
> As far as a quick inspection can tell me, the bb is quite completely
> foobar'ed
>
> diff -u -I$Id -r1.2 echo_bbs2.pm
> --- t/protocol/TestProtocol/echo_bbs2.pm 9 Jun 2004 14:46:22
> -0000 1.2
> +++ t/protocol/TestProtocol/echo_bbs2.pm 28 Jun 2004 19:25:50 -0000
> @@ -37,7 +37,7 @@
> }
>
> next unless $bb_in->flatten(my $data);
> - $bb->cleanup;
> + #$bb->cleanup;
> #warn "read: [$data]\n";
> last if $data =~ /^[\r\n]+$/;
I think that has to do with the recent change in Apache. Joe, what's the end
of the story with bb reuse? Have you decided that it's impossible to re-use
bb? What's the point of $bb->cleanup then?
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org