The issue comes from the line curve_object = gcurve.GetObject(). Comment out this line to check that memory consumption is constant over time.
Attached another implementation of your program, can you please test it and report. Thomas 2011/9/28 István Csanády <istvancsan...@gmail.com> > > The corrected code does not crash, but it leaks like sieve (0-3MB/s for > me)... And if you try to call smart_purge() after pop_context() it > segfaults. > > > > On Wed, Sep 28, 2011 at 10:22 PM, Thomas Paviot <tpav...@gmail.com> wrote: > >> 2011/9/28 István Csanády <istvancsan...@gmail.com> >> >>> Hi Thomas, >>> >>> On Wed, Sep 28, 2011 at 9:19 PM, Thomas Paviot <tpav...@gmail.com>wrote: >>> >>>> Hi Istvan, >>>> >>>> Not yet. Trying to run your example actually helped me to figure out/fix >>>> a serious regression in the current pythonocc master branch. There is still >>>> another bug to fix. I'm currently running pythonocc master ( >>>> https://github.com/tpaviot/pythonocc)/OCE-0.6.0-rc3. >>> >>> >>> >>>> Do you run pythonocc-0.5/OCC630? >>>> >>> >>> Yes. >>> >>> So you say that my code does not crash for you? If I remember correctly >>> you are a Mac user to, aren't you? Are you using 10.6.7 too with Python >>> 2.6.1 ? May I try to recompile pythonocc with OCE? Can it fix this error? >>> This bug is incredibly hard to track down since the python debugger does not >>> stop when the C++ code crashes... Do you use any special tools to debug such >>> errors when developing pythonocc? >>> >> >> I didn't say it crashes, I was running the test. >> >> It's done now, I can reproduce the crash, the program segfaults after a >> few loops are performed (I run OSX 10.6.8). I can't explain so far what >> happens, I need to dive into the example (make it even simpler) and check >> what's going on. >> >> I also suggest you use garbage.push_context() and pop_context(): only >> objects created between push/pop will be killed by the smart_purge method. >> The corrected program attached works properly. >> > > > >> >> >>> >>> István >>> >> >> Thomas >> >> >> >>> >>> >>> >>> >>>> >>>> All the best, >>>> >>>> Thomas >>>> >>>> >>>> 2011/9/28 István Csanády <istvancsan...@gmail.com> >>>> >>>>> Hi Thomas, >>>>> >>>>> Have you managed to reproduce the error? I've been trying to track down >>>>> the bug with valgrind - without any success... Probably I should recompile >>>>> python with the debug and --without-pymalloc flags to make valgrind work >>>>> with it. I am using Mac OS X 10.6.7. >>>>> >>>>> István >>>>> >>>>> On Wed, Sep 28, 2011 at 11:21 AM, Thomas Paviot <tpav...@gmail.com>wrote: >>>>> >>>>>> 2011/9/27 István Csanády <istvancsan...@gmail.com> >>>>>> >>>>>>> Hi, >>>>>>> >>>>>> >>>>>> Hi Istvan, >>>>>> >>>>>> >>>>>>> >>>>>>> Last time when I wrote about this bug I thought it was caused by some >>>>>>> numpy buffer overflow. Unfortunately it was not. Finally I managed to >>>>>>> create >>>>>>> some code that can reproduce this bug. I have attached the code and some >>>>>>> crash logs. >>>>>> >>>>>> >>>>>> I've been trying to reproduce the issue. >>>>>> >>>>>> >>>>>>> I think the problem is probably with OCC's Standard_MMgrOpt class >>>>>>> memory recycling for small blocks (Is it possible that smart_purge frees >>>>>>> memory that Standard_MMgrOpt want to reuse?). >>>>>> >>>>>> >>>>>> No. >>>>>> >>>>>> >>>>>>> Note that sometimes it takes a long time until the error occurs, but >>>>>>> usually after the 50th-100th iteration the code crashes for me. (The >>>>>>> code is >>>>>>> totally pointless, I have removed every unneccessary parts) >>>>>>> >>>>>>> István >>>>>>> >>>>>> >>>>>> Thomas >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Pythonocc-users mailing list >>>>>> Pythonocc-users@gna.org >>>>>> https://mail.gna.org/listinfo/pythonocc-users >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Pythonocc-users mailing list >>>>> Pythonocc-users@gna.org >>>>> https://mail.gna.org/listinfo/pythonocc-users >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Pythonocc-users mailing list >>>> Pythonocc-users@gna.org >>>> https://mail.gna.org/listinfo/pythonocc-users >>>> >>>> >>> >>> _______________________________________________ >>> Pythonocc-users mailing list >>> Pythonocc-users@gna.org >>> https://mail.gna.org/listinfo/pythonocc-users >>> >>> >> >> _______________________________________________ >> Pythonocc-users mailing list >> Pythonocc-users@gna.org >> https://mail.gna.org/listinfo/pythonocc-users >> >> > > _______________________________________________ > Pythonocc-users mailing list > Pythonocc-users@gna.org > https://mail.gna.org/listinfo/pythonocc-users > >
example_GC_istvan_v2.py
Description: Binary data
_______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users