I posted this already, but haven't seen it come across so I'm trying
again.  Please forgive me if you've seen it before.

I'm trying to build mod_perl as a DSO under Solaris 2.6 with Perl 5.6.0
and I'm having no luck.  The system dumps core.  I've tried enabling
and disabling expat, I've tried building the core as a DSO, all with no
luck.

Here are the relevant details of my most recent unsuccessful attempt:

1.  The Perl build:

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
  Platform:
    osname=solaris, osvers=2.6, archname=sun4-solaris
    uname='sunos usl 5.6 generic_105181-17 sun4u sparc sunw,ultra-5_10 '
    config_args='-Dbincompat5005 -Dprefix=/usrl1/home/pweiss/perl-56
-Doptimize=-O -g -Dcc=gcc -Uinstallusrbinperl -Accflags=-DPERL_POLLUTE -ds'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define 
    use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
  Compiler:
    cc='gcc', optimize='-O -g', gccversion=2.8.1
    cppflags='-DPERL_POLLUTE -DDEBUGGING -I/usr/local/include'
    ccflags ='-DPERL_POLLUTE -DDEBUGGING -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -L/usr/local/lib '
    libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -lgdbm -ldl -lm -lc -lcrypt -lsec
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: DEBUGGING USE_LARGE_FILES
  Built under solaris
  Compiled at Mar 29 2000 01:37:48
  %ENV:
    PERL5LIB="/usrl1/home/pweiss/perllib"
  @INC:
    /usrl1/home/pweiss/perllib
    /usrl1/home/pweiss/perl-56/lib/5.6.0/sun4-solaris
    /usrl1/home/pweiss/perl-56/lib/5.6.0
    /usrl1/home/pweiss/perl-56/lib/site_perl/5.6.0/sun4-solaris
    /usrl1/home/pweiss/perl-56/lib/site_perl/5.6.0
    /usrl1/home/pweiss/perl-56/lib/site_perl


2.  The modperl configuration (I've tried both 1.22 and the latest CVS
version)

perl Makefile.PL EVERYTHING=1 PERL_TRACE=1 USE_DSO=1 PERL_MARK_WHERE=1


3.  The apache configuration (its 1.3.12):

./configure \
"--with-layout=Apache" \
"--prefix=/usrl1/home/pweiss/apache" \
"--activate-module=src/modules/perl/libperl.a" \
"--enable-module=rewrite" \
"--enable-module=proxy" \
"--enable-shared=perl" \
"--enable-shared=max" \
"$@"



It then throws both feet in the air.  Here is the backtrace:


Starting program: /usrl1/home/pweiss/apache/bin/httpd -d . -f
conf/httpd.conf

Program received signal SIGBUS, Bus error.
0xef1f4820 in Perl_malloced_size (p=0xfffffff5) at malloc.c:1841
(gdb) bt
#0  0xef1f4820 in Perl_malloced_size (p=0xfffffff5) at malloc.c:1841
#1  0xef24899c in Perl_sv_grow (sv=0xaf9b8, newlen=242) at sv.c:1139
#2  0xef253a70 in Perl_sv_vcatpvfn (sv=0xaf9b8, pat=0xf0 <Address 0xf0 out
of bounds>, patlen=240, args=0xeffff67c, svargs=0x0,
    svmax=0, maybe_tainted=0x0) at sv.c:6354
#3  0xef2524f0 in Perl_sv_vsetpvfn (sv=0xaf9b8, pat=0xef2a0400 "%240s",
patlen=5, args=0xeffff67c, svargs=0x0, svmax=0,
    maybe_tainted=0x0) at sv.c:5691
#4  0xef230d5c in Perl_vform (pat=0xef2a0400 "%240s", args=0xeffff67c) at
util.c:1413
#5  0xef230d1c in Perl_form (pat=0xef2a0400 "%240s") at util.c:1404
#6  0xef1f13c4 in S_init_main_stash () at perl.c:2421
#7  0xef1ede18 in S_parse_body (env=0x0, xsinit=0xef1c77b4 <xs_init>) at
perl.c:914
#8  0xef1edc60 in perl_parse (my_perl=0x0, xsinit=0xef1c77b4 <xs_init>,
argc=2, argv=0xeffff8a8, env=0x0) at perl.c:857
#9  0xef1c2d1c in perl_startup (s=0xa3dd8, p=0xa3db0) at mod_perl.c:701
#10 0xef1c2538 in perl_module_init (s=0xa3dd8, p=0xa3db0) at mod_perl.c:590
#11 0x23af0 in ap_init_modules ()
#12 0x32284 in main ()
(gdb)

I get the same result even if mod_perl is the only DSO and all the others
are
static.


Please help!

Thanks,
Paul

Reply via email to