← Back to team overview

yade-dev team mailing list archive

[Bug 1041084] Re: memory leak while erasing facets

 

Yet another example leaking:

e=ForceEngine()
for k in range(1000):
   e.ids=range(0,1000000)

While this, of course gives no problem:
ids=[]
for k in range(1000):
   ids=range(0,1000000)

It is very annoying because it is a common situation (although
fortunately we assign small things in most cases so the leak is
unnoticed).

It sounds like a broken reference counting.
If so, the solution must be somewhere in Serializable.hpp, maybe _DEF_READWRITE_BY_VALUE?
But I'm still clueless overall.

-- 
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.
https://bugs.launchpad.net/bugs/1041084

Title:
  memory leak while erasing facets

Status in Yet Another Dynamic Engine:
  New

Bug description:
  I detected a memory leak in O.bodies.erase, when facets were erased (spheres are erased without memory leak!).
  In the attachment you will find two files, where you can reproduce the bug.

  1. Open a terminal with three tabs.
  2. Run top or htop in the first terminal tab
  3. In the second terminal tab run yade input file "memoryleak-erase-facets.py"
  4. Get the pid from first terminal tab (example 31667) and edit "get-memory-info.py"
  5. Run "python get-memory-info.py" in the third terminal tab and wait (ca. 5 min) to the end of the calculation.

  You will get an output file called "fig-memoryleak-erase-facets.png",
  where you can see the effect of the memoryleak.

To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/1041084/+subscriptions


References