[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dbi-users
Subject:    5.8.9 eating up memory with AUTOLOAD
From:       "Scott T. Hildreth" <shildret () scotth ! emsphone ! com>
Date:       2009-04-01 16:11:59
Message-ID: 1238602319.69487.1892.camel () scotth ! emsphone ! com
[Download RAW message or body]

Hello, 

    I'm having a strange problem.  I compiled 5.8.9 on SUSE Linux Enterprise Server \
10 (x86_64),  installed DBI & DBD::Oracle.  We are running Oracle 11g on this server. \
Running a program that uses DBI/DBD::Oracle, the process locked the server up by \
using all the memory and swap.  The server has 32 gig of memory and I believe 16 gig \
of swap.  Running in the debugger, I isolated the problem in  DBD/Oracle.pm, 

my $oci = DBD::Oracle::ORA_OCI();

sub AUTOLOAD {
    (my $constname = $AUTOLOAD) =~ s/.*:://;
    my $val = constant($constname); 
    *$AUTOLOAD = sub { $val };
    goto &$AUTOLOAD;
}

AUTOLOAD loads DBD::Oracle::ORA_OCI, which triggers the loading of \
DBD::Oracle::constant.   DBD::Oracle::constant is not found, so constant is loaded, \
not found, constant loaded....etc I checked Oracle.so (just in case for some crazy \
reason constant didn't get in the so) it's  there.  What perplexes me is this perl \
install is the just like several other servers we have. The one big difference is \
there is an 11g Oracle server running on this box.  I have the same set up on an \
open-SuSE box that works fine, but it is only using the 11g client.  The only \
problems I had when compiling DBD::Oracle was the lob-plsql test failing, otherwise \
everything worked fine. I don't even know if Oracle is the issue here.  Should I post \
to P5P?  

                                    Thanks
                                        Scott

Summary of my perl5 (revision 5 version 8 subversion 9) configuration:
  Platform:
    osname=linux, osvers=2.6.27.19, archname=x86_64-linux
    uname='linux  srv12 2.6.27.19 #1 smp mon feb 23 16:46:24 cst 2009 x86_64 x86_64 \
x86_64 gnulinux '  config_args='-de -Dprefix=/usr/local/perl-5.8.9 \
-Dnoextensions=ODBM_File   -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 \
-Dldflags=-L/usr/local/lib64 -Duse64bitall=define'  hint=recommended, useposix=true, \
d_sigaction=define  usethreads=undef use5005threads=undef useithreads=undef \
usemultiplicity=undef  useperlio=define d_sfio=undef uselargefiles=define \
usesocks=undef  use64bitint=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include \
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',  optimize='-O2',
    cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='4.1.2 20070115 (SUSE Linux)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.4.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.4'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT
                        USE_FAST_STDIO USE_LARGE_FILES USE_PERLIO
  Built under linux
  Compiled at Mar 31 2009 10:07:10
  %ENV:
    PERL5LIB="/usr/local/lib/tools/perlmodules" 
  @INC:
    /usr/local/lib/tools/perlmodules
    /usr/local/perl-5.8.9/lib/5.8.9/x86_64-linux
    /usr/local/perl-5.8.9/lib/5.8.9
    /usr/local/perl-5.8.9/lib/site_perl/5.8.9/x86_64-linux
    /usr/local/perl-5.8.9/lib/site_perl/5.8.9
    .


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic