Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <42E76865.4000301@familiehaase.de> Date: Wed, 27 Jul 2005 12:56:37 +0200 From: "Gerrit P. Haase" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.8) Gecko/20050511 MIME-Version: 1.0 To: Krzysztof Duleba CC: cygwin AT cygwin DOT com Subject: Re: perl - segfault on "free unused scalar" References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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/