You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Alvar Freude <al...@merz-akademie.de> on 2001/10/25 11:13:54 UTC

Again DSO-mod_perl and leaking on restart: FreeBSD

Hi,

some weeks ago here was the discussion about DSO-mod_perl and leaking; as
far as I understand it the solution was, that on SOME platforms (solaris)
mod_perl should be build as static.


It seems that FreeBSD is such a platform ;-)


I build Apache from the Ports-Collection with mod-ssl --
/usr/ports/www/apache13-modssl -- (with 1.3.20 and 1.3.22) and manually
Perl 5.6.1 (NO mymalloc, no compatibility, with mymalloc also tested) and
mod_perl 1.26 as DSO with APXS.


My mod_perl-Application has a global and resident hash, about 18 MB, which
is build in the startup-script.

At normal startup, it seems that mod_perl requires TWICE the amount of this
hash, and each restart (also graceful) it eats ~18 MB. 1 GB is fast full ;-)


The mod_perl from Ports Collection is build also as DSO and has the same
problem (with old Perl replaced by 5.6.1).


Has someone mod_perl on FreeBSD WITH DSO and without leaking running? If
not possible it might be good to include a warning in the Makefiles or
mod_perl-Guide etc. 

I prefer to build Apache from the Ports collection, so at next I'll try to
create a Port with static mod_perl ...


Ciao
  Alvar


PS:

#perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
    osname=freebsd, osvers=4.4-stable, archname=i386-freebsd
    uname='freebsd gnarzelwicht.delirium-arts.de 4.4-stable freebsd
4.4-stable #8: sat oct 6 13:55:41 cest 2001
root@gnarzelwicht.delirium-arts.de:usrobjusrsrcsysmykernel2 i386 '
    config_args=''
    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='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include',
    optimize='-O3 -march=k6 -funroll-loops -fexpensive-optimizations
-malign-double',
    cppflags='-fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='2.95.3 20010315 (release) [FreeBSD]',
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=8, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib
    libs=-lgdbm -ldb -lm -lc -lcrypt -liconv -lutil
    perllibs=-lm -lc -lcrypt -liconv -lutil
    libc=, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-DPIC -fpic', lddlflags='-shared  -L/usr/local/lib'
 
 
Characteristics of this binary (from libperl):
  Compile-time options: USE_LARGE_FILES
  Built under freebsd
  Compiled at Oct 23 2001 17:37:29
  @INC:
    /usr/lib/perl5/5.6.1/i386-freebsd
    /usr/lib/perl5/5.6.1
    /usr/lib/perl5/site_perl/5.6.1/i386-freebsd
    /usr/lib/perl5/site_perl/5.6.1
    /usr/lib/perl5/site_perl
    .