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 <dev@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=da...@kineticode.com > -Dcf_email=da...@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-unsubscr...@perl.apache.org > For additional commands, e-mail: dev-h...@perl.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org For additional commands, e-mail: dev-h...@perl.apache.org