Bug 125131
Summary: | memory leak with perl package in RHEL 3 ES | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 3 | Reporter: | Leah <estrella.rondolo> |
Component: | perl | Assignee: | Jason Vas Dias <jvdias> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 3.0 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | perl-5.8.0-89.10 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2005-11-09 21:28:04 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Leah
2004-06-02 22:28:43 UTC
I need some kind of minimal testing script that will reproduce the problem to be able to do anything with this bug, or a reference to an upstream perl bug. here is a sample code that will produce this leak: #!/usr/bin/perl use strict; use DBI; use Net::SMTP; my $debug = 0; while (1) { my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year += 1900; $mon++; my $logfilename = "whois." . sprintf("%04d%02d%02d", $year, $mon, $mday) . ".log"; my $mdp = 'xxx'; my $usager = 'xxx'; my $DBI = "dbi:Oracle:$nom_bd"; my $dbo = DBI -> connect ($DBI,$usager,$mdp, { RaiseError => 1, AutoCommit => 1 } ); unless ($dbo) { sleep(10); next; } my $sto = $dbo->prepare( " select load_seq,operation,rgpc_no from load_discrep order by LOAD_SEQ " ); $sto->execute(); my %done; my %pulld; my %allhash; my $in; my $inn; while (my ($load_seq, $ope, $dom_no) = $sto->fetchrow_array ) { $done{$load_seq} = $dom_no; my $compo = $dom_no . ":" . $ope; $allhash{$compo} = $load_seq; $pulld{$dom_no} = $ope; $in .= $load_seq . ":" . $dom_no . "-" . $ope . "\n"; undef $load_seq; undef $dom_no; undef $ope; undef $compo; } my %reve; foreach (keys %allhash) { $reve{$allhash{$_}} = $_; } my @doms = keys %pulld; my @tot = keys %done; $sto->finish; $dbo->disconnect; $dbo=0; # Close handler for oracle undef $dbo; sleep(1); undef %done; undef %pulld; undef %pulld; undef %allhash; undef $in; undef $inn; undef %reve; undef @doms; undef @tot; next; } ------ this is the environment: [root@tbr01 sb]# perl -V Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration: Platform: osname=linux, osvers=2.4.21-1.1931.2.393.entsmp, archname=i386-linux-thread-multi uname='linux por' config_args='-des -Doptimize=-O2 -g -pipe -march=i386 -mcpu=i686 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.0 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef' useithreads=define usemultiplicity= useperlio= d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=un uselongdouble= usemymalloc=, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', optimize='', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='3.2.3 20030502 (Red Hat Linux 3.2.3-19)', gccosandvers='' gccversion='3.2.3 200305' intsize=o, longsize=s, ptrsize=l, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long' k', ivsize=4' ivtype, nvtype='double' o_no', nvsize=, Off_t='', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='gcc' l', ldflags =' -L/usr/local/lib' ldflags_use' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil perllibs= libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libper gnulibc_version='2.3.2' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so', d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE' cccdlflags='-fPIC' ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5', lddlflags='s Unicode/Normalize XS/A' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Locally applied patches: MAINT18379 Built under linux Compiled at Sep 15 2003 10:03:52 @INC: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 . This problem should be fixed with the current perl-5.8.0-89.10 release in RHEL-3-U6, as it backported code from perl-5.8.3+. Closing as CURRENTRELEASE. If this bug is still a problem for you on RHEL-3-U6, please re-open this bug. |