httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject segfault in worker mpm
Date Sun, 03 Oct 2004 23:21:12 GMT
modperl-2.0 'make test' running under worker mpm (linux) always fails in 
t/filter/both_str_req_add.t and dumps core:

#0  0xffffe410 in ?? ()
(gdb) bt
#0  0xffffe410 in ?? ()
#1  0xbfffeff8 in ?? ()
#2  0x00000001 in ?? ()
#3  0xbfffeff7 in ?? ()
#4  0x4030536b in __read_nocancel () from /lib/tls/libpthread.so.0
#5  0x080e03c3 in ap_mpm_pod_check (pod=0x817b250) at pod.c:53
#6  0x080de523 in child_main (child_num_arg=0) at worker.c:1199
#7  0x080de6b1 in make_child (s=0x8144238, slot=0) at worker.c:1282
#8  0x080de747 in startup_children (number_to_start=1) at worker.c:1301
#9  0x080deebf in ap_mpm_run (_pconf=0x813d0a8, plog=0x81851c8, s=0x8144238)
     at worker.c:1616
#10 0x080e6700 in main (argc=9, argv=0xbffff1c4) at main.c:619

It looks like some threads problem. I have been smoking for almost 24 
hours, and it seems to happen totally randomly but always failing in 
t/filter/both_str_req_add.t. It deterministically fails when running a 
full modperl-2.0's 'make test', or least it did every time I've tried it.

One of the results SMOKE gave me was a nice:

t/compat/apache_file.t t/filter/both_str_req_add.t

but I was never able to reproduce it with these two tests when running 
them outside the smoking tool. Since then the other shortest sequence was 
of 65 tests:

t/api/show.t t/api/slurp_filename.t t/api/status.t t/api/sub_request.t 
t/api/uri.t t/apr-ext/base64.t t/apr-ext/bucket.t t/apr-ext/date.t 
t/apr-ext/finfo.t t/apr-ext/perlio.t t/apr-ext/pool.t t/apr-ext/string.t 
t/apr-ext/table.t t/apr-ext/threadmutex.t t/apr-ext/uri.t t/apr-ext/util.t 
t/apr-ext/uuid.t t/apr/base64.t t/apr/brigade.t t/apr/bucket.t 
t/apr/constants.t t/apr/date.t t/apr/finfo.t t/apr/flatten.t 
t/apr/ipsubnet.t t/apr/os.t t/apr/perlio.t t/apr/pool.t t/apr/sockaddr.t 
t/apr/socket.t t/apr/string.t t/apr/table.t t/apr/threadmutex.t 
t/apr/uri.t t/apr/util.t t/apr/uuid.t t/compat/apache.t 
t/compat/apache_file.t t/compat/apache_module.t t/compat/apache_table.t 
t/compat/apache_uri.t t/compat/apache_util.t t/compat/conn_authen.t 
t/compat/conn_rec.t t/compat/request.t t/compat/request_body.t 
t/compat/send_fd.t t/directive/cmdparms.t t/directive/env.t 
t/directive/perl.t t/directive/perldo.t t/directive/perlloadmodule.t 
t/directive/perlloadmodule2.t t/directive/perlloadmodule3.t 
t/directive/perlloadmodule4.t t/directive/perlloadmodule5.t 
t/directive/perlloadmodule6.t t/directive/perlmodule.t 
t/directive/perlrequire.t t/directive/pod.t t/directive/setupenv.t 
t/error/api.t t/error/bug.t t/error/runtime.t t/error/subreq.t 
t/filter/both_str_req_add.t

and it's still smoking trying to reduce it...

Any hints how to figure out the cause of the failure?

Used Components and their Configuration:

*** mod_perl version 1.9917

*** using /home/stas/apache.org/mp2-pool/lib/Apache/BuildConfig.pm

*** Makefile.PL options:
   MP_APR_LIB      => aprext
   MP_APXS         => /home/stas/httpd/worker/bin/apxs
   MP_COMPAT_1X    => 1
   MP_DEBUG        => 1
   MP_GENERATE_XS  => 1
   MP_INST_APACHE2 => 1
   MP_LIBNAME      => mod_perl
   MP_TRACE        => 1
   MP_USE_DSO      => 1
   MP_USE_GTOP     =>


*** /home/stas/httpd/worker/bin/httpd -V
Server version: Apache/2.0.53-dev
Server built:   Sep 23 2004 23:13:14
Server's Module Magic Number: 20020903:9
Architecture:   32-bit
Server compiled with....
  -D APACHE_MPM_DIR="server/mpm/worker"
  -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/worker"
  -D SUEXEC_BIN="/home/stas/httpd/worker/bin/suexec"
  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
  -D DEFAULT_ERRORLOG="logs/error_log"
  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
  -D SERVER_CONFIG_FILE="conf/httpd.conf"


*** (apr|apu)-config linking info

  -L/home/stas/httpd/worker/lib -lapr-0 -lrt -lm -lcrypt -lnsl  -lpthread -ldl
  -L/home/stas/httpd/worker/lib -laprutil-0 -lgdbm -ldb-4.0 -lexpat



*** /home/stas/perl/5.8.5-ithread/bin/perl5.8.5 -V
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
   Platform:
     osname=linux, osvers=2.6.3-9mdk, archname=i686-linux-thread-multi
     uname='linux rabbit.stason.org 2.6.3-9mdk #1 fri apr 23 16:41:09 edt 
2004 i686 unknown unknown gnulinux '
     config_args='-des -Dprefix=/home/stas/perl/5.8.5-ithread -Dusethreads 
-Doptimize=-g -Duseshrplib -Dusedevel -Accflags=-DDEBUG_LEAKING_SCALARS'
     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='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
-DDEBUG_LEAKING_SCALARS -DDEBUGGING -fno-strict-aliasing -pipe 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-I/usr/include/gdbm',
     optimize='-g',
     cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
-DDEBUG_LEAKING_SCALARS -DDEBUGGING -fno-strict-aliasing -pipe 
-I/usr/local/include -I/usr/include/gdbm'
     ccversion='', gccversion='3.4.1 (Mandrakelinux (Cooker) 3.4.1-1mdk)', 
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='cc', 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='-Wl,-E 
-Wl,-rpath,/home/stas/perl/5.8.5-ithread/lib/5.8.5/i686-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 Jul 21 2004 15:06:23
   %ENV:
     PERLDOC_PAGER="less -R"
     PERL_LWP_USE_HTTP_10="1"
   @INC:
     /home/stas/perl/5.8.5-ithread/lib/5.8.5/i686-linux-thread-multi
     /home/stas/perl/5.8.5-ithread/lib/5.8.5
     /home/stas/perl/5.8.5-ithread/lib/site_perl/5.8.5/i686-linux-thread-multi
     /home/stas/perl/5.8.5-ithread/lib/site_perl/5.8.5
     /home/stas/perl/5.8.5-ithread/lib/site_perl
     .

*** Packages of interest status:

Apache::Request: -
CGI            : 3.05
LWP            : 5.800
mod_perl       : 1.2901, 1.9917





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

Mime
View raw message