← Back to team overview

yade-dev team mailing list archive

Re: [Bug 803774] Re: Saving, loading simulation with erased bodies crash.

 

2012/6/15 Chiara Modenese <c.modenese@xxxxxxxxx>:
> OK, I see, thank you very much. Is the body deleted then? The length of
> the container is still the same when I delete something, even after the
> fix.

That is right. By this way we are trying to escape memory leaks, using
for newly created bodies the "places" of previously deleted ones.

> Before sending you the script, do you think it makes any difference
> if I rerun the test with the new compilation? It will take a bit of time
> for me if I have to rerun it.

Yes.
It would be better if you minimize the script as much as possible.
The best is just 1-2 bodies.

Anton

-- 
You received this bug notification because you are a member of Yade
developers, which is the registrant for Yade.
https://bugs.launchpad.net/bugs/803774

Title:
  Saving, loading simulation with erased bodies crash.

Status in Yet Another Dynamic Engine:
  Fix Released

Bug description:
  Here is the bug :

  - launch yade (for example without any script)
  - add a sphere : O.bodies.append(utils.sphere((0.2,0.2,0.2),0.006))
  - delete it : O.bodies.erase(0)
  - save yade's universe : O.save("./test")
  - quit yade
  - launch yade
  - load the file : O.load("./test")
  ->segmentation fault

  I think it's because when you erase something the size of O.bodies (etc...) doesn't change and now contains an empty value. (the c++ array may not be dynamic ?)
  So when the O.load() function is called, yade try to load a non-existant body ?

  Maybe this can be fixed by changing the load() method ?

  I joined the debug output.

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


Follow ups

References