Hi, I'm getting segmentation faults with apache child processes. I'm running a Catalyst application using DBIx::SearchBuilder in the backend to accesss a mysql database. I'm running this on a debian quad core CPU server with 4 gigs RAM. I enabled core dumping and got a gdb backtrace as follows:
#0 0xb6047590 in mysql_ping () from /usr/lib/libmysqlclient.so.15 No symbol table info available. #1 0xb61f83ea in XS_DBD__mysql__db_ping () from /usr/lib/perl5/auto/DBD/mysql/mysql.so No symbol table info available. #2 0xb6e10fb6 in XS_DBI_dispatch () from /usr/lib/perl5/auto/DBI/DBI.so No symbol table info available. #3 0xb7694975 in Perl_pp_entersub () from /usr/lib/libperl.so.5.10 No symbol table info available. #4 0xb7692d91 in Perl_runops_standard () from /usr/lib/libperl.so.5.10 No symbol table info available. #5 0xb768cd08 in Perl_call_sv () from /usr/lib/libperl.so.5.10 No symbol table info available. #6 0xb775cbfc in modperl_callback () from /usr/lib/apache2/modules/mod_perl.so No symbol table info available. #7 0xb775d2d3 in modperl_callback_run_handlers () from /usr/lib/apache2/modules/mod_perl.so No symbol table info available. #8 0xb775d9ca in modperl_callback_per_dir () from /usr/lib/apache2/modules/mod_perl.so No symbol table info available. #9 0xb77566ef in modperl_response_init () from /usr/lib/apache2/modules/mod_perl.so No symbol table info available. #10 0xb77568a3 in modperl_response_handler_cgi () from /usr/lib/apache2/modules/mod_perl.so No symbol table info available. #11 0x0807a179 in ap_run_handler (r=0x96fe138) at /tmp/buildd/apache2-2.2.9/server/config.c:159 n = 6 rv = 14 #12 0x0807d591 in ap_invoke_handler (r=0x96fe138) at /tmp/buildd/apache2-2.2.9/server/config.c:373 handler = 0x9e52b08 "8)�\t�X!\b" result = 166013704 old_handler = 0xa96a1e0 "perl-script" ignore = <value optimized out> #13 0x0808aff6 in ap_process_request (r=0x96fe138) at /tmp/buildd/apache2-2.2.9/modules/http/http_request.c:258 access_status = 0 #14 0x08088128 in ap_process_http_connection (c=0x9e52b08) at /tmp/buildd/apache2-2.2.9/modules/http/http_core.c:190 r = (request_rec *) 0x96fe138 csd = (apr_socket_t *) 0x0 #15 0x080815a9 in ap_run_process_connection (c=0x9e52b08) at /tmp/buildd/apache2-2.2.9/server/connection.c:43 n = 1 rv = 14 #16 0x0808fc0c in child_main (child_num_arg=<value optimized out>) at /tmp/buildd/apache2-2.2.9/server/mpm/prefork/prefork.c:672 pdesc = (const apr_pollfd_t *) 0x9dff018 current_conn = <value optimized out> csd = (void *) 0x9e52970 ptrans = (apr_pool_t *) 0x9e52938 allocator = (apr_allocator_t *) 0x9720d58 status = <value optimized out> i = <value optimized out> lr = <value optimized out> pollset = (apr_pollset_t *) 0x9dfefa8 sbh = (ap_sb_handle_t *) 0x9dfefa0 bucket_alloc = (apr_bucket_alloc_t *) 0x92a03a0 last_poll_idx = 1 #17 0x0808ff63 in make_child (s=0x80ab908, slot=4) at /tmp/buildd/apache2-2.2.9/server/mpm/prefork/prefork.c:769 No locals. #18 0x08090d68 in ap_mpm_run (_pconf=0x80a70c8, plog=0x80d9190, s=0x80ab908) at /tmp/buildd/apache2-2.2.9/server/mpm/prefork/prefork.c:904 pidfile = <value optimized out> active_children = <value optimized out> cutoff = <value optimized out> index = <value optimized out> remaining_children_to_start = 0 rv = <value optimized out> #19 0x08066f10 in main (argc=Cannot access memory at address 0x0 ) at /tmp/buildd/apache2-2.2.9/server/main.c:732 exit_status = 15 c = 68 'D' configtestonly = 0 confname = 0x8092866 "/etc/apache2/apache2.conf" def_server_root = 0x809a990 "" temp_error_log = 0x0 error = <value optimized out> process = (process_rec *) 0x80a5140 server_conf = (server_rec *) 0x80ab908 pglobal = (apr_pool_t *) 0x80a50c0 pconf = (apr_pool_t *) 0x80a70c8 plog = (apr_pool_t *) 0x80d9190 ptemp = (apr_pool_t *) 0x80e01a8 pcommands = (apr_pool_t *) 0x80a90d0 opt = (apr_getopt_t *) 0x80a9168 rv = <value optimized out> mod = <value optimized out> optarg = 0xbfeddf70 "NO_DETACH" Package versions of relevant packages are: ii apache2 2.2.9-10 ii apache2-dbg 2.2.9-11 ii apache2-mpm-prefork 2.2.9-11 ii apache2-utils 2.2.3-4+etch6 ii apache2.2-common 2.2.9-11 ii libapache2-mod-auth-pam 1.1.1-6.1 ii libapache2-mod-auth-sys-group 1.1.1-6.1 ii libapache2-mod-fastcgi 2.4.6-1 ii libapache2-mod-perl2 2.0.4-4 ii libapache2-mod-php5 5.2.0-8+etch10 ii libapache2-reload-perl 0.10-2 Output of perl -V: Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=linux, osvers=2.6.26-1-686, archname=i486-linux-gnu-thread-multi uname='linux rebekka 2.6.26-1-686 #1 smp thu oct 9 15:18:09 utc 2008 i686 gnulinux ' config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5. 10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.0 -Dsitearch=/usr/local/lib/perl/5.10.0 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible -pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.0 -Dd_dosuid -des' hint=recommended, useposix=true, d_sigaction=define 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 -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -g', cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='4.3.2', 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 /usr/lib64 libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt perllibs=-ldl -lm -lpthread -lc -lcrypt libc=/lib/libc-2.7.so, so=so, useshrplib=true, libperl=libperl.so.5.10.0 gnulibc_version='2.7' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Nov 1 2008 21:31:06 @INC: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . My apache2 configuration file is: <Perl> use lib '/usr/local/apps/ttk/lib'; </Perl> PerlModule tirt <Location /> SetHandler modperl PerlResponseHandler tirt </Location> Please help me to find a solution. Please ask if you need more information. -- Thanks and Regards, Terence Monteiro. DeepRoot Linux, http://www.deeproot.in Ph: +91 (80) 4089 0000 Getting GNU/Linux to work for you. Faster. Better. Today. Every way