perl 10^9 long strings of packed floats, getting 'panic: memory wrap'that didn't use to happen befor



Dear all.

I've had a simple way of creating array of floats:
my $xfArray=((pack "f1", 0.0) x $nSize);

I was able to create up to 10^9 long arrays of floats and pass them to perl inline c for further processing.

One beautiful day, I started getting message:
panic: memory wrap at line 917.

I thought this is due to fragmented memory on servers as some of them aren't rising this error. Then I tried ordinary MALLOC in C which was able always allocate the desired amount of memory.

My question is what could have happened? I've been trying to allocate less than 10% of overall RAM available on my machine (148GB RAM) ... It works with MALLOC, does not with the above code any more ...

This is the version of perl used:
This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi

Any sugestions?





I have no admin rights to compile perl and I guess I'd need them. What do you mean by getting function names? I'm not sure how this whole backtracing works in perl.

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question