Segmentation fault with Perl-Catalyst app

Segmentation fault with Perl-Catalyst app

am 07.12.2008 18:51:39 von Terence Monteiro

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 =
#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=) at
/tmp/buildd/apache2-2.2.9/server/mpm/prefork/prefork.c:672
pdesc = (const apr_pollfd_t *) 0x9dff018
current_conn =
csd = (void *) 0x9e52970
ptrans = (apr_pool_t *) 0x9e52938
allocator = (apr_allocator_t *) 0x9720d58
status =
i =
lr =
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 =
active_children =
cutoff =
index =
remaining_children_to_start = 0
rv =
#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 =
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 =
mod =
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:


use lib '/usr/local/apps/ttk/lib';

PerlModule tirt


SetHandler modperl
PerlResponseHandler tirt


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

Re: Segmentation fault with Perl-Catalyst app

am 07.12.2008 18:54:15 von Terence Monteiro

Terence Monteiro wrote:
> 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 =
> #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=) at
> /tmp/buildd/apache2-2.2.9/server/mpm/prefork/prefork.c:672
> pdesc = (const apr_pollfd_t *) 0x9dff018
> current_conn =
> csd = (void *) 0x9e52970
> ptrans = (apr_pool_t *) 0x9e52938
> allocator = (apr_allocator_t *) 0x9720d58
> status =
> i =
> lr =
> 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 =
> active_children =
> cutoff =
> index =
> remaining_children_to_start = 0
> rv =
> #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 =
> 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 =
> mod =
> 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:
>
>
> use lib '/usr/local/apps/ttk/lib';
>

> PerlModule tirt
>
>
> SetHandler modperl
> PerlResponseHandler tirt
>

>
> Please help me to find a solution. Please ask if you need more information.
>

Enabled apache2 modules (ls -1 /etc/apache2/mods-enabled):

actions.conf
actions.load
alias.conf
alias.load
auth_basic.load
authn_file.load
auth_pam.load
authz_default.load
authz_groupfile.load
authz_host.load
authz_user.load
autoindex.conf
autoindex.load
cache.load
cgi.load
dir.conf
dir.load
env.load
fastcgi.conf
fastcgi.load
mime.conf
mime.load
negotiation.conf
negotiation.load
perl.load
php5.conf
php5.load
proxy.conf
proxy_connect.load
proxy_http.load
proxy.load
rewrite.load
ssl.conf
ssl.load
status.conf
status.load

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

Re: Segmentation fault with Perl-Catalyst app

am 07.12.2008 19:01:40 von Terence Monteiro

Terence Monteiro wrote:
> Terence Monteiro wrote:
>> 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:

Important piece of information - I get the segfaults after putting a high
load on the server, i.e. making many successive HTTP requests.

>>
>> #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 =
>> #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=) at
>> /tmp/buildd/apache2-2.2.9/server/mpm/prefork/prefork.c:672
>> pdesc = (const apr_pollfd_t *) 0x9dff018
>> current_conn =
>> csd = (void *) 0x9e52970
>> ptrans = (apr_pool_t *) 0x9e52938
>> allocator = (apr_allocator_t *) 0x9720d58
>> status =
>> i =
>> lr =
>> 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 =
>> active_children =
>> cutoff =
>> index =
>> remaining_children_to_start = 0
>> rv =
>> #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 =
>> 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 =
>> mod =
>> 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:
>>
>>
>> use lib '/usr/local/apps/ttk/lib';
>>

>> PerlModule tirt
>>
>>
>> SetHandler modperl
>> PerlResponseHandler tirt
>>

>>
>> Please help me to find a solution. Please ask if you need more information.
>>
>
> Enabled apache2 modules (ls -1 /etc/apache2/mods-enabled):
>
> actions.conf
> actions.load
> alias.conf
> alias.load
> auth_basic.load
> authn_file.load
> auth_pam.load
> authz_default.load
> authz_groupfile.load
> authz_host.load
> authz_user.load
> autoindex.conf
> autoindex.load
> cache.load
> cgi.load
> dir.conf
> dir.load
> env.load
> fastcgi.conf
> fastcgi.load
> mime.conf
> mime.load
> negotiation.conf
> negotiation.load
> perl.load
> php5.conf
> php5.load
> proxy.conf
> proxy_connect.load
> proxy_http.load
> proxy.load
> rewrite.load
> ssl.conf
> ssl.load
> status.conf
> status.load
>


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

Re: Segmentation fault with Perl-Catalyst app

am 07.12.2008 20:09:44 von aw

Terence Monteiro wrote:
[...]
Hi.
I cannot help you, but if you want help quickly, it helps if you provide
some additional information, like :
- which platform (Windows, Unix, Linux, version ?)
- which version of Apache, and from where it comes
- which version of mod_perl, and from where it comes
- which version of Catalyst

Re: Segmentation fault with Perl-Catalyst app

am 08.12.2008 01:58:30 von Perrin Harkins

On Sun, Dec 7, 2008 at 12:51 PM, Terence Monteiro
wrote:
> 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.

My guess is that you're opening database handles in the parent process
at startup and then trying to use them in child processes later on.
Check your code to make sure it doesn't keep any open database handles
from startup.

- Perrin

Re: Segmentation fault with Perl-Catalyst app

am 08.12.2008 04:31:31 von Terence Monteiro

André Warnier wrote:
> Terence Monteiro wrote:
> [...]
> Hi.
> I cannot help you, but if you want help quickly, it helps if you provide
> some additional information, like :
> - which platform (Windows, Unix, Linux, version ?)
> - which version of Apache, and from where it comes
> - which version of mod_perl, and from where it comes
> - which version of Catalyst

I'm using Debian lenny. Apache2, modperl are from the debian packages.
Versions are as follows:

Apache2: 2.2.9-10
apache2-mpm-prefork: 2.2.9-11
modperl: 2.0.4-4
Catalyst: 5.7014

Anything else needed?

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

Re: Segmentation fault with Perl-Catalyst app

am 05.01.2009 12:01:24 von Terence Monteiro

Perrin Harkins wrote:
> On Sun, Dec 7, 2008 at 12:51 PM, Terence Monteiro
> wrote:
>> 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.
>
> My guess is that you're opening database handles in the parent process
> at startup and then trying to use them in child processes later on.
> Check your code to make sure it doesn't keep any open database handles
> from startup.

How do I make sure my code doesn't keep open database handles from startup?
Do I need to close the handles after each HTTP request I handle? I'll be
glad if someone can post a link or Catalyst code do so.

>
> - Perrin

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