Re: Confusion resolved (was: mod_perl DSO leaking on restart)

2001-06-19 Thread Doug MacEachern

On 19 Jun 2001, Vivek Khera wrote:
 
> Drat.  Not here.  I just sucked down the latest mod_perl CVS with this
> patch, and I still lose 9M per USR1...  Lemme try some tracing to see
> what gives here.  (FreeBSD 4.3, perl 5.005_03)

i mentioned earlier in the thread 5.005_03 has leaks.  although, with the
t/ config (make start_httpd_fork), i see ~140k of leakage per USR1,
compared to 9M is a surprise, but i suppose the 5.005_03 leakage depends
on what you have loaded.





Re: Confusion resolved (was: mod_perl DSO leaking on restart)

2001-06-19 Thread Vivek Khera

> "DM" == Doug MacEachern <[EMAIL PROTECTED]> writes:

DM> On 19 Jun 2001, Vivek Khera wrote:
>> Drat.  Not here.  I just sucked down the latest mod_perl CVS with this
>> patch, and I still lose 9M per USR1...  Lemme try some tracing to see
>> what gives here.  (FreeBSD 4.3, perl 5.005_03)

DM> i mentioned earlier in the thread 5.005_03 has leaks.  although, with the
DM> t/ config (make start_httpd_fork), i see ~140k of leakage per USR1,

Right.  Apparently the size of Volvo semi-trucks.  I guess I'll just
not USR1 the back-end ;-)





RE: Confusion resolved (was: mod_perl DSO leaking on restart)

2001-06-19 Thread Doug MacEachern

On Tue, 19 Jun 2001, Christian Gilmore wrote:

> Doug,
> 
> Will this patch make it into 1.26?

yes.

> If so, is there a slated release date for 1.26?

soon-ish.  you can always configure: PerlSetEnv PERL_DESTRUCT_LEVEL 2
in the meantime.




RE: Confusion resolved (was: mod_perl DSO leaking on restart)

2001-06-19 Thread Christian Gilmore

Doug,

Will this patch make it into 1.26? If so, is there a slated release date
for 1.26?

Thanks,
Christian

