Open GoogleCodeExporter opened 9 years ago
Original comment by kylecovi...@gmail.com
on 28 May 2010 at 8:37
After calling sip.delete on a read Files object then calling garbage collection
the
following references were found to the widget::
Remaining references [{'isProcessing': 0, 'errorIcon':
<PyQt4.QtGui.QGraphicsPixmapItem object at 0x05F88618>, 'oldPos':
PyQt4.QtCore.QPointF(470.0, 50.0), 'widgetSize': PyQt4.QtCore.QSizeF(40.0,
40.0),
'warningIcon': <PyQt4.QtGui.QGraphicsPixmapItem object at 0x05F885D0>,
'canvas':
<PyQt4.QtGui.QGraphicsScene object at 0x02C32078>, 'shownLeftEdge':
<PyQt4.QtGui.QPixmap object at 0x05F5ED50>, 'selected': 1, 'imageRightEdgeG':
<PyQt4.QtGui.QPixmap object at 0x05F5EDF8>, 'instance': <base_readFile.readFile
object at 0x05F86300>, 'imageRightEdgeR': <PyQt4.QtGui.QPixmap object at
0x05F5EE68>,
'outLines': [], 'widgetState': {}, 'imageRightEdge': <PyQt4.QtGui.QPixmap
object at
0x05F5ED88>, 'signalManager': <orngSignalManager.SignalManager instance at
0x05894DC8>, 'infoIcon': <PyQt4.QtGui.QGraphicsPixmapItem object at
0x05F88540>,
'progressBarShown': 0, 'canvasDlg': <__main__.OrangeCanvasDlg object at
0x029BDB70>,
'shownRightEdge': <PyQt4.QtGui.QPixmap object at 0x05F5ED88>,
'needsProcessing': 0,
'icon': <PyQt4.QtGui.QIcon object at 0x05F884F8>, 'imageFrame':
<PyQt4.QtGui.QIcon
object at 0x05F88588>, 'imageLeftEdgeR': <PyQt4.QtGui.QPixmap object at
0x05F5EE30>,
'inLines': [], 'widgetInfo': <orngRegistry.WidgetDescription instance at
0x058C7AA8>,
'caption': 'Read Files (5)', 'imageLeftEdge': <PyQt4.QtGui.QPixmap object at
0x05F5ED50>, 'imageLeftEdgeG': <PyQt4.QtGui.QPixmap object at 0x05F5EDC0>,
'progressBarValue': -1, 'edgeSize': PyQt4.QtCore.QSizeF(6.0, 12.0), 'view':
<orngView.SchemaView object at 0x02C32108>}]
It seems that there is only one memory leak which is good. If we can find and
destroy this we should be fine. Perhaps???
Original comment by kylecovi...@gmail.com
on 29 May 2010 at 3:48
After tracing up I found in orngDoc the remove section. On removal of the
widget it
was still being referenced in the following locations:
Remaining references [<PyQt4.QtGui.QGraphicsScene object at 0x02F2C078>,
{'bWidgetDragging': False, 'widgetSelectionRect': None, 'doc':
<orngDoc.SchemaDoc
object at 0x02F2C270>, 'tempLine': None, 'movingWidget': None,
'mouseDownPosition':
PyQt4.QtCore.QPointF(155.0, 63.0), 'tempWidget': <orngCanvasItems.CanvasWidget
object
at 0x05B2C810>, 'menupopupLinkEnabledID': <PyQt4.QtGui.QAction object at
0x02F2C198>,
'selectedLine': None, 'lineEnabledAction': <PyQt4.QtGui.QAction object at
0x02F2C198>, 'linePopup': <PyQt4.QtGui.QMenu object at 0x02F2C108>}, <frame
object at
0x06174758>, [<orngCanvasItems.CanvasWidget object at 0x05B2C810>], <frame
object at
0x0308F988>, <bound method CanvasWidget.updateWidgetState of
<orngCanvasItems.CanvasWidget object at 0x05B2C810>>]
These are a lot of memory leaks. I'm not sure what setting the widget to None
would
do.
Original comment by kylecovi...@gmail.com
on 29 May 2010 at 3:56
Setting the widget to None crashes the system. These leaks should be handled
separately.
Original comment by kylecovi...@gmail.com
on 29 May 2010 at 3:58
I'm moving this issue to the next release. The system works OK with the leaks
and it's
something that we know about.
This is what we get for using spaghetti code. In the next release this should
be a
priority to clean the code and refer to a widget in a central location. This
way
deleting will not be a problem.
Original comment by kylecovi...@gmail.com
on 29 May 2010 at 4:02
Original comment by anup.parikh
on 21 Aug 2010 at 4:46
Original issue reported on code.google.com by
anup.parikh
on 28 May 2010 at 3:09