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:41:14 UTC
[bug mp2] apache/subprocess segfaults in socket_cleanup
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:
apache/subprocess tests are all dumping core for me
The backtrace seems to indicate that something wrong is going on in socket_cleanup.
Not sure what is going on at this point though.
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 0x00000000 in ?? ()
#1 0x00fd2609 in run_child_cleanups (cref=0xa8b70f0) at apr_pools.c:1962
#2 0x00fd262d in cleanup_pool_for_exec (p=0xa8b70e0) at apr_pools.c:1969
#3 0x00fd264c in cleanup_pool_for_exec (p=0xa8b70e0) at apr_pools.c:1972
#4 0x00fd264c in cleanup_pool_for_exec (p=0xa8b50d8) at apr_pools.c:1972
#5 0x00fd264c in cleanup_pool_for_exec (p=0x95d50a8) at apr_pools.c:1972
#6 0x00fd264c in cleanup_pool_for_exec (p=0x95d30a0) at apr_pools.c:1972
#7 0x00fd267d in apr_pool_cleanup_for_exec () at apr_pools.c:1987
#8 0x00fcb094 in apr_proc_create (new=0xa8c9680, progname=0xa8dba30 "/usr/bin/perl", args=0xa8c9198, env=0xa8c91b0,
attr=0xa8c93b0, pool=0xa8bd0f8) at proc.c:347
#9 0x080883eb in ap_os_create_privileged_process (r=0xa8bd130, newproc=0xa8c9680, progname=0xa8dba30 "/usr/bin/perl",
args=0xa8c9198, env=0xa8c91b0, attr=0xa8c93b0, p=0xa8bd0f8) at unixd.c:374
#10 0x00d89e34 in modperl_spawn_proc_prog (my_perl=0xa2d7d40, r=0xa8bd130, command=0x0, argv=0x0,
script_in=0xfeea9100, script_out=0xfeea9104, script_err=0xfeea9108) at Apache__SubProcess.h:83
#11 0x00d8a173 in MPXS_modperl_spawn_proc_prog (my_perl=0xa2d7d40, cv=0x0) at Apache__SubProcess.h:174
#12 0x03b0226d in Perl_pp_entersub () from /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
#13 0x03ae4bbd in Perl_runops_debug () from /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
#14 0x03a94809 in Perl_call_sv () from /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
#15 0x03a944d5 in Perl_call_sv () from /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
#16 0x00125b2f in modperl_callback (my_perl=0xa2d7d40, handler=0xa8c8f80, p=0xa8bd0f8, r=0xa8bd130, s=0x95d6e48,
args=0xa8af640) at modperl_callback.c:99
#17 0x0012608e in modperl_callback_run_handlers (idx=6, type=4, r=0xa8bd130, c=0x0, s=0x95d6e48, pconf=0x0, plog=0x0,
ptemp=0x0, run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:268
#18 0x00126555 in modperl_callback_per_dir (idx=0, r=0xa8b75a0, run_mode=MP_HOOK_RUN_ALL) at modperl_callback.c:356
#19 0x0011fa9e in modperl_response_handler_run (r=0xa8bd130, finish=1) at mod_perl.c:880
#20 0x0011fb93 in modperl_response_handler (r=0xa8bd130) at mod_perl.c:920
#21 0x08069782 in ap_run_handler (r=0xa8bd130) at config.c:151
#22 0x08069ef0 in ap_invoke_handler (r=0xa8bd130) at config.c:358
#23 0x0806676a in ap_process_request (r=0xa8bd130) at http_request.c:246
#24 0x08060d4b in ap_process_http_connection (c=0xa8b71f0) at http_core.c:250
#25 0x08074892 in ap_run_process_connection (c=0xa8b71f0) at connection.c:42
#26 0x08074c81 in ap_process_connection (c=0xa8b71f0, csd=0xa8b7118) at connection.c:175
#27 0x0806801f in child_main (child_num_arg=1) at prefork.c:609
#28 0x080681a9 in make_child (s=0x95d6e48, slot=1) at prefork.c:703
#29 0x0806821e in startup_children (number_to_start=1) at prefork.c:721
#30 0x08068627 in ap_mpm_run (_pconf=0x95d50a8, plog=0x95ff150, s=0x95d6e48) at prefork.c:940
#31 0x0806f22d in main (argc=9, argv=0xfeea9784) at main.c:617
(gdb) up
#1 0x00fd2609 in run_child_cleanups (cref=0xa8b70f0) at apr_pools.c:1962
(gdb) print *cref
$1 = (cleanup_t *) 0xa8b71e0
(gdb) print **cref
$2 = {next = 0x0, data = 0xa8b7118, plain_cleanup_fn = 0xfc9180 <socket_cleanup>,
child_cleanup_fn = 0xfc9180 <socket_cleanup>}
This report was generated by bin/mp2bug on Mon Jun 28 19:30:17 2004 GMT.
--
--------------------------------------------------------------------------------
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] apache/subprocess segfaults in socket_cleanup
Posted by Stas Bekman <st...@stason.org>.
Philippe M. Chiasson wrote:
> -------------8<---------- Start Bug Report ------------8<----------
> 1. Problem Description:
>
> apache/subprocess tests are all dumping core for me
>
> The backtrace seems to indicate that something wrong is going on in
> socket_cleanup.
> Not sure what is going on at this point though.
Doh! Most likely all the recent changes in 2.0.50, I didn't keep up with :( I
don't want to update my build now, so that I can test 5.8.5 in a few days.
[...]
> #0 0x00000000 in ?? ()
> #1 0x00fd2609 in run_child_cleanups (cref=0xa8b70f0) at apr_pools.c:1962
> #2 0x00fd262d in cleanup_pool_for_exec (p=0xa8b70e0) at apr_pools.c:1969
> #3 0x00fd264c in cleanup_pool_for_exec (p=0xa8b70e0) at apr_pools.c:1972
> #4 0x00fd264c in cleanup_pool_for_exec (p=0xa8b50d8) at apr_pools.c:1972
> #5 0x00fd264c in cleanup_pool_for_exec (p=0x95d50a8) at apr_pools.c:1972
> #6 0x00fd264c in cleanup_pool_for_exec (p=0x95d30a0) at apr_pools.c:1972
> #7 0x00fd267d in apr_pool_cleanup_for_exec () at apr_pools.c:1987
> #8 0x00fcb094 in apr_proc_create (new=0xa8c9680, progname=0xa8dba30
> "/usr/bin/perl", args=0xa8c9198, env=0xa8c91b0,
> attr=0xa8c93b0, pool=0xa8bd0f8) at proc.c:347
> #9 0x080883eb in ap_os_create_privileged_process (r=0xa8bd130,
> newproc=0xa8c9680, progname=0xa8dba30 "/usr/bin/perl",
> args=0xa8c9198, env=0xa8c91b0, attr=0xa8c93b0, p=0xa8bd0f8) at
> unixd.c:374
> #10 0x00d89e34 in modperl_spawn_proc_prog (my_perl=0xa2d7d40,
> r=0xa8bd130, command=0x0, argv=0x0,
> script_in=0xfeea9100, script_out=0xfeea9104, script_err=0xfeea9108)
> at Apache__SubProcess.h:83
> #11 0x00d8a173 in MPXS_modperl_spawn_proc_prog (my_perl=0xa2d7d40,
> cv=0x0) at Apache__SubProcess.h:174
Shouldn't cv be a non-NULL here?
--
__________________________________________________________________
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