-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:
I am building a web application with a Postgres backend using
Class::DBI. Some scripts generate repeatable Segmentation
Faults on their second invocation. I tried compiling everything
with cc and then compiling everything with gcc. Still the same
segfaults. Perl, Apache, mod_perl and the CPAN modules are
all the latest stable versions.
2. Used Components and their Configuration:
*** mod_perl version 2.000001
*** using /usr/local/lib/perl5/site_perl/5.8.7/i686-linux/Apache2/BuildConfig.pm
*** Makefile.PL options:
MP_APR_LIB => aprext
MP_APXS => /usr/local/apache2/bin/apxs
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
*** The httpd binary was not found
NOTE: I don't know why this is so. Please tell me the
kind of information that you require, beyond what follows,
and I will try to provide it.
charm:/usr/local/apache2/bin # ./httpd -v
Server version: Apache/2.0.55
Server built: Oct 20 2005 13:54:18
charm:/usr/local/apache2/bin # ./httpd -l
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
charm:/usr/local/apache2/bin #
*** (apr|apu)-config linking info
-L/usr/local/apache2/lib -laprutil-0 -lexpat
-L/usr/local/apache2/lib -lapr-0 -lrt -lm -lcrypt -lnsl -lpthread -ldl
*** /usr/local/bin/perl5.8.7 -V
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
Platform:
osname=linux, osvers=2.6.11.4-20a-default, archname=i686-linux
uname='linux charm 2.6.11.4-20a-default #1 wed mar 23 21:52:37 utc
2005 i686 i686 i386 gnulinux '
config_args='-des -Doptimize=-g -Dusedevel -Dcc=gcc'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-g',
cppflags='-DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='3.3.5 20050117 (prerelease) (SUSE
Linux)', 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 -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.4'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING USE_LARGE_FILES
Built under linux
Compiled at Oct 20 2005 13:31:14
%ENV:
PERL_LWP_USE_HTTP_10="1"
@INC:
/usr/local/lib/perl5/5.8.7/i686-linux
/usr/local/lib/perl5/5.8.7
/usr/local/lib/perl5/site_perl/5.8.7/i686-linux
/usr/local/lib/perl5/site_perl/5.8.7
/usr/local/lib/perl5/site_perl
.
*** Packages of interest status:
Apache2 : -
Apache2::Request : -
CGI : 3.10
ExtUtils::MakeMaker: 6.17
LWP : 5.803
mod_perl : -
mod_perl2 : 2.000001
3. This is the core dump trace: (if you get a core dump):
(gdb) where
#0 ap_get_module_config (cv=0x30303320, m=0x30303320) at util_debug.c:106
#1 0x40331f30 in Perl_pp_entersub () at pp_hot.c:2888
#2 0x40314b9d in Perl_runops_debug () at dump.c:1452
#3 0x402c48fa in S_call_body (myop=0xbfffeea0, is_eval=0) at perl.c:2364
#4 0x402c4577 in Perl_call_sv (sv=0x8173398, flags=4) at perl.c:2282
#5 0x402a7303 in modperl_callback (handler=0x8130b30, p=0x825f880,
r=0x825f8b8, s=0x80bd848, args=0x8777914)
at modperl_callback.c:100
#6 0x402a7a0e in modperl_callback_run_handlers (idx=6, type=4,
r=0x825f8b8, c=0x0, s=0x80bd848, pconf=0x0, plog=0x0, ptemp=0x0,
run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:261
#7 0x402a7de5 in modperl_callback_per_dir (idx=6, r=0x825f8b8,
run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:368
#8 0x402a34ee in modperl_response_handler_run (r=0x825f8b8, finish=0)
at mod_perl.c:979
#9 0x402a379b in modperl_response_handler_cgi (r=0x825f8b8) at mod_perl.c:1074
#10 0x0807eafb in ap_run_handler (r=0x825f8b8) at config.c:152
#11 0x08081535 in ap_invoke_handler (r=0x825f8b8) at config.c:364
#12 0x0806e0df in ap_process_request (r=0x825f8b8) at http_request.c:249
#13 0x08069669 in ap_process_http_connection (c=0x8257970) at http_core.c:251
#14 0x08088acb in ap_run_process_connection (c=0x8257970) at connection.c:43
#15 0x0807dc08 in child_main (child_num_arg=<value optimized out>) at
prefork.c:610
#16 0x0807dd91 in make_child (s=<value optimized out>, slot=0) at prefork.c:704
#17 0x0807de21 in startup_children (number_to_start=5) at prefork.c:722
#18 0x0807e4ed in ap_mpm_run (_pconf=0x80b90a8, plog=0x80f1188,
s=0x80bd848) at prefork.c:941
#19 0x080836fc in main (argc=3, argv=0xbffff444) at main.c:618
(gdb) define curinfo
Type commands for definition of "curinfo".
End with a line saying just "end".
> printf "%d:%s\n", PL_curcop->cop_line, \
((XPV*)(*(XPVGV*)PL_curcop->cop_filegv->sv_any)\
->xgv_gp->gp_sv->sv_any)->xpv_pv
> end
(gdb) curinfo
62:(eval 26)
(gdb)
This report was generated by /usr/local/bin/mp2bug on Thu Oct 20
12:05:44 2005 GMT.
-------------8<---------- End Bug Report --------------8<----------