This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: perl - segfault on "free unused scalar"


Krzysztof Duleba wrote:

While playing with perl in interactive mode, I experienced strange memory error in Cygwin perl. Trying the same scenario on Linux boxes results in perl being killed after using all memory (tested on machines with 128 - 2048 MB RAM), but on Cygwin perl dies in a different way.

The following script was executed to run perl in interactive mode:

$ cat inter.pl
#!/usr/bin/perl

use Term::ReadLine;
use IO::Handle;

my $prompt = "perl> ";

my $term = new Term::ReadLine $prompt;
my $OUT = $term->OUT;

while ( defined($_ = $term->readline($prompt)) ) {
        next unless /\S/;
        eval $_;
        chomp $@;
        printf "%s\n", $@ if $@;
}

Now how perl died:

$ ./inter.pl
perl> sub foo($){$a=shift;foo($a+1);}
perl> foo 1
Out of memory during "large" request for 134221824 bytes, total sbrk() is 273211392 bytes at (eval 18) line 1.
perl> foo 1
Out of memory during request for 67289644 bytes, total sbrk() is 394086400 bytes
!
Attempt to free unreferenced scalar: SV 0x1d079aec, Perl interpreter: 0x10140240 at (eval 18) line 1.
Segmentation fault (core dumped)


With 5.8.7 I get the core dump after calling `foo 1` the first time:

$ ./inter.pl
perl> sub foo($){$a=shift;foo($a+1);}
perl> foo 1
Out of memory during request for 4040 bytes, total sbrk() is 402624512 bytes!
Segmentation fault (core dumped)



Gerrit -- =^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]