From: Chris S. <chr...@gm...> - 2007-06-15 19:07:47
|
On 6/15/07, Chris Bainbridge <chr...@gm...> wrote: > > The problem is that the destructor order is essentially random when gc > is used. ODE (not pyode) doesn't have any ownership rules for objects, > and objects point to each other, so deallocating objects causes memory > protection faults. This is also a problem with C++ ODE code, python > with gc just aggravates the problem. In my Simulator.__del__ function > I have something like: [snip] Thanks for the tips. I tried implementing a similar __del__ for my top-level object, but I still encounter the problem. Since it looks like this problem isn't going to be fixed anytime soon, is there anyway to work around the issue? With my usage, the fault only happens when the Python process is terminating, but it's stopping a new process from being spawned. Is there any way to recover from it, or is this problem fatal? Chris |