Bob Rogers wrote:
>    0.  I assume you are already using ulimit to trigger the error
> sooner, rather than later . . .

I haven't gotten to the point of trying to intentionally reproduce the
issue, but ulimit would indeed do the trick. The problem was just
recently discovered when running the code on the QA cluster, which is
composed of VMs that have 1 GB of RAM, rather than the 16 GB of the
production nodes.


>    1.  Is it OOP?  If you can take a count of "new" method calls, and
> emit warnings periodically, you might be able to rule some things out.
> 
>    2.  Is memory being used for Perl objects, or for non-Perl library
> objects?

It's what you'd expect to find in 5-year old, poorly written code. A
blend of traditional and inside out objects, plus a typical assortment
of hashes and arrays.

I suspect the problem might be in some recently refactored code that
replaced a hash of hashes with a hash of Class::Accessor objects. I need
to review the diffs to see what changes are likely culprits.


>        Out of memory!
>            (X) The malloc() function returned 0, indicating there was
>            insufficient remaining memory (or virtual memory) to satisfy the
>            request.  Perl has no option but to exit immediately.
> 
> (Quoth perldiag.)  However, I also notice this in perldiag:
> 
>        Out of memory during "large" request for %s
>            (F) The malloc() function returned 0, indicating there was
>            insufficient remaining memory (or virtual memory) to satisfy the
>            request. However, the request was judged large enough (compile-time
>            default is 64K), so a possibility to shut down by trapping this
>            error is granted.

I don't think I've ever seen the latter error.


>    3.  You might be able to use a "large" request to force a trappable
> OOM error, and inspect memory then.

So inject some code that periodically allocates 100 KB or something?
Maybe, though you'd still have to get lucky.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to