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

memory leak, closures #1758

Closed
p5pRT opened this issue Apr 3, 2000 · 3 comments
Closed

memory leak, closures #1758

p5pRT opened this issue Apr 3, 2000 · 3 comments

Comments

@p5pRT
Copy link

p5pRT commented Apr 3, 2000

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

Searchable as RT3009$

@p5pRT
Copy link
Author

p5pRT commented Apr 3, 2000

From sam@internal.schools.net.au

Reply-To​: sam@​internal.schools.net.au

This is a bug report for perl from sam@​internal.schools.net.au,
generated with the help of perlbug 1.26 running under perl 5.00503.

How to toast your memory with perl closures (minimalistic version)​:

my $m1;

while(1) {
  sub {
  sub {
  return;
  $m1
  }
  }
}

This GC misbehaviour seems to occur when closures
(i.e. anon subroutines referencing my variables from outside)
are nested two levels deep. Here's another example​:

my $m1;

while(1) {
  sub {
  my $m2 = $m1;
  my $m3 = $​::c++;
  sub {
  return;
  $m3
  }
  }
}

Note, here the links outward are very tenuous!

Please help! or can you explain? I can guess there is some internal
circular referencing going on. I *care* about this, because it's
stuffing up the interesting networking project that I'm working on!

Thanks,

Sam Watkins


Site configuration information for perl 5.00503​:

Configured by torin at Tue Feb 29 07​:28​:09 PST 2000.

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration​:
  Platform​:
  osname=linux, osvers=2.2.14, archname=i386-linux
  uname='linux perv 2.2.14 #1 sat jan 15 20​:48​:59 pst 2000 i686 unknown '
  hint=recommended, useposix=true, d_sigaction=define
  usethreads=undef useperlio=undef d_sfio=undef
  Compiler​:
  cc='cc', optimize='-O2 ', gccversion=2.95.2 20000220 (Debian GNU/Linux)
  cppflags='-Dbool=char -DHAS_BOOL -D_REENTRANT -DDEBIAN -I/usr/local/include'
  ccflags ='-Dbool=char -DHAS_BOOL -D_REENTRANT -DDEBIAN -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 -ldbm -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.005/i386-linux
  /usr/lib/perl5/5.005
  /usr/local/lib/site_perl/i386-linux
  /usr/local/lib/site_perl
  /usr/lib/perl5
  .


Environment for perl 5.00503​:
  HOME=/home/sam
  LANG=C
  LANGUAGE (unset)
  LD_LIBRARY_PATH (unset)
  LOGDIR (unset)
  PATH=.​:/usr/local/sbin​:/usr/local/bin​:/usr/sbin​:/usr/bin​:/sbin​:/bin​:/usr/X11R6/bin​:/home/sam/bin​:/usr/local/jdk118/bin
  PERL_BADLANG (unset)
  SHELL=/bin/bash


sam@​internal.schools.net.au
http​://www.internal.schools.net.au/

@p5pRT
Copy link
Author

p5pRT commented May 1, 2003

From @iabyn

(Just reviewing old perl bugs).

Both these memory leaks have been fixed in the latest delvepment version
of Perl,
that will eventually be released as 5.10.0. It should also be fixed in
the maintenace
releease 5.8.1 which should be out in a few months.

Regards,

Dave M.

@p5pRT
Copy link
Author

p5pRT commented May 1, 2003

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

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