View Issue Details

IDProjectCategoryView StatusLast Update
0000721SketcherBugpublic2012-11-14 22:25
Reporterbulled001 Assigned To 
PrioritynormalSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version0.12 
Fixed in Version0.13 
Summary0000721: massive memory leak when dragging an unconstained model
DescriptionWindows 7 64 bit running the 32bit version
the program consumes memory as you drag the unconstrained sketch around. Lots of memory 6mbytes for just dragging the model from side to side a bit.

In fact I just noticed that just dragging the mouse around the screen causes memory to be lost(accoroding to task manager)
TagsNo tags attached.
FreeCAD Information

Activities

2012-05-23 19:34

 

test.FCStd (2,714 bytes)

wmayer

2012-11-14 13:44

administrator   ~0002516

It's easy to reproduce:
Create a sketch with a single line
Move the line on one end point over the screen
=> You won't see a memory allocation
Now set a lock constraint on an end point
Move the free point of the line
=> You will see an immense allocation of memory

wmayer

2012-11-14 13:56

administrator   ~0002517

It very likely happens when rendering the constraint elements in the 3d view when in edit mode:

If you comment out the line Gui.activeDocument().setEdit('Sketch') from the code below you'll note a much less memory usage.


App.activeDocument().addObject('Sketcher::SketchObject','Sketch')
App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000))
Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1 0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }')

Gui.activeDocument().setEdit('Sketch')

App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(-120.701385,3.407310,0),App.Vector(-56.891762,44.501541,0)))
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(-79.194153,39.958462,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(-77.748627,40.164959,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(-71.140503,39.338947,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(-64.325890,39.338947,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(-57.717773,39.338947,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(-50.077133,39.338947,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(4.646339,47.392590,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,1,-120.701385))
App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',0,1,3.407310))
App.ActiveDocument.recompute()

App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.917882,47.186085,0),0)
App.ActiveDocument.recompute()
App.ActiveDocument.Sketch.movePoint(0,2,App.Vector(6.298359,48.012104,0),0)
App.ActiveDocument.recompute()

wmayer

2012-11-14 16:11

administrator   ~0002518

It's related somehow to SoDatumLabel

wmayer

2012-11-14 22:04

administrator   ~0002521

Problem found:
It's a (useless) call of glGenTextures and glBindTexture without a glDeleteTextures

wmayer

2012-11-14 22:25

administrator   ~0002522

git show 09866ae

Issue History

Date Modified Username Field Change
2012-05-23 19:34 bulled001 New Issue
2012-05-23 19:34 bulled001 File Added: test.FCStd
2012-11-14 13:17 wmayer Status new => confirmed
2012-11-14 13:44 wmayer Note Added: 0002516
2012-11-14 13:56 wmayer Note Added: 0002517
2012-11-14 16:11 wmayer Note Added: 0002518
2012-11-14 22:04 wmayer Note Added: 0002521
2012-11-14 22:25 wmayer Note Added: 0002522
2012-11-14 22:25 wmayer Status confirmed => closed
2012-11-14 22:25 wmayer Resolution open => fixed
2012-11-14 22:25 wmayer Fixed in Version => 0.13