Can you please attach the code?

Thomas

2011/9/29 István Csanády <istvancsan...@gmail.com>

> I am currently working on it, but I getting compile errors for private copy
> constructors in the GCPnts_UniformDeflection and BRepLib_MakeShape headers,
> for eg. "Field of type 'TColStd_SequenceOfReal' has private copy
> constructor"... I don't really understand why do I get these since until now
> I have never met such compile errors in OCC. What am I doing wrong?
>
>
> On Thu, Sep 29, 2011 at 3:43 PM, Thomas Paviot <tpav...@gmail.com> wrote:
>
>> Istvan,
>>
>> I'm a bit confused with your example. It appears that the MMGT_OPT env var
>> has an impact on the crash produced by your program. If I set MMGT_OPT to 1,
>> I don't have any crash, crashes with MMGT_OPT=0 and MMGT_OPT=2 (Intel TBB).
>> Really difficult to say whether it comes from occ or pythonocc.
>>
>> If you achieve a C++ version of your program (the random part is not
>> necessary), I will add it to the OCE test suite.
>>
>> Thomas
>>
>>
>> 2011/9/29 Thomas Paviot <tpav...@gmail.com>
>>
>>> It will.
>>>
>>>
>>> 2011/9/29 István Csanády <istvancsan...@gmail.com>
>>>
>>>> OK, I going to port it today, and check the memory consumption. (I am
>>>> using opencascade 6.5, but it will work with OCE, won't it?)
>>>>
>>>>
>>>> On Thu, Sep 29, 2011 at 11:29 AM, Thomas Paviot <tpav...@gmail.com>wrote:
>>>>
>>>>> There are two different issues IMO:
>>>>> - the segfault. I think I have identified the origin of the problem, it
>>>>> comes from the GarbageCollector implementation
>>>>> - the leak. I also noticed this increase in memory consumption, however
>>>>> it's no more the case if the size of the vert list is constant. If you
>>>>> replace, for instance, the random loop with:
>>>>> for x in range(50):
>>>>>     for y in range(50):
>>>>>         [...]
>>>>> Then memory consumption does not increase anymore (can you check that
>>>>> point?). That means that the pythonocc garbage collector does the job as
>>>>> expected and I suspect rather OCC memory manager to be the cause of this
>>>>> behavior. To be sure about that, this example should first be ported to 
>>>>> C++
>>>>> and included into the OCE testing suite.
>>>>>
>>>>> Thomas
>>>>>
>>>>> 2011/9/29 István Csanády <istvancsan...@gmail.com>
>>>>>
>>>>>> The program you sent is still leaking even if I comment out
>>>>>> gcurve.GetObject() but it seems to be better then it was. If I leave the
>>>>>> gcurve.GetObject() line it also crashes.
>>>>>> Here is a memory consumption log:
>>>>>>
>>>>>> 76.015625, 76.015625, 76.19921875, 76.19921875, 76.19921875,
>>>>>> 83.55859375, 82.9140625, 82.9140625, 82.9140625, 84.13671875,
>>>>>> 85.296875, 84.99609375, 84.99609375, 84.99609375, 83.24609375,
>>>>>> 84.234375, 83.24609375, 84.140625, 89.64453125, 89.4140625,
>>>>>> 87.4140625, 87.4140625, 87.1640625, 87.1640625, 88.3125, 88.1640625,
>>>>>> 88.1640625, 88.73046875, 88.1640625, 88.1640625, 87.21484375, 86.1640625,
>>>>>> 86.1640625, 86.1640625, 89.1328125, 89.10546875, 88.16796875, 
>>>>>> 92.15234375,
>>>>>> 91.16796875, 90.16796875, 90.16796875, 90.16796875, 95.42578125,
>>>>>> 95.07421875, 94.71875, 93.76953125, 93.32421875, 92.07421875,
>>>>>> 92.921875, 92.10546875, 91.49609375, 91.07421875, 91.07421875,
>>>>>> 91.07421875, 91.07421875, 94.8515625, 94.07421875, 94.07421875,
>>>>>> 93.82421875, 93.82421875, 93.82421875, 93.82421875, 92.82421875,
>>>>>> 92.82421875, 93.38671875, 93.1328125, 93.1328125, 93.1328125,
>>>>>> 93.1328125, 94.26171875, 92.625, 92.625, 93.69921875, 94.5078125,
>>>>>> 93.578125, 92.578125, 92.578125, 92.078125, 91.078125, 91.078125,
>>>>>> 93.2109375, 93.078125, 92.078125, 92.078125, 94.12109375, 93.4921875,
>>>>>> 93.078125, 95.7890625, 93.078125, 93.45703125, 93.078125, 93.078125,
>>>>>> 94.41796875, 93.578125, 94.27734375, 93.578125, 93.578125, 93.578125,
>>>>>> 93.59375, 93.66796875, 93.328125, 93.41796875, 93.98828125, 96.0625,
>>>>>> 95.5703125, 95.328125, 95.44140625, 95.328125, 95.328125, 95.078125,
>>>>>> 95.078125, 93.92578125, 93.078125, 93.1796875, 93.078125, 92.078125,
>>>>>> 92.078125, 93.4921875, 93.4921875, 93.078125, 93.078125, 93.078125,
>>>>>> 93.4296875, 93.078125, 94.2109375, 93.48828125, 94.1640625, 93.578125,
>>>>>> 93.26953125, 92.578125, 91.578125, 90.828125, 90.828125, 90.828125,
>>>>>> 90.828125, 97.32421875, 96.7421875, 97.63671875, 96.7421875,
>>>>>> 96.7421875, 96.7421875, 96.7421875, 96.7421875, 96.7421875, 96.7421875,
>>>>>> 96.7421875, 95.7421875, 95.7421875, 95.7421875, 95.7421875, 98.7890625,
>>>>>> 97.33203125, 97.59375, 97.33203125, 97.08203125, 99.3828125,
>>>>>> 97.33203125, 96.4453125, 96.08203125, 95.08203125, 95.08203125,
>>>>>> 95.08203125, 95.08203125, 96.890625, 96.08203125, 96.08203125, 
>>>>>> 97.80078125,
>>>>>> 97.08203125, 98.56640625, 97.46875, 97.46875, 97.46875, 96.46875,
>>>>>> 96.08203125, 100.66015625, 100.33203125
>>>>>>
>>>>>> On Thu, Sep 29, 2011 at 7:00 AM, Thomas Paviot <tpav...@gmail.com>wrote:
>>>>>>
>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>
>
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to