-------------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 [EMAIL PROTECTED] -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 [EMAIL PROTECTED]



--
--------------------------------------------------------------------------------
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

Attachment: signature.asc
Description: OpenPGP digital signature



Reply via email to