This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: perl - segfault on "free unused scalar"
Krzysztof Duleba wrote:
But there's plenty of memory left when perl crashes. I have 1 GB RAM and
1 GB swap file.
I've simplified the test case. It seems that Cygwin perl can't handle
too much memory. For instance:
$ perl -e '$a="a"x(200 * 1024 * 1024); sleep 9'
This requires about 525 MB on my box.
OK, this could have failed because $a might require 200 MB of continuous
space. But hashes don't, do they? Then why does the following code fail?
$ perl -e '$a="a"x(1024 * 1024);my %b; $b{$_}=$a for(1..400);sleep 9'
Or that one?
Requires a little more, maybe about 550 MB.
$ perl -e '$a="a"x(50 * 1024 * 1024);$b=$a;$c=$a;$d=$a;$e=$a;sleep 10'
This requires not that much, nearly 400 MB, but it is still about 16 MB
too much for the default Cygwin settings of 384 MB per program.
On linux there's no such problem - perl can use all available memory.
Please see the docs about the limits on Cygwin how to increase the
maximum memory usage:
http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html#setup-maxmem
Regards,
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/