> -Original Message-
> From: Doug MacEachern [mailto:[EMAIL PROTECTED]]
> Sent: Monday, June 18, 2001 9:04 PM
> To: Paul G. Weiss
> Cc: mod_perl list
> Subject: Re: Confusion resolved (was: mod_perl DSO leaking on restart)
>
>
> ah ha, right, since i always have PERL_DEBUG=1, perl_destruct_level is
> always set to 2.  good find!  it should always be 2 for dso,
> this patch
> seems to fix USE_APXS too.
>
> --- src/modules/perl/mod_perl.c 2001/06/14 04:49:08 1.137
> +++ src/modules/perl/mod_perl.c 2001/06/19 01:59:18
> @@ -259,8 +259,6 @@
>
>  if((pdl = getenv("PERL_DESTRUCT_LEVEL")))
> perl_destruct_level = atoi(pdl);
> -else
> -   perl_destruct_level = PERL_DESTRUCT_LEVEL;
>
>  if(perl_destruct_level < 0) {
> MP_TRACE_g(fprintf(stderr,
> @@ -510,6 +508,7 @@
>  array_header *librefs;
>
>  librefs = xs_dl_librefs((pool *)data);
> +perl_destruct_level = 2;
>  perl_shutdown(NULL, NULL);
>  unload_xs_so(librefs);
>  }
>
>
>
>




Re: Confusion resolved (was: mod_perl DSO leaking on restart)

2001-06-18 Thread Doug MacEachern

ah ha, right, since i always have PERL_DEBUG=1, perl_destruct_level is
always set to 2.  good find!  it should always be 2 for dso, this patch
seems to fix USE_APXS too.

--- src/modules/perl/mod_perl.c 2001/06/14 04:49:08 1.137
+++ src/modules/perl/mod_perl.c 2001/06/19 01:59:18
@@ -259,8 +259,6 @@
 
 if((pdl = getenv("PERL_DESTRUCT_LEVEL")))
perl_destruct_level = atoi(pdl);
-else
-   perl_destruct_level = PERL_DESTRUCT_LEVEL;
 
 if(perl_destruct_level < 0) {
MP_TRACE_g(fprintf(stderr, 
@@ -510,6 +508,7 @@
 array_header *librefs;
 
 librefs = xs_dl_librefs((pool *)data);
+perl_destruct_level = 2;
 perl_shutdown(NULL, NULL);
 unload_xs_so(librefs);
 } 






Confusion resolved (was: mod_perl DSO leaking on restart)

2001-06-18 Thread Paul G. Weiss

I think I've found the error of my ways.

The reason that it was leaking with a static build was that the
PerlFreshRestart directive was set to 'On'.  This resulted in a
leak of a couple of Mb.

The reason that it was leaking with a USE_DSO build was that I didn't set
PERL_DESTRUCT_LEVEL.  Once I added
PerlSetEnv PERL_DESTRUCT_LEVEL 2
the leak stopped.  Actually I get the behavior Doug reported: a small leak
of around 24K on the first restart and none thereafter.

Actually in order to achieve this I had to comment out the load of
example_module.  That module leaks about 56K when restarted as a dso.

I've not been able to avoid a leak with a USE_APXS build.

-Paul



On Sun, 17 Jun 2001, Paul G. Weiss wrote:

> Now I'm really confused.  I built the whole thing statically and it still
> leaks:
> 
> the static build (using the same Perl):
> 
> ~/test/prefix/bin/perl Makefile.PL EVERYTHING=1 \
> APACHE_PREFIX=$(echo ~/test/prefix/apache) \
> APACHE_SRC=../apache_1.3.19 DO_HTTPD=1
> 
> Now it still leaks 520K per restart:
> 
> > make start_httpd_fork
> ../apache_1.3.19/src/httpd -f `pwd`/t/conf/httpd.conf -d `pwd`/t
> > ps -o pid,vsz,comm -p $(cat t/logs/httpd.pid )
>   PID   VSZ COMMAND
>  4877  7856 httpd
> > kill -USR1  $(cat t/logs/httpd.pid )
> > ps -o pid,vsz,comm -p $(cat t/logs/httpd.pid )
>   PID   VSZ COMMAND
>  4877  8488 httpd
> > kill -USR1  $(cat t/logs/httpd.pid )
> > ps -o pid,vsz,comm -p $(cat t/logs/httpd.pid )
>   PID   VSZ COMMAND
>  4877  9108 httpd
> 
> This is on Redhat 7.1 (not Linux 7.1 as I said below).  I didn't bother
> trying it on Solaris.
> 
> You don't suppose building with APACHE_PREFIX could have anything to do
> with it, do you?  I haven't heard of any leaks with a static build.
> 
> -P
> 
> 
> 
> 
> 
> 
> On Sun, 17 Jun 2001, Paul G. Weiss wrote:
> 
> > Doug,
> > 
> > I'm confused as to how you managed to *not* leak when I'm still
> > leaking.  I've tried these tests on both a Solaris 2.7 system and
> > a Linux 7.1.
> > 
> > Here is a summary of what I do:
> > 
> > I build Perl
> > 
> > ./Configure -des -Uusemymalloc -Dprefix=$(echo ~/test/prefix) -Dcc=gcc
> > make && make test && make install
> > 
> > I build Apache
> > 
> > ~/test/prefix/bin/perl Makefile.PL USE_DSO=1 EVERYTHING=1 \
> > USE_APACI=1 APACHE_PREFIX=$(echo ~/test/prefix/apache) \
> > APACHE_SRC=../apache_1.3.19 \
> > APACI_ARGS='--enable-module=all --enable-shared=max' \
> > DO_HTTPD=1
> > 
> > make
> > make test
> > 
> > I now run the test:
> > 
> > make start_httpd_fork
> > ps -o 'pid,vsz,comm' -p $(cat t/logs/httpd.pid )
> > kill -USR1 $(cat t/logs/httpd.pid )
> > ps -o 'pid,vsz,comm' -p $(cat t/logs/httpd.pid )
> > kill -USR1 $(cat t/logs/httpd.pid )
> > 
> > etc.  The virtual size grows each time, although by different amounts 
> > in Linux and Solaris.  Both are around 4Mb.  So what are you doing 
> > differently?  Let me know so I can do the same thing.  The Perl I'm using
> > is 5.6.1 and the modperl is
> > modperl_20010614113010.tar.gz.
> > 
> > -P
> > 
> > 
> > On Fri, 15 Jun 2001, Paul G. Weiss wrote:
> > 
> > > Don't be so willing to bet.  Still leaking.
> > > 
> > > I did as you said and just rebuilt Perl and mod_perl but didn't bother to
> > > rebuild all the Perl modules (I would have done so had I been successful
> > > here).
> > > 
> > > Here's what I see:
> > > 
> > > > make start_httpd_fork
> > > ../apache_1.3.19/src/httpd -f `pwd`/t/conf/httpd.conf -d `pwd`/t
> > > > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
> > >   PID  PPID  VSZ COMMAND
> > > 28802 1 15528 ../apache_1.3.19/src/httpd
> > > > kill -USR1 $(cat t/logs/httpd.pid )
> > > > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
> > >   PID  PPID  VSZ COMMAND
> > > 28802 1 20016 ../apache_1.3.19/src/httpd
> > > > kill -USR1 $(cat t/logs/httpd.pid )
> > > > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
> > >   PID  PPID  VSZ COMMAND
> > > 28802 1 24544 ../apache_1.3.19/src/httpd
> > > > kill -USR1 $(cat t/logs/httpd.pid )
> > > > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
> > >   PID  PPID  VSZ COMMAND
> > > 28802 1 27224 ../apache_1.3.19/src/httpd
> > > > make kill_httpd
> > > kill `cat t/logs/httpd.pid`
> > > rm -f t/logs/httpd.pid
> > > rm -f t/logs/error_log
> > > 
> > > 
> > > 
> > > On Thu, 14 Jun 2001, Doug MacEachern wrote:
> > > 
> > > > On Fri, 15 Jun 2001, Paul G. Weiss wrote:
> > > > 
> > > > > alignbytes=8, usemymalloc=y, prototype=define
> > > > ^
> > > > ok, here's why i kept asking for perl -V.  i don't see Perl's malloc.c
> > > > ever release its memory pool.  when usemymalloc=y, free() only puts memory
> > > > back into Perl's pool for use by other malloc()'s.  i don't see a function
> > > > to destroy this pool when perl cleans itself up.  willing to bet if you
> > > > rebuild Perl with: Configure -des -Uusemymalloc ...
> > > > and then rebuild mod_perl, the leaks will go away.
> > > > 
> > > 
> > 
> > 
> > 

Re: mod_perl DSO leaking on restart?

2001-06-17 Thread Paul G. Weiss

Now I'm really confused.  I built the whole thing statically and it still
leaks:

the static build (using the same Perl):

~/test/prefix/bin/perl Makefile.PL EVERYTHING=1 \
APACHE_PREFIX=$(echo ~/test/prefix/apache) \
APACHE_SRC=../apache_1.3.19 DO_HTTPD=1

Now it still leaks 520K per restart:

> make start_httpd_fork
../apache_1.3.19/src/httpd -f `pwd`/t/conf/httpd.conf -d `pwd`/t
> ps -o pid,vsz,comm -p $(cat t/logs/httpd.pid )
  PID   VSZ COMMAND
 4877  7856 httpd
> kill -USR1  $(cat t/logs/httpd.pid )
> ps -o pid,vsz,comm -p $(cat t/logs/httpd.pid )
  PID   VSZ COMMAND
 4877  8488 httpd
> kill -USR1  $(cat t/logs/httpd.pid )
> ps -o pid,vsz,comm -p $(cat t/logs/httpd.pid )
  PID   VSZ COMMAND
 4877  9108 httpd

This is on Redhat 7.1 (not Linux 7.1 as I said below).  I didn't bother
trying it on Solaris.

You don't suppose building with APACHE_PREFIX could have anything to do
with it, do you?  I haven't heard of any leaks with a static build.

-P






On Sun, 17 Jun 2001, Paul G. Weiss wrote:

> Doug,
> 
> I'm confused as to how you managed to *not* leak when I'm still
> leaking.  I've tried these tests on both a Solaris 2.7 system and
> a Linux 7.1.
> 
> Here is a summary of what I do:
> 
> I build Perl
> 
> ./Configure -des -Uusemymalloc -Dprefix=$(echo ~/test/prefix) -Dcc=gcc
> make && make test && make install
> 
> I build Apache
> 
> ~/test/prefix/bin/perl Makefile.PL USE_DSO=1 EVERYTHING=1 \
> USE_APACI=1 APACHE_PREFIX=$(echo ~/test/prefix/apache) \
> APACHE_SRC=../apache_1.3.19 \
> APACI_ARGS='--enable-module=all --enable-shared=max' \
> DO_HTTPD=1
> 
> make
> make test
> 
> I now run the test:
> 
> make start_httpd_fork
> ps -o 'pid,vsz,comm' -p $(cat t/logs/httpd.pid )
> kill -USR1 $(cat t/logs/httpd.pid )
> ps -o 'pid,vsz,comm' -p $(cat t/logs/httpd.pid )
> kill -USR1 $(cat t/logs/httpd.pid )
> 
> etc.  The virtual size grows each time, although by different amounts 
> in Linux and Solaris.  Both are around 4Mb.  So what are you doing 
> differently?  Let me know so I can do the same thing.  The Perl I'm using
> is 5.6.1 and the modperl is
> modperl_20010614113010.tar.gz.
> 
> -P
> 
> 
> On Fri, 15 Jun 2001, Paul G. Weiss wrote:
> 
> > Don't be so willing to bet.  Still leaking.
> > 
> > I did as you said and just rebuilt Perl and mod_perl but didn't bother to
> > rebuild all the Perl modules (I would have done so had I been successful
> > here).
> > 
> > Here's what I see:
> > 
> > > make start_httpd_fork
> > ../apache_1.3.19/src/httpd -f `pwd`/t/conf/httpd.conf -d `pwd`/t
> > > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
> >   PID  PPID  VSZ COMMAND
> > 28802 1 15528 ../apache_1.3.19/src/httpd
> > > kill -USR1 $(cat t/logs/httpd.pid )
> > > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
> >   PID  PPID  VSZ COMMAND
> > 28802 1 20016 ../apache_1.3.19/src/httpd
> > > kill -USR1 $(cat t/logs/httpd.pid )
> > > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
> >   PID  PPID  VSZ COMMAND
> > 28802 1 24544 ../apache_1.3.19/src/httpd
> > > kill -USR1 $(cat t/logs/httpd.pid )
> > > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
> >   PID  PPID  VSZ COMMAND
> > 28802 1 27224 ../apache_1.3.19/src/httpd
> > > make kill_httpd
> > kill `cat t/logs/httpd.pid`
> > rm -f t/logs/httpd.pid
> > rm -f t/logs/error_log
> > 
> > 
> > 
> > On Thu, 14 Jun 2001, Doug MacEachern wrote:
> > 
> > > On Fri, 15 Jun 2001, Paul G. Weiss wrote:
> > > 
> > > > alignbytes=8, usemymalloc=y, prototype=define
> > > ^
> > > ok, here's why i kept asking for perl -V.  i don't see Perl's malloc.c
> > > ever release its memory pool.  when usemymalloc=y, free() only puts memory
> > > back into Perl's pool for use by other malloc()'s.  i don't see a function
> > > to destroy this pool when perl cleans itself up.  willing to bet if you
> > > rebuild Perl with: Configure -des -Uusemymalloc ...
> > > and then rebuild mod_perl, the leaks will go away.
> > > 
> > 
> 
> 
> 
> 
> 




Re: mod_perl DSO leaking on restart?

2001-06-17 Thread Paul G. Weiss

Doug,

I'm confused as to how you managed to *not* leak when I'm still
leaking.  I've tried these tests on both a Solaris 2.7 system and
a Linux 7.1.

Here is a summary of what I do:

I build Perl

./Configure -des -Uusemymalloc -Dprefix=$(echo ~/test/prefix) -Dcc=gcc
make && make test && make install

I build Apache

~/test/prefix/bin/perl Makefile.PL USE_DSO=1 EVERYTHING=1 \
USE_APACI=1 APACHE_PREFIX=$(echo ~/test/prefix/apache) \
APACHE_SRC=../apache_1.3.19 \
APACI_ARGS='--enable-module=all --enable-shared=max' \
DO_HTTPD=1

make
make test

I now run the test:

make start_httpd_fork
ps -o 'pid,vsz,comm' -p $(cat t/logs/httpd.pid )
kill -USR1 $(cat t/logs/httpd.pid )
ps -o 'pid,vsz,comm' -p $(cat t/logs/httpd.pid )
kill -USR1 $(cat t/logs/httpd.pid )

etc.  The virtual size grows each time, although by different amounts 
in Linux and Solaris.  Both are around 4Mb.  So what are you doing 
differently?  Let me know so I can do the same thing.  The Perl I'm using
is 5.6.1 and the modperl is
modperl_20010614113010.tar.gz.

-P


On Fri, 15 Jun 2001, Paul G. Weiss wrote:

> Don't be so willing to bet.  Still leaking.
> 
> I did as you said and just rebuilt Perl and mod_perl but didn't bother to
> rebuild all the Perl modules (I would have done so had I been successful
> here).
> 
> Here's what I see:
> 
> > make start_httpd_fork
> ../apache_1.3.19/src/httpd -f `pwd`/t/conf/httpd.conf -d `pwd`/t
> > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
>   PID  PPID  VSZ COMMAND
> 28802 1 15528 ../apache_1.3.19/src/httpd
> > kill -USR1 $(cat t/logs/httpd.pid )
> > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
>   PID  PPID  VSZ COMMAND
> 28802 1 20016 ../apache_1.3.19/src/httpd
> > kill -USR1 $(cat t/logs/httpd.pid )
> > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
>   PID  PPID  VSZ COMMAND
> 28802 1 24544 ../apache_1.3.19/src/httpd
> > kill -USR1 $(cat t/logs/httpd.pid )
> > ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
>   PID  PPID  VSZ COMMAND
> 28802 1 27224 ../apache_1.3.19/src/httpd
> > make kill_httpd
> kill `cat t/logs/httpd.pid`
> rm -f t/logs/httpd.pid
> rm -f t/logs/error_log
> 
> 
> 
> On Thu, 14 Jun 2001, Doug MacEachern wrote:
> 
> > On Fri, 15 Jun 2001, Paul G. Weiss wrote:
> > 
> > > alignbytes=8, usemymalloc=y, prototype=define
> > ^
> > ok, here's why i kept asking for perl -V.  i don't see Perl's malloc.c
> > ever release its memory pool.  when usemymalloc=y, free() only puts memory
> > back into Perl's pool for use by other malloc()'s.  i don't see a function
> > to destroy this pool when perl cleans itself up.  willing to bet if you
> > rebuild Perl with: Configure -des -Uusemymalloc ...
> > and then rebuild mod_perl, the leaks will go away.
> > 
> 







Re: mod_perl DSO leaking on restart?

2001-06-14 Thread Paul G. Weiss

Don't be so willing to bet.  Still leaking.

I did as you said and just rebuilt Perl and mod_perl but didn't bother to
rebuild all the Perl modules (I would have done so had I been successful
here).

Here's what I see:

> make start_httpd_fork
../apache_1.3.19/src/httpd -f `pwd`/t/conf/httpd.conf -d `pwd`/t
> ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
  PID  PPID  VSZ COMMAND
28802 1 15528 ../apache_1.3.19/src/httpd
> kill -USR1 $(cat t/logs/httpd.pid )
> ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
  PID  PPID  VSZ COMMAND
28802 1 20016 ../apache_1.3.19/src/httpd
> kill -USR1 $(cat t/logs/httpd.pid )
> ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
  PID  PPID  VSZ COMMAND
28802 1 24544 ../apache_1.3.19/src/httpd
> kill -USR1 $(cat t/logs/httpd.pid )
> ps -o 'pid,ppid,vsz,comm' -p $(cat t/logs/httpd.pid )
  PID  PPID  VSZ COMMAND
28802 1 27224 ../apache_1.3.19/src/httpd
> make kill_httpd
kill `cat t/logs/httpd.pid`
rm -f t/logs/httpd.pid
rm -f t/logs/error_log



On Thu, 14 Jun 2001, Doug MacEachern wrote:

> On Fri, 15 Jun 2001, Paul G. Weiss wrote:
> 
> > alignbytes=8, usemymalloc=y, prototype=define
> ^
> ok, here's why i kept asking for perl -V.  i don't see Perl's malloc.c
> ever release its memory pool.  when usemymalloc=y, free() only puts memory
> back into Perl's pool for use by other malloc()'s.  i don't see a function
> to destroy this pool when perl cleans itself up.  willing to bet if you
> rebuild Perl with: Configure -des -Uusemymalloc ...
> and then rebuild mod_perl, the leaks will go away.
> 




Re: mod_perl DSO leaking on restart?

2001-06-14 Thread Doug MacEachern

On Fri, 15 Jun 2001, Paul G. Weiss wrote:

> alignbytes=8, usemymalloc=y, prototype=define
^
ok, here's why i kept asking for perl -V.  i don't see Perl's malloc.c
ever release its memory pool.  when usemymalloc=y, free() only puts memory
back into Perl's pool for use by other malloc()'s.  i don't see a function
to destroy this pool when perl cleans itself up.  willing to bet if you
rebuild Perl with: Configure -des -Uusemymalloc ...
and then rebuild mod_perl, the leaks will go away.




Re: mod_perl DSO leaking on restart?

2001-06-14 Thread Paul G. Weiss

Still leaking I'm afraid, by roughly the same amount.
I'm posting the files you asked for.  Perhaps it has something to do with
the fact that both the Perl and Apache are installed in non-standard
places, or that I'm also using mod_ssl.

Here goes:

perl -V:

Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
osname=solaris, osvers=2.7, archname=sun4-solaris
uname='sunos us2 5.7 generic_106541-12 sun4u sparc
sunw,ultrasparc-iii-engine '
config_args='-e -Ubincompat5005
-Dprefix=/vol1/home/tecadmin/envs/env_nothreads -Doptimize=-O -g -Dcc=gcc
-U
installusrbinperl -Dloclibpth=/vol1/home/tecadmin/envs/env_nothreads/lib
/usr/local/lib -Dlocincpth=/vol1/home/t
ecadmin/envs/env_nothreads/include /usr/local/include -ds'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
cc='gcc', ccflags ='-DDEBUGGING -fno-strict-aliasing
-I/vol1/home/tecadmin/envs/env_nothreads/include -I/usr
/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O -g',
cppflags='-DDEBUGGING -fno-strict-aliasing
-I/vol1/home/tecadmin/envs/env_nothreads/include -I/usr/local/inc
lude'
ccversion='', gccversion='2.95.2 19991024 (release)',
gccosandvers='solaris2.7'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
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/vol1/home/tecadmin/envs/env_nothreads/lib
-L/usr/local/lib '
libpth=/vol1/home/tecadmin/envs/env_nothreads/lib /usr/local/lib
/usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldb -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
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/vol1/home/tecadmin/envs/env_nothreads/lib -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: DEBUGGING USE_LARGE_FILES
  Built under solaris
  Compiled at Jun 13 2001 12:52:50
  %ENV:
PERL5LIB="/vol1/home/pweiss/perllib"
  @INC:
/vol1/home/pweiss/perllib
/vol1/home/tecadmin/envs/env_nothreads/lib/perl5/5.6.1/sun4-solaris
/vol1/home/tecadmin/envs/env_nothreads/lib/perl5/5.6.1
/vol1/home/tecadmin/envs/env_nothreads/lib/perl5/site_perl/5.6.1/sun4-solaris
/vol1/home/tecadmin/envs/env_nothreads/lib/perl5/site_perl/5.6.1
/vol1/home/tecadmin/envs/env_nothreads/lib/perl5/site_perl
.

Here is how I do Makefile.PL:

LIBS_SHLIB=$(gcc -print-libgcc-file-name) CFLAGS='-O -g' \
  perl Makefile.PL SSL_BASE=/vol1/home/tecadmin/envs/env_nothreads \ 
  USE_APACI=1 USE_DSO=1 EVERYTHING=1 \
  APACHE_PREFIX=/vol1/home/tecadmin/envs/env_nothreads/apache \
  APACHE_SOURCE=../apache_1.3.19 \
  APACI_ARGS='--enable-module=all --enable-shared=max' DO_HTTPD=1

-Paul

P.S.  By the way, the CFLAGS='-O -g' appears to have no affect at all.  I
can't seem to get Apache compiled with symbols.



On Thu, 14 Jun 2001, Doug MacEachern wrote:

> On Thu, 14 Jun 2001, Paul G. Weiss wrote:
> 
> > Sad to say, I'm not as fortunate as you.  I'm leaking ~4.4Mb which each
> > HUP (I haven't tried USR1).  I'm also using Perl 5.6.1 and 1.25_01-dev
> > (the CVS snapshot modperl_20010614113010.tar.gz).  I'm doing a PerlRequire
> > if that is significant.
> > 
> > One more thing - I'm building mod_perl using apxs.  I don't know if that
> > makes a difference.
> 
> i am surprised to see, it does make a difference.  i built with:
> perl Makefile.PL USE_DSO=1 EVERYTHING=1 -> no leaks.
> perl Makefile.PL USE_APXS=1 WITH_APXS=... EVERYTHING=1 -> leaks.
> 
> i haven't looked into it yet.  can you try with USE_DSO=1 ?
> if you're still leaking please post your 'perl -V' and the full list of
> Makefile.PL options you're using.
> 
> 




Re: mod_perl DSO leaking on restart?

2001-06-14 Thread Doug MacEachern

On Thu, 14 Jun 2001, Paul G. Weiss wrote:

> Sad to say, I'm not as fortunate as you.  I'm leaking ~4.4Mb which each
> HUP (I haven't tried USR1).  I'm also using Perl 5.6.1 and 1.25_01-dev
> (the CVS snapshot modperl_20010614113010.tar.gz).  I'm doing a PerlRequire
> if that is significant.
> 
> One more thing - I'm building mod_perl using apxs.  I don't know if that
> makes a difference.

i am surprised to see, it does make a difference.  i built with:
perl Makefile.PL USE_DSO=1 EVERYTHING=1 -> no leaks.
perl Makefile.PL USE_APXS=1 WITH_APXS=... EVERYTHING=1 -> leaks.

i haven't looked into it yet.  can you try with USE_DSO=1 ?
if you're still leaking please post your 'perl -V' and the full list of
Makefile.PL options you're using.





Re: mod_perl DSO leaking on restart?

2001-06-14 Thread Paul G. Weiss

Sad to say, I'm not as fortunate as you.  I'm leaking ~4.4Mb which each
HUP (I haven't tried USR1).  I'm also using Perl 5.6.1 and 1.25_01-dev
(the CVS snapshot modperl_20010614113010.tar.gz).  I'm doing a PerlRequire
if that is significant.

One more thing - I'm building mod_perl using apxs.  I don't know if that
makes a difference.

-Paul


On Thu, 14 Jun 2001, Doug MacEachern wrote:

> On Wed, 25 Apr 2001, Philip Mak wrote:
> 
> > On Thu, 26 Apr 2001, Stas Bekman wrote:
> > 
> > > > There is also the strange case of mod_perl leaking memory on graceful
> > > > restarts when compiled as DSO.  But I don't feel like getting into
> > > > this one quite yet.
> > 
> > Hmm. My httpd was using 20 MB. I did "apachectl graceful" ten times, and
> > the usage jumped to 24 MB. Then I did "apachectl graceful" another ten
> > times, and the usage jumped to 29 MB.
> > 
> > I guess that's the reason (or one of them) that my httpd grows bigger and
> > bigger as time passes. My mod_perl is a DSO (I run two copies of httpd,
> > one without mod_perl and one with; I set it up as a DSO since this way I
> > only need one executable). Should I recompile it statically linked?
> 
> 
> 1.21_01 had two dso fixes, one to close all .so's opened by DynaLoader and
> one to call perl_shutdown(), both of which were large leaks.  with
> 1.25_01-dev and Perl 5.6.1 i see a 4k growth on the first kill -USR1 and
> no change after that.  what is your perl -V and mod_perl version?
> 
> 
> if people are seeing leaks on restart using Perl 5.005_03 i am not
> surprised, 5.6.1 plugs a great many leaks.
> 
> 




Re: mod_perl DSO leaking on restart?

2001-06-14 Thread Philip Mak

On Thu, 14 Jun 2001, Doug MacEachern wrote:

> 
> 1.21_01 had two dso fixes, one to close all .so's opened by DynaLoader and
> one to call perl_shutdown(), both of which were large leaks.  with
> 1.25_01-dev and Perl 5.6.1 i see a 4k growth on the first kill -USR1 and
> no change after that.  what is your perl -V and mod_perl version?
> 
>
> if people are seeing leaks on restart using Perl 5.005_03 i am not
> surprised, 5.6.1 plugs a great many leaks.

Perl 5.005_03, mod_perl 1.25.

I have since fixed the memory leak problem by recompiling mod_perl so that
it is statically linked to Apache instead of as a DSO.

-Philip Mak ([EMAIL PROTECTED])




Re: mod_perl DSO leaking on restart?

2001-06-14 Thread Doug MacEachern

On Wed, 25 Apr 2001, Philip Mak wrote:

> On Thu, 26 Apr 2001, Stas Bekman wrote:
> 
> > > There is also the strange case of mod_perl leaking memory on graceful
> > > restarts when compiled as DSO.  But I don't feel like getting into
> > > this one quite yet.
> 
> Hmm. My httpd was using 20 MB. I did "apachectl graceful" ten times, and
> the usage jumped to 24 MB. Then I did "apachectl graceful" another ten
> times, and the usage jumped to 29 MB.
> 
> I guess that's the reason (or one of them) that my httpd grows bigger and
> bigger as time passes. My mod_perl is a DSO (I run two copies of httpd,
> one without mod_perl and one with; I set it up as a DSO since this way I
> only need one executable). Should I recompile it statically linked?


1.21_01 had two dso fixes, one to close all .so's opened by DynaLoader and
one to call perl_shutdown(), both of which were large leaks.  with
1.25_01-dev and Perl 5.6.1 i see a 4k growth on the first kill -USR1 and
no change after that.  what is your perl -V and mod_perl version?


if people are seeing leaks on restart using Perl 5.005_03 i am not
surprised, 5.6.1 plugs a great many leaks.





Re: mod_perl DSO leaking on restart?

2001-04-26 Thread Bird Lei

Same here.  I did a few graceful restarts and the usage jumped to 80M from 
10M...  Then I "apachectl stop" and "apachectl start" to get a clean 
restart, it works fine.

I am new to this list.  Maybe this problem has been addressed...


At 10:40 PM 2001/4/25 -0400, Philip Mak wrote:
>On Thu, 26 Apr 2001, Stas Bekman wrote:
>
> > > There is also the strange case of mod_perl leaking memory on graceful
> > > restarts when compiled as DSO.  But I don't feel like getting into
> > > this one quite yet.
>
>Hmm. My httpd was using 20 MB. I did "apachectl graceful" ten times, and
>the usage jumped to 24 MB. Then I did "apachectl graceful" another ten
>times, and the usage jumped to 29 MB.
>
>I guess that's the reason (or one of them) that my httpd grows bigger and
>bigger as time passes. My mod_perl is a DSO (I run two copies of httpd,
>one without mod_perl and one with; I set it up as a DSO since this way I
>only need one executable). Should I recompile it statically linked?
>
>-Philip Mak ([EMAIL PROTECTED])




Re: mod_perl DSO leaking on restart?

2001-04-26 Thread Jens-Uwe Mager

On Wed, Apr 25, 2001 at 10:40:12PM -0400, Philip Mak wrote:
> On Thu, 26 Apr 2001, Stas Bekman wrote:
> 
> > > There is also the strange case of mod_perl leaking memory on graceful
> > > restarts when compiled as DSO.  But I don't feel like getting into
> > > this one quite yet.
> 
> Hmm. My httpd was using 20 MB. I did "apachectl graceful" ten times, and
> the usage jumped to 24 MB. Then I did "apachectl graceful" another ten
> times, and the usage jumped to 29 MB.
> 
> I guess that's the reason (or one of them) that my httpd grows bigger and
> bigger as time passes. My mod_perl is a DSO (I run two copies of httpd,
> one without mod_perl and one with; I set it up as a DSO since this way I
> only need one executable). Should I recompile it statically linked?

I had the same problems, after linking modperl statically into httpd the
leaks disappeared.

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:  +49 5131 709320
FAX:+49 5131 709325
Internet:   [EMAIL PROTECTED]



mod_perl DSO leaking on restart?

2001-04-25 Thread Philip Mak

On Thu, 26 Apr 2001, Stas Bekman wrote:

> > There is also the strange case of mod_perl leaking memory on graceful
> > restarts when compiled as DSO.  But I don't feel like getting into
> > this one quite yet.

Hmm. My httpd was using 20 MB. I did "apachectl graceful" ten times, and
the usage jumped to 24 MB. Then I did "apachectl graceful" another ten
times, and the usage jumped to 29 MB.

I guess that's the reason (or one of them) that my httpd grows bigger and
bigger as time passes. My mod_perl is a DSO (I run two copies of httpd,
one without mod_perl and one with; I set it up as a DSO since this way I
only need one executable). Should I recompile it statically linked?

-Philip Mak ([EMAIL PROTECTED])