Gerrit P. Haase wrote:

$ ./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)

How many times did you try that? With 5.8.7 I get either

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

or, like you

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


Another version (with "my $a"):

perl> sub foo($){my $a=shift;foo($a+1);}
perl> foo 1
Out of memory during "large" request for 134221824 bytes, total sbrk() is 304633856 bytes at (eval 19) line 1.
perl> foo 1
Bad realloc() ignored at (eval 19) line 1.
Segmentation fault (core dumped)


Is this a perl bug, Cygwin bug, or just a feature?

Krzysztof Duleba


--
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/

Reply via email to