You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by "David E. Wheeler" <da...@kineticode.com> on 2011/07/15 08:22:39 UTC
Core Dump on Perl 5.14
Hey Gang,
Building a new server (well, old server, but only now getting mod_perl) and mod_perl is core dumping. I built Perl 5.14.1 from source on it a few days ago:
$ perl -V
Summary of my perl5 (revision 5 version 14 subversion 1) configuration:
Platform:
osname=linux, osvers=2.6.24-23-server, archname=i686-linux-thread-multi
uname='linux wolf 2.6.24-23-server #1 smp wed apr 1 22:22:14 utc 2009 i686 gnulinux '
config_args='-des -Duseshrplib -Dusemultiplicity -Duseithreads -Dinc_version_list=none -Dperladmin=david@kineticode.com -Dcf_email=david@kineticode.com'
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 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.2.4 (Ubuntu 4.2.4-1ubuntu4)', 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 =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib/../lib /usr/lib/../lib /lib /usr/lib /usr/lib64
libs=-lnsl -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.7.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.7'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
PERL_PRESERVE_IVUV USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
Built under linux
Compiled at Jul 11 2011 22:59:22
@INC:
/usr/local/lib/perl5/site_perl/5.14.1/i686-linux-thread-multi
/usr/local/lib/perl5/site_perl/5.14.1
/usr/local/lib/perl5/5.14.1/i686-linux-thread-multi
/usr/local/lib/perl5/5.14.1
.
I just build Apache 2.2.19 from source, too, with this incantation:
./configure \
--prefix=/usr/local/apache2 \
--with-mpm=prefork \
--with-included-apr \
--enable-dav \
--enable-dav-fs \
--enable-log-config \
--enable-authn-file \
--enable-authz-host \
--enable-authz-group \
--enable-authz-user \
--enable-mods-shared="rewrite info worker proxy deflate headers mod_auth include ssl env mime-magic auth_digest expires dav dav_fs perl"
I built mod_perl 2 from SVN trunk like so:
/usr/local/bin/perl Makefile.PL \
MP_APXS=/usr/local/apache2/bin/apxs \
MP_PROMPT_DEFAULT=1 MP_DEBUG=1
It reliably segfaults during `make test`. Following the debugging instructions, I get this back trace:
#0 0x404fd7cf in modperl_env_clear (my_perl=0x84fcc88) at modperl_env.c:100
#1 0x404e3dcd in modperl_boot (my_perl=0x84fcc88, data=0x0) at mod_perl.c:100
#2 0x405f859f in Perl_leave_scope ()
from /usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE/libperl.so
#3 0x405f9415 in Perl_pop_scope ()
from /usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE/libperl.so
#4 0x40554c9a in S_parse_body ()
from /usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE/libperl.so
#5 0x405558d0 in perl_parse ()
from /usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE/libperl.so
#6 0x404e418d in modperl_startup (s=0x80e4e20, p=0x80dd0a8) at mod_perl.c:255
#7 0x404e4036 in modperl_startup (s=0x80e4e20, p=0x80dd0a8) at mod_perl.c:207
#8 0x404e56bd in modperl_init (base_server=0x80e4e20, p=0x80dd0a8) at mod_perl.c:458
#9 0x404e5cb3 in modperl_hook_init (pconf=0x80dd0a8, plog=0x0, ptemp=0x0, s=0x80e4e20)
at mod_perl.c:631
#10 0x404e5cfe in modperl_run () at mod_perl.c:642
#11 0x404ed667 in modperl_cmd_load_module (parms=0xbfee0be4, mconfig=0x81747f8,
arg=0x83f1de8 "TestCompat::apache_module") at modperl_cmd.c:666
#12 0x0808195e in invoke_cmd ()
#13 0x08082c17 in ap_walk_config_sub ()
#14 0x08082cb1 in ap_walk_config ()
#15 0x08084087 in ap_process_config_tree ()
#16 0x08069549 in main ()
And here's the context:
(gdb) define curinfo
Type commands for definition of "curinfo".
End with a line saying just "end".
> printf "%d:%s\n", my_perl->Tcurcop->cop_line, \
(gdb) my_perl->Tcurcop->cop_file
> end
(gdb) curinfo
There is no member named Tcurcop.
Is there a missing symbol or something? line 100 of modper_env.c is:
HV *hv = ENVHV;
Context:
void modperl_env_clear(pTHX)
{
HV *hv = ENVHV;
U32 mg_flags;
modperl_env_untie(mg_flags);
MP_TRACE_e(MP_FUNC, "[0x%lx] %%ENV = ();", modperl_interp_address(aTHX));
hv_clear(hv);
modperl_env_tie(mg_flags);
}
Anyone know what the problem might be?
This is Ubuntu 8.04 FWIW.
Best,
David
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: Core Dump on Perl 5.14
Posted by Jie Gao <J....@isu.usyd.edu.au>.
ithreads problem? See: http://comments.gmane.org/gmane.comp.apache.mod-perl/5386
-Jie
* David E. Wheeler <da...@kineticode.com> wrote:
> Date: Thu, 14 Jul 2011 23:22:39 -0700
> From: "David E. Wheeler" <da...@kineticode.com>
> To: mod_perl Dev <de...@perl.apache.org>
> Subject: Core Dump on Perl 5.14
> X-Mailer: Apple Mail (2.1084)
>
> Hey Gang,
>
> Building a new server (well, old server, but only now getting mod_perl) and mod_perl is core dumping. I built Perl 5.14.1 from source on it a few days ago:
>
> $ perl -V
> Summary of my perl5 (revision 5 version 14 subversion 1) configuration:
>
> Platform:
> osname=linux, osvers=2.6.24-23-server, archname=i686-linux-thread-multi
> uname='linux wolf 2.6.24-23-server #1 smp wed apr 1 22:22:14 utc 2009 i686 gnulinux '
> config_args='-des -Duseshrplib -Dusemultiplicity -Duseithreads -Dinc_version_list=none -Dperladmin=david@kineticode.com -Dcf_email=david@kineticode.com'
> 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 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> optimize='-O2',
> cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
> ccversion='', gccversion='4.2.4 (Ubuntu 4.2.4-1ubuntu4)', 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 =' -fstack-protector -L/usr/local/lib'
> libpth=/usr/local/lib /lib/../lib /usr/lib/../lib /lib /usr/lib /usr/lib64
> libs=-lnsl -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> libc=/lib/libc-2.7.so, so=so, useshrplib=true, libperl=libperl.so
> gnulibc_version='2.7'
> Dynamic Linking:
> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE'
> cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
> PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> PERL_PRESERVE_IVUV USE_ITHREADS USE_LARGE_FILES
> USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
> Built under linux
> Compiled at Jul 11 2011 22:59:22
> @INC:
> /usr/local/lib/perl5/site_perl/5.14.1/i686-linux-thread-multi
> /usr/local/lib/perl5/site_perl/5.14.1
> /usr/local/lib/perl5/5.14.1/i686-linux-thread-multi
> /usr/local/lib/perl5/5.14.1
> .
>
> I just build Apache 2.2.19 from source, too, with this incantation:
>
> ./configure \
> --prefix=/usr/local/apache2 \
> --with-mpm=prefork \
> --with-included-apr \
> --enable-dav \
> --enable-dav-fs \
> --enable-log-config \
> --enable-authn-file \
> --enable-authz-host \
> --enable-authz-group \
> --enable-authz-user \
> --enable-mods-shared="rewrite info worker proxy deflate headers mod_auth include ssl env mime-magic auth_digest expires dav dav_fs perl"
>
> I built mod_perl 2 from SVN trunk like so:
>
> /usr/local/bin/perl Makefile.PL \
> MP_APXS=/usr/local/apache2/bin/apxs \
> MP_PROMPT_DEFAULT=1 MP_DEBUG=1
>
> It reliably segfaults during `make test`. Following the debugging instructions, I get this back trace:
>
> #0 0x404fd7cf in modperl_env_clear (my_perl=0x84fcc88) at modperl_env.c:100
> #1 0x404e3dcd in modperl_boot (my_perl=0x84fcc88, data=0x0) at mod_perl.c:100
> #2 0x405f859f in Perl_leave_scope ()
> from /usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE/libperl.so
> #3 0x405f9415 in Perl_pop_scope ()
> from /usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE/libperl.so
> #4 0x40554c9a in S_parse_body ()
> from /usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE/libperl.so
> #5 0x405558d0 in perl_parse ()
> from /usr/local/lib/perl5/5.14.1/i686-linux-thread-multi/CORE/libperl.so
> #6 0x404e418d in modperl_startup (s=0x80e4e20, p=0x80dd0a8) at mod_perl.c:255
> #7 0x404e4036 in modperl_startup (s=0x80e4e20, p=0x80dd0a8) at mod_perl.c:207
> #8 0x404e56bd in modperl_init (base_server=0x80e4e20, p=0x80dd0a8) at mod_perl.c:458
> #9 0x404e5cb3 in modperl_hook_init (pconf=0x80dd0a8, plog=0x0, ptemp=0x0, s=0x80e4e20)
> at mod_perl.c:631
> #10 0x404e5cfe in modperl_run () at mod_perl.c:642
> #11 0x404ed667 in modperl_cmd_load_module (parms=0xbfee0be4, mconfig=0x81747f8,
> arg=0x83f1de8 "TestCompat::apache_module") at modperl_cmd.c:666
> #12 0x0808195e in invoke_cmd ()
> #13 0x08082c17 in ap_walk_config_sub ()
> #14 0x08082cb1 in ap_walk_config ()
> #15 0x08084087 in ap_process_config_tree ()
> #16 0x08069549 in main ()
>
> And here's the context:
>
> (gdb) define curinfo
> Type commands for definition of "curinfo".
> End with a line saying just "end".
> > printf "%d:%s\n", my_perl->Tcurcop->cop_line, \
> (gdb) my_perl->Tcurcop->cop_file
> > end
> (gdb) curinfo
> There is no member named Tcurcop.
>
> Is there a missing symbol or something? line 100 of modper_env.c is:
>
> HV *hv = ENVHV;
>
> Context:
>
> void modperl_env_clear(pTHX)
> {
> HV *hv = ENVHV;
> U32 mg_flags;
>
> modperl_env_untie(mg_flags);
>
> MP_TRACE_e(MP_FUNC, "[0x%lx] %%ENV = ();", modperl_interp_address(aTHX));
>
> hv_clear(hv);
>
> modperl_env_tie(mg_flags);
> }
>
> Anyone know what the problem might be?
>
> This is Ubuntu 8.04 FWIW.
>
> Best,
>
> David
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
> For additional commands, e-mail: dev-help@perl.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org