Re: mod_perl (DSO) dumping core with perl 5.6.0

2000-04-04 Thread Stephen Zander

> "Doug" == Doug MacEachern <[EMAIL PROTECTED]> writes:
Doug> won't performance suffer in that case?  i "benchmarked" Perl
Doug> malloc vs. system malloc under solaris once, there were far
Doug> more syscalls to brk() with system malloc.

Ilya has claimed for about 18 mths now that usemymalloc=y is the Right
Thing to do on Solaris and that previous assertions that Solaris'
malloc is better are no longer true.  He claims that perl's malloc is
tuned to perl's memory usage patterns resultinging in the lower
overhead and supposedly greater speed.

That said, I still don't run that way. :)

-- 
Stephen

"And what do we burn apart from witches?"... "More witches!"



Re: mod_perl (DSO) dumping core with perl 5.6.0

2000-04-04 Thread Doug MacEachern

On Tue, 4 Apr 2000, Alan Burlison wrote:

> "Paul G. Weiss" wrote:
> > 
> > Sad to say still not working.
> 
> I'd suggest building perl with -Uusemymalloc.

won't performance suffer in that case?
i "benchmarked" Perl malloc vs. system malloc under solaris once, there
were far more syscalls to brk() with system malloc.

Configure -Ubincompat5005 solved the dso problem under solaris for me.

btw, i just dug this out of my ~/Mail/.sent-mail-dec-1999
we were comparing usemymalloc under linux, solaris looked similar, but i
don't have those numbers handy.

Date: Mon, 13 Dec 1999 00:48:44 -0800 (PST)
From: Doug MacEachern <[EMAIL PROTECTED]>
To: "Andreas J. Koenig" <[EMAIL PROTECTED]>
Subject: Re: [ID 19991118.006] SEGV with 5.005_{54,56,62+}

goodness, it's true, here's a perl with usemymalloc=y :

% strace -o strace.out -f ./perl -MPOSIX -e0
% grep brk strace.out | wc -l
 87

and the default with usemymalloc=n :
% strace -o strace2.out -f /usr/bin/perl -MPOSIX -e0
% grep brk strace2.out | wc -l
204

it was over a year ago when I looked at this, I can't recall now why I
thought usemymalloc=n was the right choice.




Re: mod_perl (DSO) dumping core with perl 5.6.0

2000-04-04 Thread Alan Burlison

"Paul G. Weiss" wrote:
> 
> Sad to say still not working.

I'd suggest building perl with -Uusemymalloc.

Alan Burlison



RE: mod_perl (DSO) dumping core with perl 5.6.0

2000-04-03 Thread Paul G. Weiss

Sad to say still not working.

This time I built perl:

./configure \
-Ubincompat5005 \
-Dprefix=/usrl1/home/pweiss/perl-56 \
-Doptimize='-O -g' \
-Dcc=gcc \
-Uinstallusrbinperl \
-Accflags=-DPERL_POLLUTE

(the -Accflags argument is to avoid having to build
 certain extensions with POLLUTE=1 on the advice of
 Jason Kirtland),


built modperl (from CVS, with Changes version = 1.458)
perl Makefile.PL \
EVERYTHING=1 \
PERL_TRACE=1 \
USE_DSO=1 \
PERL_MARK_WHERE=1 \
APACHE_SRC=../apache_1.3.12/src \
DO_HTTPD=1 \
APACI_ARGS='--prefix=/usrl1/home/pweiss/apache \
--enable-module=rewrite --enable-module=proxy \
--enable-shared=max'


Now apache starts up OK, but *any* request results in 
a segfault:

Program received signal SIGSEGV, Segmentation fault.
0xef1c45c0 in perl_header_parser (r=0x157060) at mod_perl.c:1008
(gdb) bt
#0  0xef1c45c0 in perl_header_parser (r=0x157060) at mod_perl.c:1008
#1  0x20380 in run_method ()
#2  0x20574 in ap_header_parse ()
#3  0x3c7fc in process_request_internal ()
#4  0x3cd0c in ap_process_request ()
#5  0x309b4 in child_main ()
#6  0x30c1c in make_child ()
#7  0x30e1c in startup_children ()
#8  0x31700 in standalone_main ()
#9  0x322ac in main ()

This location corresponds to this line in source:

#ifdef PERL_HEADER_PARSER
int PERL_HEADER_PARSER_HOOK(request_rec *r)
{
dSTATUS;
=>  dPPDIR;
#ifdef PERL_INIT
PERL_CALLBACK("PerlInitHandler",
 cld->PerlInitHandler);
#endif
PERL_CALLBACK("PerlHeaderParserHandler",
 cld->PerlHeaderParserHandler);
return status;
}
#endif










> -Original Message-
> From: Doug MacEachern [mailto:[EMAIL PROTECTED]]
> Sent: Monday, April 03, 2000 12:17 AM
> To: Paul G. Weiss
> Cc: [EMAIL PROTECTED]
> Subject: RE: mod_perl (DSO) dumping core with perl 5.6.0
> 
> 
> On Fri, 31 Mar 2000, Paul G. Weiss wrote:
> 
> > I was afraid of that, given that the fault was in malloc.c.
> > Is there no hope, then?  Is there anything I can do to help
> > diagnose/fix the problem?  I've heard that Perl's malloc is
> > much better that the malloc on Solaris, so I'm not eager to
> > throw in the towel.
> 
> there is better than hope, the solution is to configure Perl with
> -Ubincompat5005
> 
> this will require that you re-build any site_perl xs modules.
> 



RE: mod_perl (DSO) dumping core with perl 5.6.0

2000-04-02 Thread Doug MacEachern

On Fri, 31 Mar 2000, Paul G. Weiss wrote:

> I was afraid of that, given that the fault was in malloc.c.
> Is there no hope, then?  Is there anything I can do to help
> diagnose/fix the problem?  I've heard that Perl's malloc is
> much better that the malloc on Solaris, so I'm not eager to
> throw in the towel.

there is better than hope, the solution is to configure Perl with
-Ubincompat5005

this will require that you re-build any site_perl xs modules.




Re: mod_perl (DSO) dumping core with perl 5.6.0

2000-03-31 Thread Doug MacEachern

On Fri, 31 Mar 2000, Paul G. Weiss wrote:

> Please help.  I've tried many things. I'm building this on
> Solaris 2.6.
> 
> I'm tring to get mod_perl (1.22) to load as a DSO.  It is dieing as
> follows:

that's a shame, Perl 5.005_56-ish worked fine as a dso under solaris.
mod_perl's Makefile.PL tries to suggest alternatives, you'll have to
choose one of these (ignoring #2) for the moment:

if (($USE_DSO or $USE_APXS) and $] < 5.005_56 and 
$^O eq 'solaris' and $Config{'usemymalloc'} eq 'y') 
  {
  phat_warn(<