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

Reply via email to