Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: ModPerl

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

 

 

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded


marco.walther at oracle

Sep 22, 2011, 9:21 AM

Post #1 of 9 (1923 views)
Permalink
[mp 2.0.5] Early core dump:-( OpenSolaris-x86, Apache 2.2.21 & Perl 5.14.1

-------------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 [at] kexdev03z:/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 [at] kexdev03z:/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 [at] kexdev03z:/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<----------


marco.walther at oracle

Sep 21, 2011, 7:24 PM

Post #2 of 9 (1845 views)
Permalink
[mp 2.0.5] Early core dump:-( OpenSolaris-x86, Apache 2.2.21 & Perl 5.14.1 [In reply to]

-------------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 [at] kexdev03z:/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 [at] kexdev03z:/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 [at] kexdev03z:/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<----------


fred at redhotpenguin

Sep 27, 2011, 10:50 AM

Post #3 of 9 (1836 views)
Permalink
Re: [mp 2.0.5] Early core dump:-( OpenSolaris-x86, Apache 2.2.21 & Perl 5.14.1 [In reply to]

Have you tried 2.0.5?


On Wednesday, September 21, 2011 at 7:24 PM, Marco Walther wrote:

> -------------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 [at] kexdev03z:/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 [at] kexdev03z:/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 [at] kexdev03z:/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<----------


marco.walther at oracle

Sep 27, 2011, 11:21 AM

Post #4 of 9 (1837 views)
Permalink
Re: [mp 2.0.5] Early core dump:-( OpenSolaris-x86, Apache 2.2.21 & Perl 5.14.1 [In reply to]

On 09/27/2011 10:50 AM, Fred Moyer wrote:
> Have you tried 2.0.5?
Yes, from below:

---------------
*** mod_perl version 2.000005

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

------------------

I'm trying to switch from Perl 5.10.1 & mod_perl 2.0.4 --> Perl 5.14.1
(probably .2) & mod_perl 2.0.5 but so far that does not work:-(

Thanks,
-- Marco

> On Wednesday, September 21, 2011 at 7:24 PM, Marco Walther wrote:
>
>> -------------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 [at] kexdev03z:/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 [at] kexdev03z:/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 [at] kexdev03z:/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<----------
>


marco.walther at oracle

Sep 28, 2011, 2:22 PM

Post #5 of 9 (1846 views)
Permalink
Re: [mp 2.0.5] Early core dump:-( OpenSolaris-x86, Apache 2.2.21 & Perl 5.14.1 [In reply to]

OK, I think I found one problem. The following two defines don't make
it from the Perl make to the CCFLAGS for the mod_perl:-(
`-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' (They are automatically
added by the Configure for perl and listed in the perl -V output below).

That causes the my_perl structure to be of different sizes/offsets
between perl and mod_perl. That works by accident with Perl 5.10.1 and
finally breaks with 5.14.[12]

Unfortunately even trying to run
/opt/kenai/bin/perl Makefile.PL DEFINE='-D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64'
is not enough:-( The defines still do not make it to the
src/modules/perl/Makefile:-( But after changing that Makefile by hand
and rebuilding, things seem to be working fine.

Thanks,
-- Marco

Some dbx output

----------------- perl 5.10.1 & mod_perl dev from yesterday
---------------------------------------------
[mw79288 [at] kexdev03z:/export/home/marcow/src/kenai-packages~subversion/mod_perl/modperl-2.0_20110927151300]
$ ~/dbx.x86 /opt/kenai/bin/perl
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 perl
Reading ld.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libdl.so.1
Reading libm.so.2
Reading libpthread.so.1
Reading libc.so.1
(dbx.x86) loadobject -load ./blib/arch/auto/ModPerl/Const/Const.so
Reading Const.so
Loaded loadobject:
/export/home/marcow/src/kenai-packages~subversion/mod_perl/modperl-2.0_20110927151300/blib/arch/auto/ModPerl/Const/Const.so
(dbx.x86) stop in boot_ModPerl__Const
(2) stop in boot_ModPerl__Const
(dbx.x86) run -I../blib/arch -I../blib/lib \
> t/TEST -bugreport -verbose=0
Running: perl -I../blib/arch -I../blib/lib t/TEST -bugreport -verbose=0
(process id 17713)
Reading Cwd.so
Reading IO.so
Reading Fcntl.so
Reading Util.so
Reading Dumper.so
Reading Glob.so
Reading Socket.so
Reading HiRes.so
Reading librt.so.1
Reading POSIX.so
[warning] Skipping 'set unlimited ulimit for coredumps', since we are
running as a non-root user on Solaris
[warning] forcing re-configuration:
[warning] - configuration generated with old Apache-Test.
t@1 (l@1) stopped in boot_ModPerl__Const at line 89 in file "Const.c"
89 dVAR; dXSARGS;
(dbx.x86) print sizeof(*my_perl)
sizeof(*my_perl) = 2136
(dbx.x86) up
Current function is Perl_pp_entersub
2888 (void)(*CvXSUB(cv))(aTHX_ cv);
(dbx.x86) print sizeof(*my_perl)
sizeof(*my_perl) = 2152
(dbx.x86) where
current thread: t@1
dbx.x86: warning: can't find file
"/export/home/marcow/src/kenai-packages~subversion/perl/perl-5.10.1/perlmain.c"
dbx.x86: warning: see `help finding-files'
dbx.x86: warning: can't find file
"/export/home/marcow/src/kenai-packages~subversion/perl/perl-5.10.1/perlmain.c"
[1] boot_ModPerl__Const(my_perl = 0x8241e28, cv = 0x8eedb1c), line 89
in "Const.c"
=>[2] Perl_pp_entersub(my_perl = 0x8241e28), line 2888 in "pp_hot.c"
[3] Perl_runops_debug(my_perl = 0x8241e28), line 1968 in "dump.c"
[4] Perl_call_sv(my_perl = 0x8241e28, sv = 0x8eed58c, flags = 6),
line 2717 in "perl.c"
[5] Perl_call_list(my_perl = 0x8241e28, oldscope = 25, paramList =
0x8ee3c54), line 5264 in "perl.c"
[6] S_process_special_blocks(my_perl = 0x8241e28, fullname =
0x82e2540 "BEGIN", gv = 0x8eed5dc, cv = 0x8eed58c), line 5864 in "op.c"
[7] Perl_newATTRSUB(my_perl = 0x8241e28, floor = 381, o = 0x8ecbf48,
proto = (nil), attrs = (nil), block = 0x8ebe8a8), line 5835 in "op.c"
[8] Perl_utilize(my_perl = 0x8241e28, aver = 1, floor = 381, version
= (nil), idop = 0x8ecbaa8, arg = 0x8ecbb28), line 3886 in "op.c"
[9] Perl_yyparse(my_perl = 0x8241e28), line 659 in "perly.y"
[10] S_doeval(my_perl = 0x8241e28, gimme = 0, startop = (nil),
outside = (nil), seq = 11148U), line 2981 in "pp_ctl.c"
[11] Perl_pp_require(my_perl = 0x8241e28), line 3573 in "pp_ctl.c"
[12] Perl_runops_debug(my_perl = 0x8241e28), line 1968 in "dump.c"
[13] Perl_call_sv(my_perl = 0x8241e28, sv = 0x8ec8b24, flags = 6),
line 2717 in "perl.c"
[14] Perl_call_list(my_perl = 0x8241e28, oldscope = 19, paramList =
0x8ec8994), line 5264 in "perl.c"
[15] S_process_special_blocks(my_perl = 0x8241e28, fullname =
0x82e2540 "BEGIN", gv = 0x8ec8b44, cv = 0x8ec8b24), line 5864 in "op.c"
[16] Perl_newATTRSUB(my_perl = 0x8241e28, floor = 242, o = 0x8ecb9a8,
proto = (nil), attrs = (nil), block = 0x8ebe970), line 5835 in "op.c"
[17] Perl_utilize(my_perl = 0x8241e28, aver = 1, floor = 242, version
= (nil), idop = 0x8ecbb08, arg = 0x8ed0718), line 3886 in "op.c"
[18] Perl_yyparse(my_perl = 0x8241e28), line 659 in "perly.y"
[19] S_doeval(my_perl = 0x8241e28, gimme = 0, startop = (nil),
outside = (nil), seq = 4596U), line 2981 in "pp_ctl.c"
[20] Perl_pp_require(my_perl = 0x8241e28), line 3573 in "pp_ctl.c"
[21] Perl_runops_debug(my_perl = 0x8241e28), line 1968 in "dump.c"
[22] S_run_body(my_perl = 0x8241e28, oldscope = 1), line 2426 in "perl.c"
[23] perl_run(my_perl = 0x8241e28), line 2349 in "perl.c"
[24] main(argc = 6, argv = 0x8047b5c, env = 0x8047b78), at 0x806f180
(dbx.x86)

------------------------------ perl 5.14.1 & mod_perl dev from yesterday
---------------------------------------------
[mw79288 [at] kexdev03z:/export/home/marcow/src/kenai-packages~subversion/mod_perl/modperl-2.0_20110927151300]
$ ~/dbx.x86 /opt/kenai/bin/perl
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 perl
Reading ld.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libdl.so.1
Reading libm.so.2
Reading libpthread.so.1
Reading libc.so.1
(dbx.x86) loadobject -load ./blib/arch/auto/ModPerl/Const/Const.so
Reading Const.so
Loaded loadobject:
/export/home/marcow/src/kenai-packages~subversion/mod_perl/modperl-2.0_20110927151300/blib/arch/auto/ModPerl/Const/Const.so
(dbx.x86) stop in boot_ModPerl__Const
(2) stop in boot_ModPerl__Const
(dbx.x86) run -I../blib/arch -I../blib/lib t/TEST -bugreport -verbose=0
Running: perl -I../blib/arch -I../blib/lib t/TEST -bugreport -verbose=0
(process id 2010)

execution completed, exit code is 0
(dbx.x86) quit
[mw79288 [at] kexdev03z:/export/home/marcow/src/kenai-packages~subversion/mod_perl/modperl-2.0_20110927151300]
$ ~/dbx.x86 /opt/kenai/bin/perl
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 perl
Reading ld.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libdl.so.1
Reading libm.so.2
Reading libpthread.so.1
Reading libc.so.1
(dbx.x86) loadobject -load ./blib/arch/auto/ModPerl/Const/Const.so
Reading Const.so
Loaded loadobject:
/export/home/marcow/src/kenai-packages~subversion/mod_perl/modperl-2.0_20110927151300/blib/arch/auto/ModPerl/Const/Const.so
(dbx.x86) stop in boot_ModPerl__Const
(2) stop in boot_ModPerl__Const
(dbx.x86) run -I../blib/arch -I../blib/lib t/TEST -bugreport -verbose=0
Running: perl -I../blib/arch -I../blib/lib t/TEST -bugreport -verbose=0
(process id 21459)
Reading Cwd.so
Reading IO.so
Reading Fcntl.so
Reading Util.so
Reading Dumper.so
Reading Glob.so
Reading Socket.so
Reading Storable.so
Reading HiRes.so
Reading librt.so.1
Reading POSIX.so
[warning] Skipping 'set unlimited ulimit for coredumps', since we are
running as a non-root user on Solaris
[warning] forcing re-configuration:
[warning] - configuration generated with old Apache-Test.
t@1 (l@1) stopped in boot_ModPerl__Const at line 89 in file "Const.c"
89 dVAR; dXSARGS;
(dbx.x86) print sizeof(*my_perl)
sizeof(*my_perl) = 2216
(dbx.x86) up
Current function is Perl_pp_entersub
3046 CvXSUB(cv)(aTHX_ cv);
(dbx.x86) print sizeof(*my_perl)
sizeof(*my_perl) = 2232
(dbx.x86) where
current thread: t@1
dbx.x86: warning: can't find file
"/export/home/marcow/src/kenai-packages~subversion/perl/perl-5.14.1/perlmain.c"
dbx.x86: warning: see `help finding-files'
dbx.x86: warning: can't find file
"/export/home/marcow/src/kenai-packages~subversion/perl/perl-5.14.1/perlmain.c"
[1] boot_ModPerl__Const(my_perl = 0x827f4d0, cv = 0x9244c94), line 89
in "Const.c"
=>[2] Perl_pp_entersub(my_perl = 0x827f4d0), line 3046 in "pp_hot.c"
[3] Perl_runops_debug(my_perl = 0x827f4d0), line 2266 in "dump.c"
[4] Perl_call_sv(my_perl = 0x827f4d0, sv = 0x92446e4, flags = 14),
line 2647 in "perl.c"
[5] Perl_call_list(my_perl = 0x827f4d0, oldscope = 25, paramList =
0x922a4f4), line 4714 in "perl.c"
[6] S_process_special_blocks(my_perl = 0x827f4d0, fullname =
0x83208c8 "BEGIN", gv = 0x9244734, cv = 0x92446e4), line 6462 in "op.c"
[7] Perl_newATTRSUB(my_perl = 0x827f4d0, floor = 339, o = 0x862f9e8,
proto = (nil), attrs = (nil), block = 0x921d600), line 6433 in "op.c"
[8] Perl_utilize(my_perl = 0x827f4d0, aver = 1, floor = 339, version
= (nil), idop = 0x922c770, arg = 0x922c710), line 4317 in "op.c"
[9] Perl_yyparse(my_perl = 0x827f4d0, gramtype = 258), line 361 in
"perly.y"
[10] S_doeval(my_perl = 0x827f4d0, gimme = 2, startop = (nil),
outside = (nil), seq = 13181U), line 3334 in "pp_ctl.c"
[11] Perl_pp_require(my_perl = 0x827f4d0), line 3906 in "pp_ctl.c"
[12] Perl_runops_debug(my_perl = 0x827f4d0), line 2266 in "dump.c"
[13] Perl_call_sv(my_perl = 0x827f4d0, sv = 0x922a4d4, flags = 14),
line 2647 in "perl.c"
[14] Perl_call_list(my_perl = 0x827f4d0, oldscope = 19, paramList =
0x922a294), line 4714 in "perl.c"
[15] S_process_special_blocks(my_perl = 0x827f4d0, fullname =
0x83208c8 "BEGIN", gv = 0x922a434, cv = 0x922a4d4), line 6462 in "op.c"
[16] Perl_newATTRSUB(my_perl = 0x827f4d0, floor = 204, o = 0x922c9b0,
proto = (nil), attrs = (nil), block = 0x9242b88), line 6433 in "op.c"
[17] Perl_utilize(my_perl = 0x827f4d0, aver = 1, floor = 204, version
= (nil), idop = 0x92196b0, arg = 0x921d448), line 4317 in "op.c"
[18] Perl_yyparse(my_perl = 0x827f4d0, gramtype = 258), line 361 in
"perly.y"
[19] S_doeval(my_perl = 0x827f4d0, gimme = 2, startop = (nil),
outside = (nil), seq = 6533U), line 3334 in "pp_ctl.c"
[20] Perl_pp_require(my_perl = 0x827f4d0), line 3906 in "pp_ctl.c"
[21] Perl_runops_debug(my_perl = 0x827f4d0), line 2266 in "dump.c"
[22] S_run_body(my_perl = 0x827f4d0, oldscope = 1), line 2345 in "perl.c"
[23] perl_run(my_perl = 0x827f4d0), line 2268 in "perl.c"
[24] main(argc = 6, argv = 0x8047b5c, env = 0x8047b78), at 0x806cea0
(dbx.x86) down
Current function is boot_ModPerl__Const
89 dVAR; dXSARGS;
(dbx.x86) cont
Assertion failed: SvTYPE(av) == SVt_PVAV, file av.c, line 730
t@1 (l@1) signal ABRT (Abort) in _lwp_kill at 0xfed71997
0xfed71997: _lwp_kill+0x0007: jae _lwp_kill+0x15 [ 0xfed719a5,
.+0xe ]
Current function is Perl_av_len
730 assert(SvTYPE(av) == SVt_PVAV);
(dbx.x86) where
current thread: t@1
dbx.x86: warning: can't find file
"/export/home/marcow/src/kenai-packages~subversion/perl/perl-5.14.1/perlmain.c"
dbx.x86: warning: can't find file
"/export/home/marcow/src/kenai-packages~subversion/perl/perl-5.14.1/perlmain.c"
[1] _lwp_kill(0x1, 0x6, 0x8046314, 0xfed6a9ea), at 0xfed71997
[2] thr_kill(0x1, 0x6, 0x8046314, 0xfed1ab6e), at 0xfed6aa0c
[3] raise(0x6, 0x0, 0x8046364, 0xfecf1fea), at 0xfed1ab7a
[4] abort(0x65737341, 0x6f697472, 0x6166206e, 0x64656c69, 0x7653203a,
0x45505954, 0x29766128, 0x203d3d20, 0x5f745653, 0x56415650, 0x6966202c,
0x6120656c, 0x2c632e76, 0x6e696c20, 0x33372065, 0x8000a30, 0x80464e8,
0x0, 0x10, 0x0), at 0xfecf200a
[5] _assert(0x825e350, 0x825e348, 0x2da), at 0xfecf225a
=>[6] Perl_av_len(my_perl = 0x827f4d0, av = 0x8283684), line 730 in "av.c"
[7] Perl_call_list(my_perl = 0x827f4d0, oldscope = 33, paramList =
0x8283684), line 4688 in "perl.c"
[8] boot_ModPerl__Const(my_perl = 0x827f4d0, cv = 0x9244c94), line
113 in "Const.c"
[9] Perl_pp_entersub(my_perl = 0x827f4d0), line 3046 in "pp_hot.c"
[10] Perl_runops_debug(my_perl = 0x827f4d0), line 2266 in "dump.c"
[11] Perl_call_sv(my_perl = 0x827f4d0, sv = 0x92446e4, flags = 14),
line 2647 in "perl.c"
[12] Perl_call_list(my_perl = 0x827f4d0, oldscope = 25, paramList =
0x922a4f4), line 4714 in "perl.c"
[13] S_process_special_blocks(my_perl = 0x827f4d0, fullname =
0x83208c8 "BEGIN", gv = 0x9244734, cv = 0x92446e4), line 6462 in "op.c"
[14] Perl_newATTRSUB(my_perl = 0x827f4d0, floor = 339, o = 0x862f9e8,
proto = (nil), attrs = (nil), block = 0x921d600), line 6433 in "op.c"
[15] Perl_utilize(my_perl = 0x827f4d0, aver = 1, floor = 339, version
= (nil), idop = 0x922c770, arg = 0x922c710), line 4317 in "op.c"
[16] Perl_yyparse(my_perl = 0x827f4d0, gramtype = 258), line 361 in
"perly.y"
[17] S_doeval(my_perl = 0x827f4d0, gimme = 2, startop = (nil),
outside = (nil), seq = 13181U), line 3334 in "pp_ctl.c"
[18] Perl_pp_require(my_perl = 0x827f4d0), line 3906 in "pp_ctl.c"
[19] Perl_runops_debug(my_perl = 0x827f4d0), line 2266 in "dump.c"
[20] Perl_call_sv(my_perl = 0x827f4d0, sv = 0x922a4d4, flags = 14),
line 2647 in "perl.c"
[21] Perl_call_list(my_perl = 0x827f4d0, oldscope = 19, paramList =
0x922a294), line 4714 in "perl.c"
[22] S_process_special_blocks(my_perl = 0x827f4d0, fullname =
0x83208c8 "BEGIN", gv = 0x922a434, cv = 0x922a4d4), line 6462 in "op.c"
[23] Perl_newATTRSUB(my_perl = 0x827f4d0, floor = 204, o = 0x922c9b0,
proto = (nil), attrs = (nil), block = 0x9242b88), line 6433 in "op.c"
[24] Perl_utilize(my_perl = 0x827f4d0, aver = 1, floor = 204, version
= (nil), idop = 0x92196b0, arg = 0x921d448), line 4317 in "op.c"
[25] Perl_yyparse(my_perl = 0x827f4d0, gramtype = 258), line 361 in
"perly.y"
[26] S_doeval(my_perl = 0x827f4d0, gimme = 2, startop = (nil),
outside = (nil), seq = 6533U), line 3334 in "pp_ctl.c"
[27] Perl_pp_require(my_perl = 0x827f4d0), line 3906 in "pp_ctl.c"
[28] Perl_runops_debug(my_perl = 0x827f4d0), line 2266 in "dump.c"
[29] S_run_body(my_perl = 0x827f4d0, oldscope = 1), line 2345 in "perl.c"
[30] perl_run(my_perl = 0x827f4d0), line 2268 in "perl.c"
[31] main(argc = 6, argv = 0x8047b5c, env = 0x8047b78), at 0x806cea0
(dbx.x86)

------------------------------ Partial diff between the two versions of
the *my_perl ------------------
--- boot 2011-09-28 10:54:09.719088302 -0700
+++ call 2011-09-28 10:55:12.679088135 -0700
@@ -26,233 +26,231 @@
Istatbuf = {
st_dev = 47775762U
st_pad1 = (0, 0, 0)
- st_ino = 10266116U
- st_mode = 0
- st_nlink = 33188U
- st_uid = 1U
- st_gid = 179288U
- st_rdev = 0
- st_pad2 = (-1, 0)
- st_size = 0
- st_pad3 = 5112
+ st_ino = 10266116ULL
+ st_mode = 33188U
+ st_nlink = 1U
+ st_uid = 179288U
+ st_gid = 0
+ st_rdev = 4294967295U
+ st_pad2 = (0, 0)
+ st_size = 5112LL
.....


On 09/27/2011 11:21 AM, Marco Walther wrote:
> On 09/27/2011 10:50 AM, Fred Moyer wrote:
>> Have you tried 2.0.5?
> Yes, from below:
>
> ---------------
> *** mod_perl version 2.000005
>
> *** using
> /export/home/marcow/src/kenai-packages~subversion/mod_perl/mod_perl-2.0.5/lib/Apache2/BuildConfig.pm
>
>
> ------------------
>
> I'm trying to switch from Perl 5.10.1 & mod_perl 2.0.4 --> Perl 5.14.1
> (probably .2) & mod_perl 2.0.5 but so far that does not work:-(
>
> Thanks,
> -- Marco
>
>> On Wednesday, September 21, 2011 at 7:24 PM, Marco Walther wrote:
>>
>>> -------------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 [at] kexdev03z:/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 [at] kexdev03z:/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 [at] kexdev03z:/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<----------
>>
>


ntyni at debian

Oct 22, 2011, 11:08 AM

Post #6 of 9 (1743 views)
Permalink
Re: mod_perl2 and Perl 5.14 with uselargefiles on 32-bit architectures (was: Early core dump) [In reply to]

On Wed, Sep 28, 2011 at 02:22:49PM -0700, Marco Walther wrote:
> OK, I think I found one problem. The following two defines don't
> make it from the Perl make to the CCFLAGS for the mod_perl:-(
> `-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' (They are automatically
> added by the Configure for perl and listed in the perl -V output
> below).
>
> That causes the my_perl structure to be of different sizes/offsets
> between perl and mod_perl. That works by accident with Perl 5.10.1
> and finally breaks with 5.14.[12]

We're running into this on Debian 32-bit architectures too
(http://bugs.debian.org/636651 [cc'd]), and the issue is one of the
blockers for our transition to Perl 5.14.

> Unfortunately even trying to run
> /opt/kenai/bin/perl Makefile.PL DEFINE='-D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64'
> is not enough:-( The defines still do not make it to the
> src/modules/perl/Makefile:-( But after changing that Makefile by
> hand and rebuilding, things seem to be working fine.

These cpp flags are stripped by lib/Apache2/Build.pm, see
has_large_files_conflict() and strip_lfs().

The mod_perl2 2.0.5 test suite works for me with Perl 5.14 if I hardwire
has_large_files_conflict() to return 0 and apply r1125476 from 2.0.6-dev:
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_svptr_table.c?r1=932879&r2=1125476

The elaborate comments about large file issues in lib/Apache2/Build.pm
around strip_lfs() seem to be partly outdated; selectively quoting:

# on Unix systems where by default off_t is a "long", a 32-bit integer,
# there are two different ways to get "large file" support, i.e. the
# ability to manipulate files bigger than 2Gb:
#
# 1) you compile using -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.
[...]
# 2) you compile using -D_LARGEFILE64_SOURCE
[...]
# The problem that mod_perl has to work around is when you take a
# package built with approach (1), i.e. Perl, and any package which was
# *not* built with (1), i.e. APR, and want to interface between
# them. [1]
[...]
# Perl built with -Duselargefiles uses approach (1).
#
# APR HEAD uses (2) by default.
[...]
# [1]: In some cases, it may be OK to interface between packages which
# use (1) and packages which use (2). APR HEAD is currently not such a
# case, since the size of apr_ino_t is still changing when
# _FILE_OFFSET_BITS is defined.

The last paragraph dates back to 2004, and the apr changelogs read:

> Changes for APR 1.2.12
> *) Define apr_ino_t in such a way that it doesn't change definition
> based on the library consumer's -D'efines to the filesystem.
> [Lucian Adrian Grijincu <lucian.grijincu gmail.com>]

> Changes for APR 1.4.3
> *) configure: Make definition of apr_ino_t independent of
> _FILE_OFFSET_BITS even on platforms where ino_t is 'unsigned int'.
> [Stefan Fritsch]

To summarize, it looks like Apache2::Build::strip_lfs() breaks with Perl
5.14 with -Duselargefiles on 32-bit architectures, and is not necessary
since at least apr 1.4.3, possibly earlier.

I'd like input on whether we should expect further pitfalls if we
build mod_perl2 with -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 on
Debian, i.e. stop stripping those flags in Apache2::Build.

Obviously, a more portable solution is needed for mod_perl 2.0.6.
Perhaps an explicit probe for sizeof(apr_ino_t) with different
_FILE_OFFSET_BITS definitions?

Cheers,
--
Niko Tyni ntyni [at] debian


marco.walther at oracle

Oct 22, 2011, 3:12 PM

Post #7 of 9 (1747 views)
Permalink
Re: mod_perl2 and Perl 5.14 with uselargefiles on 32-bit architectures [In reply to]

On 10/22/2011 11:08 AM, Niko Tyni wrote:
> On Wed, Sep 28, 2011 at 02:22:49PM -0700, Marco Walther wrote:
>> OK, I think I found one problem. The following two defines don't
>> make it from the Perl make to the CCFLAGS for the mod_perl:-(
>> `-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' (They are automatically
>> added by the Configure for perl and listed in the perl -V output
>> below).
>>
>> That causes the my_perl structure to be of different sizes/offsets
>> between perl and mod_perl. That works by accident with Perl 5.10.1
>> and finally breaks with 5.14.[12]
> We're running into this on Debian 32-bit architectures too
> (http://bugs.debian.org/636651 [cc'd]), and the issue is one of the
> blockers for our transition to Perl 5.14.
>
>> Unfortunately even trying to run
>> /opt/kenai/bin/perl Makefile.PL DEFINE='-D_LARGEFILE_SOURCE
>> -D_FILE_OFFSET_BITS=64'
>> is not enough:-( The defines still do not make it to the
>> src/modules/perl/Makefile:-( But after changing that Makefile by
>> hand and rebuilding, things seem to be working fine.
> These cpp flags are stripped by lib/Apache2/Build.pm, see
> has_large_files_conflict() and strip_lfs().
Yes.

> The mod_perl2 2.0.5 test suite works for me with Perl 5.14 if I hardwire
> has_large_files_conflict() to return 0 and apply r1125476 from 2.0.6-dev:
> http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_svptr_table.c?r1=932879&r2=1125476io
I did pretty much the same (the return 0 for apache version > 2.2.20)
for 2.0.6-dev and it seems to work ok.

> The elaborate comments about large file issues in lib/Apache2/Build.pm
> around strip_lfs() seem to be partly outdated; selectively quoting:
>
> # on Unix systems where by default off_t is a "long", a 32-bit integer,
> # there are two different ways to get "large file" support, i.e. the
> # ability to manipulate files bigger than 2Gb:
> #
> # 1) you compile using -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.
> [...]
> # 2) you compile using -D_LARGEFILE64_SOURCE
> [...]
> # The problem that mod_perl has to work around is when you take a
> # package built with approach (1), i.e. Perl, and any package which was
> # *not* built with (1), i.e. APR, and want to interface between
> # them. [1]
> [...]
> # Perl built with -Duselargefiles uses approach (1).
> #
> # APR HEAD uses (2) by default.
> [...]
> # [1]: In some cases, it may be OK to interface between packages which
> # use (1) and packages which use (2). APR HEAD is currently not such a
> # case, since the size of apr_ino_t is still changing when
> # _FILE_OFFSET_BITS is defined.
>
> The last paragraph dates back to 2004, and the apr changelogs read:
>
>> Changes for APR 1.2.12
>> *) Define apr_ino_t in such a way that it doesn't change definition
>> based on the library consumer's -D'efines to the filesystem.
>> [Lucian Adrian Grijincu<lucian.grijincu gmail.com>]
>> Changes for APR 1.4.3
>> *) configure: Make definition of apr_ino_t independent of
>> _FILE_OFFSET_BITS even on platforms where ino_t is 'unsigned int'.
>> [Stefan Fritsch]
> To summarize, it looks like Apache2::Build::strip_lfs() breaks with Perl
> 5.14 with -Duselargefiles on 32-bit architectures, and is not necessary
> since at least apr 1.4.3, possibly earlier.
>
> I'd like input on whether we should expect further pitfalls if we
> build mod_perl2 with -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 on
> Debian, i.e. stop stripping those flags in Apache2::Build.
>
> Obviously, a more portable solution is needed for mod_perl 2.0.6.
> Perhaps an explicit probe for sizeof(apr_ino_t) with different
> _FILE_OFFSET_BITS definitions?

As I said above, I checked for the Apache version, but a check for APR
version would probably be better.

I was running into some other LFS related problems where some CPAN
modules did not use the CFLAGS from the Perl build but picked up the
environment:-(

The symptoms were very strange:-( Bugzilla calls exit() all over the
place and that's supposed to be overridden by mod_perl to do the right
thing. But for me it looked like the real exit() was called instead.

This was caused by Params-Validate-1.00 picking up CFLAGS from the
environment without the LFS from the Perl build:-( Other problematic
modules for me were DateTime-0.70 (similar strange failures) and
Convert-UUlib-1.4 (this was found while looking through my build logs?!)

Have fun,
-- Marco
> Cheers,


torsten.foertsch at gmx

Oct 23, 2011, 5:10 AM

Post #8 of 9 (1738 views)
Permalink
Re: mod_perl2 and Perl 5.14 with uselargefiles on 32-bit architectures [In reply to]

On Sunday, 23 October 2011 00:12:13 Marco Walther wrote:
> As I said above, I checked for the Apache version, but a check for
> APR version would probably be better.

If you think there is a problem in modperl and you resolved it could you
please provide a patch against trunk? Chances that it would be applied
are much higher that way. It would also be much easier to review.

Thanks,
Torsten Förtsch

--
Need professional modperl support? Hire me! (http://foertsch.name)

Like fantasy? http://kabatinte.net


dom at earth

Nov 15, 2011, 11:51 AM

Post #9 of 9 (1681 views)
Permalink
Re: Bug#636651: mod_perl2 and Perl 5.14 with uselargefiles on 32-bit architectures [In reply to]

On Sun, Oct 23, 2011 at 02:10:07PM +0200, Torsten Förtsch wrote:
> On Sunday, 23 October 2011 00:12:13 Marco Walther wrote:
> > As I said above, I checked for the Apache version, but a check for
> > APR version would probably be better.
>
> If you think there is a problem in modperl and you resolved it could you
> please provide a patch against trunk? Chances that it would be applied
> are much higher that way. It would also be much easier to review.

The patch we've applied to mod_perl on Debian is:
<http://patch-tracker.debian.org/patch/series/view/libapache2-mod-perl2/2.0.5-4/250-lfs-perl-5.14.patch>
however I'm not sure if that's suitable for upstream application. I
thought it would be worth getting some visibility of this change,
in any case.

Cheers,
Dominic.

--
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.