[mp 2.0.5] Early core dump:-( OpenSolaris-x86, Apache 2.2.21 & Perl 5.14.1

Marco Walther <[email protected]>
Newsgroups gmane.comp.apache.mod-perl
Organization Oracle Corporation
Message-ID <[email protected]>
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

Apache with enabled mod_perl runs into a SIGSEGV quickly during the 
initialization of mod_perl:-( This run is from a worker-mpm but the same 
happens with the prefork-mpm.

We were running mod_perl 2.0.4 + Perl 5.10.1 successfully before.

Any idea??

Thanks,
-- Marco

2. Used Components and their Configuration:

*** mod_perl version 2.000005

*** using 
/export/home/marcow/src/kenai-packages~subversion/mod_perl/mod_perl-2.0.5/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
   MP_APR_LIB     => aprext
   MP_APXS        => /opt/kenai/apache2/bin/apxs
   MP_COMPAT_1X   => 1
   MP_GENERATE_XS => 1
   MP_LIBNAME     => mod_perl
   MP_USE_DSO     => 1


*** /opt/kenai/apache2/bin/httpd -V
Server version: Apache/2.2.21 (Unix)
Server built:   Sep 14 2011 22:10:21
Server's Module Magic Number: 20051115:30
Server loaded:  APR 1.4.5, APR-Util 1.3.12
Compiled using: APR 1.4.5, APR-Util 1.3.12
Architecture:   32-bit
Server MPM:     Worker
   threaded:     yes (fixed thread count)
     forked:     yes (variable process count)
Server compiled with....
  -D APACHE_MPM_DIR="server/mpm/worker"
  -D APR_HAS_SENDFILE
  -D APR_HAS_MMAP
  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
  -D APR_USE_PROC_PTHREAD_SERIALIZE
  -D APR_USE_PTHREAD_SERIALIZE
  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  -D APR_HAS_OTHER_CHILD
  -D AP_HAVE_RELIABLE_PIPED_LOGS
  -D DYNAMIC_MODULE_LIMIT=128
  -D HTTPD_ROOT="/opt/kenai/apache2"
  -D SUEXEC_BIN="/opt/kenai/apache2/bin/suexec"
  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
  -D DEFAULT_ERRORLOG="logs/error_log"
  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
  -D SERVER_CONFIG_FILE="conf/httpd.conf"

*** /usr/bin/ldd /opt/kenai/apache2/bin/httpd
         libm.so.2 =>     /usr/lib/libm.so.2
         libaprutil-1.so.0 =>     /opt/kenai/apache2/lib/libaprutil-1.so.0
         libdb-4.6.so =>  /opt/kenai/lib/libdb-4.6.so
         libresolv.so.2 =>        /usr/lib/libresolv.so.2
         libexpat.so.1 =>         /usr/lib/libexpat.so.1
         libiconv.so.2 =>         /opt/kenai/lib/libiconv.so.2
         libapr-1.so.0 =>         /opt/kenai/apache2/lib/libapr-1.so.0
         libuuid.so.1 =>  /usr/lib/libuuid.so.1
         libsendfile.so.1 =>      /usr/lib/libsendfile.so.1
         libsocket.so.1 =>        /usr/lib/libsocket.so.1
         libnsl.so.1 =>   /usr/lib/libnsl.so.1
         libpthread.so.1 =>       /usr/lib/libpthread.so.1
         libc.so.1 =>     /usr/lib/libc.so.1
         libdlpi.so.1 =>  /lib/libdlpi.so.1
         libmp.so.2 =>    /lib/libmp.so.2
         libmd.so.1 =>    /lib/libmd.so.1
         libscf.so.1 =>   /lib/libscf.so.1
         libinetutil.so.1 =>      /lib/libinetutil.so.1
         libdladm.so.1 =>         /lib/libdladm.so.1
         libuutil.so.1 =>         /lib/libuutil.so.1
         libgen.so.1 =>   /lib/libgen.so.1
         libdevinfo.so.1 =>       /lib/libdevinfo.so.1
         librcm.so.1 =>   /lib/librcm.so.1
         libnvpair.so.1 =>        /lib/libnvpair.so.1
         libexacct.so.1 =>        /usr/lib/libexacct.so.1
         libkstat.so.1 =>         /lib/libkstat.so.1
         libcurses.so.1 =>        /lib/libcurses.so.1
         libsec.so.1 =>   /lib/libsec.so.1
         libavl.so.1 =>   /lib/libavl.so.1
         libidmap.so.1 =>         /usr/lib/libidmap.so.1
         libldap.so.5 =>  /usr/lib/libldap.so.5
         libsldap.so.1 =>         /usr/lib/libsldap.so.1
         libadutils.so.1 =>       /usr/lib/libadutils.so.1
         libsasl.so.1 =>  /usr/lib/libsasl.so.1
         libnspr4.so =>   /usr/lib/mps/libnspr4.so
         libplc4.so =>    /usr/lib/mps/libplc4.so
         libnss3.so =>    /usr/lib/mps/libnss3.so
         libssl3.so =>    /usr/lib/mps/libssl3.so
         librt.so.1 =>    /lib/librt.so.1
         libdl.so.1 =>    /lib/libdl.so.1
         libsoftokn3.so =>        /usr/lib/mps/libsoftokn3.so
         libplds4.so =>   /usr/lib/mps/libplds4.so
         libthread.so.1 =>        /lib/libthread.so.1
         libbsm.so.1 =>   /lib/libbsm.so.1
         libsecdb.so.1 =>         /lib/libsecdb.so.1
         libtsol.so.2 =>  /lib/libtsol.so.2


*** (apr|apu)-config linking info

  -L/opt/kenai/apache2/lib -laprutil-1 -lldap  -llber -ldb-4.6 
-lexpat -liconv -L/opt/kenai/lib -R/opt/kenai/lib 
-L/opt/kenai/apache2/lib -R/opt/kenai/apache2/lib
  -L/opt/kenai/apache2/lib -lapr-1 -luuid -lsendfile -lsocket -lnsl 
-lpthread



*** /opt/kenai/bin/perl -V
Summary of my perl5 (revision 5 version 14 subversion 1) configuration:

   Platform:
     osname=solaris, osvers=2.11, archname=i86pc-solaris-thread-multi
     uname='sunos kexdev03z1 5.11 snv_111b i86pc i386 i86pc '
     config_args='-Dprefix=/opt/kenai -A 
prepend:ccflags=-I/opt/kenai/include -A prepend:libpth=/opt/kenai/lib 
/opt/SUNWspro/prod/lib/sparc/ /opt/SUNWspro/prod/lib/ /lib /usr/lib -A 
prepend:ldflags=-L/opt/kenai/lib -R/opt/kenai/lib -Doptimize=-g -U 
locincpth= -U loclibpth= -U glibpth= -Dusethreads -d -e'
     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='/opt/SUNWspro/bin/cc', ccflags ='-D_REENTRANT 
-I/opt/kenai/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-DPERL_USE_SAFE_PUTENV',
     optimize='-g',
     cppflags='-D_REENTRANT -I/opt/kenai/include'
     ccversion='Sun C 5.10 SunOS_i386 2009/06/03', gccversion='', 
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='/opt/SUNWspro/bin/cc', ldflags ='-L/opt/kenai/lib 
-R/opt/kenai/lib -L/lib -L/usr/lib '
     libpth=/opt/kenai/lib /opt/SUNWspro/prod/lib/ /lib /usr/lib
     libs=-lsocket -lnsl -ldb -ldl -lm -lpthread -lc
     perllibs=-lsocket -lnsl -ldl -lm -lpthread -lc
     libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
     gnulibc_version=''
   Dynamic Linking:
     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
     cccdlflags='-KPIC', lddlflags='-G -L/opt/kenai/lib -R/opt/kenai/lib 
-L/lib -L/usr/lib'


Characteristics of this binary (from libperl):
   Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
                         PERL_PRESERVE_IVUV PERL_USE_SAFE_PUTENV 
USE_ITHREADS
                         USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
                         USE_REENTRANT_API
   Built under solaris
   Compiled at Aug 18 2011 19:28:54
   %ENV:
     PERL_LWP_USE_HTTP_10="1"
   @INC:
     /opt/kenai/lib/perl5/site_perl/5.14.1/i86pc-solaris-thread-multi
     /opt/kenai/lib/perl5/site_perl/5.14.1
     /opt/kenai/lib/perl5/5.14.1/i86pc-solaris-thread-multi
     /opt/kenai/lib/perl5/5.14.1
     /opt/kenai/lib/perl5/site_perl
     .
[root@kexdev03z1:/export/home/marcow/src/kenai-packages~subversion/mod_perl] 
# ldd /opt/kenai/bin/perl
         libsocket.so.1 =>        /lib/libsocket.so.1
         libnsl.so.1 =>   /lib/libnsl.so.1
         libdl.so.1 =>    /lib/libdl.so.1
         libm.so.2 =>     /lib/libm.so.2
         libpthread.so.1 =>       /lib/libpthread.so.1
         libc.so.1 =>     /lib/libc.so.1
         libmp.so.2 =>    /lib/libmp.so.2
         libmd.so.1 =>    /lib/libmd.so.1
         libscf.so.1 =>   /lib/libscf.so.1
         libuutil.so.1 =>         /lib/libuutil.so.1
         libgen.so.1 =>   /lib/libgen.so.1

[root@kexdev03z1:/export/home/marcow/src/kenai-packages~subversion/mod_perl] 
# ldd mod_perl-2.0.5/src/modules/perl/mod_perl.so
         libsocket.so.1 =>        /lib/libsocket.so.1
         libnsl.so.1 =>   /lib/libnsl.so.1
         libdl.so.1 =>    /lib/libdl.so.1
         libm.so.2 =>     /lib/libm.so.2
         libpthread.so.1 =>       /lib/libpthread.so.1
         libc.so.1 =>     /lib/libc.so.1
         libmp.so.2 =>    /lib/libmp.so.2
         libmd.so.1 =>    /lib/libmd.so.1
         libscf.so.1 =>   /lib/libscf.so.1
         libuutil.so.1 =>         /lib/libuutil.so.1
         libgen.so.1 =>   /lib/libgen.so.1

*** Packages of interest status:

Apache2            : -
Apache2::Request   : -
CGI                : 3.55
ExtUtils::MakeMaker: 6.57_05
LWP                : 6.02
mod_perl           : -
mod_perl2          : -


3. This is the core dump trace: (if you get a core dump):

[root@kexdev03z1:/export/home/marcow/src/kenai-packages~subversion/mod_perl] 
# ~mw79288/dbx.x86 /opt/kenai/apache2/bin/httpd 
/var/cores/httpd-worker.20302-1316656799
dbx.x86: warning: cannot find global initialization file: dbxrc
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.7' in 
your .dbxrc
Reading httpd
core file header read successfully
Reading ld.so.1
Reading libm.so.2
Reading libaprutil-1.so.0.3.12
Reading libdb-4.6.so
Reading libresolv.so.2
Reading libexpat.so.1.5.2
Reading libiconv.so.2.4.0
Reading libapr-1.so.0.4.5
Reading libuuid.so.1
Reading libsendfile.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libpthread.so.1
Reading libc.so.1
Reading mod_mime.so
Reading mod_alias.so
Reading mod_perl.so
Reading libdl.so.1
Reading libscf.so.1
Reading libuutil.so.1
Reading libgen.so.1
Reading libmd.so.1
Reading libmp.so.2
t@1 (l@1) program terminated by signal SEGV (no mapping at the fault 
address)
Current function is modperl_env_clear
   100       HV *hv = ENVHV;
(dbx.x86) where
current thread: t@1
=>[1] modperl_env_clear(my_perl = 0x83ac218), line 100 in "modperl_env.c"
   [2] modperl_boot(my_perl = 0x83ac218, data = (nil)), line 100 in 
"mod_perl.c"
   [3] Perl_leave_scope(my_perl = 0x83ac218, base = 0), line 952 in 
"scope.c"
   [4] Perl_pop_scope(my_perl = 0x83ac218), line 110 in "scope.c"
   [5] S_parse_body(my_perl = 0x83ac218, env = (nil), xsinit = 
0xfe664ad0 = &`mod_perl.so`mod_perl.c`modperl_xs_init(PerlInterpreter 
*my_perl)), line 2218 in "perl.c"
   [6] perl_parse(my_perl = 0x83ac218, xsinit = 0xfe664ad0 = 
&`mod_perl.so`mod_perl.c`modperl_xs_init(PerlInterpreter *my_perl), argc 
= 6, argv = 0x8455280, env = (nil)), line 1613 in "perl.c"
   [7] modperl_startup(s = 0x80d0068, p = 0x80ca538), line 255 in 
"mod_perl.c"
   [8] modperl_startup(s = 0x80d0068, p = 0x80ca538), line 207 in 
"mod_perl.c"
   [9] modperl_init(base_server = 0x80d0068, p = 0x80ca538), line 458 in 
"mod_perl.c"
   [10] modperl_hook_init(pconf = 0x80ca538, plog = (nil), ptemp = 
(nil), s = 0x80d0068), line 631 in "mod_perl.c"
   [11] modperl_run(), line 645 in "mod_perl.c"
   [12] modperl_cmd_load_module(parms = 0x80478f0, mconfig = 0x8111ef8, 
arg = 0x83437c8 "TestCompat::apache_module"), line 666 in "modperl_cmd.c"
   [13] ap_walk_config_sub(0x83437a8, 0x80478f0, 0x80fdd20, 0x39663763), 
at 0x808508a
   [14] ap_walk_config(0x8112378, 0x80478f0, 0x80fdd20, 0x83715ec), at 
0x8085128
   [15] ap_process_config_tree(0x80d0068, 0x8112378, 0x80ca538, 
0x80fa5f8), at 0x8085e8b
   [16] main(0x9, 0x80479cc, 0x80479f4, 0xfeffb7b4), at 0x807194d
(dbx.x86)


This report was generated by t/REPORT on Thu Sep 22 02:09:12 2011 GMT.

-------------8<---------- End Bug Report --------------8<----------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.