Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

possible memory leak in Socket or gethostbyaddr()? #234

Closed
p5pRT opened this issue Jul 26, 1999 · 3 comments
Closed

possible memory leak in Socket or gethostbyaddr()? #234

p5pRT opened this issue Jul 26, 1999 · 3 comments

Comments

@p5pRT
Copy link

p5pRT commented Jul 26, 1999

Migrated from rt.perl.org#1042 (status was 'resolved')

Searchable as RT1042$

@p5pRT
Copy link
Author

p5pRT commented Jul 26, 1999

From anthonyu@infamous.killa.net

(Redhat appears to have not included perlbug in their 6.0 distribution,
so I am using an older perlbug from a distribution I built myself.
This is, however, running via the perl(1) included with redhat 6.0,
which is the one I am noticing the problem with.)

I had been running a script I wrote to resolve the PTRs of several
/16 networks, when I heard significant swapping about halfway through
the list.

I checked vmstat​:

# vmstat 5 3
  procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 27592 17912 10204 18560 0 0 3 3 72 53 2 0 98
0 0 0 27592 17876 10204 18572 0 0 2 1 123 59 0 0 100
1 0 0 27592 17872 10204 18572 0 0 0 4 124 55 0 0 99

Then top​:

  PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
  850 root 6 0 82204 59M 404 S 0 0.2 47.2 3​:49 ns.pl

Here is the script​:

***

#!/usr/bin/perl -w

use Socket;

while (<>) {

  my ($iaddr, $hname);
  $| = 3.14;

  chomp;
  unless ($iaddr = inet_aton("$_")) {
  print STDERR "Bad input​: $_\n";
  next;
  }
  unless ($hname = gethostbyaddr($iaddr, AF_INET)) {
  print STDERR "No ptr for $_\n";
  next;
  }

  print $hname, "\n";

}
***

The ouput was then redirected to a file. The file of IPs being read is
only 17M , and a running perl is usually less than 3M on this box.

This is pretty extreme use of perl, so I don't expect a high priority
to be placed on this report; however, the script will most likely be
running for another day or so, so if you would like any more info about
the running perl, please let me know.

Thanks,

--
Au

PS​: named crashed after expiring ~22000 rr from it's cache while I was
writing this report, so perl isnt the only thing unprepared for this
weird situation...

Perl Info


This perlbug was built using Perl 5.00502 - Mon Nov 30 03:25:42 PST 1998
It is being executed now by  Perl 5.00503 - Tue Apr  6 23:33:05 EDT 1999.

Site configuration information for perl 5.00503:

Configured by root at Tue Apr  6 23:33:05 EDT 1999.

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
    osname=linux, osvers=2.2.1-ac1, archname=i386-linux
    uname='linux porky.devel.redhat.com 2.2.1-ac1 #1 smp mon feb 1 17:44:44 est 1999 i686 unknown '
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='cc', optimize='-O2', gccversion=egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
    cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include'
    ccflags ='-Dbool=char -DHAS_BOOL -I/usr/local/include'
    stdchar='char', d_stdstdio=undef, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    alignbytes=4, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lposix -lcrypt
    libc=, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'

Locally applied patches:
    


@INC for perl 5.00503:
    /usr/lib/perl5/5.00503/i386-linux
    /usr/lib/perl5/5.00503
    /usr/lib/perl5/site_perl/5.005/i386-linux
    /usr/lib/perl5/site_perl/5.005
    .


Environment for perl 5.00503:
    HOME=/home/anthonyu
    LANG (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin
    PERL_BADLANG (unset)
    SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Aug 7, 2002

@gbarr - Status changed from 'open' to 'resolved'

@p5pRT p5pRT closed this as completed Aug 7, 2002
@p5pRT
Copy link
Author

p5pRT commented Aug 7, 2002

From @gbarr

This seems to be fixed in perl 5.6.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant