View Issue Details

IDProjectCategoryView StatusLast Update
0004048Slicer4Core: Scripting (Wrapping, Python)public2018-03-02 11:06
Reporterjcfr Assigned Tomsmolens  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.5.0-1Fixed in Version 
Summary0004048: Fix memory leaks associated with py_StandaloneEditorWidgetTest
Description

Now issues causing "py_StandaloneEditorWidgetTest" to crash when built in Release are fixed. See 0004045

Would be good to address the memory leaks reported in a Debug build:

Ubuntu 14.04
Debug build based of r24554

//------------------------
403: vtkDebugLeaks has detected LEAKS!
403: Class "vtkMRMLFiducialListNode" has 1 instance still around.
403: Class "vtkMRMLColorTableStorageNode" has 17 instances still around.
403: Class "vtkMRMLAnnotationDisplayNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationSnapshotStorageNode" has 1 instance still around.
403: Class "vtkMRMLIGTLTrackingDataQueryNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationControlPointsNode" has 1 instance still around.
403: Class "vtkMRMLLabelMapVolumeDisplayNode" has 2 instances still around.
403: Class "vtkCellData" has 14 instances still around.
403: Class "vtkOrientedGridTransform" has 1 instance still around.
403: Class "vtkMRMLEMSSegmenterNode" has 1 instance still around.
403: Class "vtkMRMLEMSTemplateNode" has 1 instance still around.
403: Class "vtkTransformPolyDataFilter" has 1 instance still around.
403: Class "vtkMRMLCropVolumeParametersNode" has 1 instance still around.
403: Class "vtkMRMLEMSNode" has 1 instance still around.
403: Class "vtkCollection" has 6 instances still around.
403: Class "vtkMRMLFreeSurferModelStorageNode" has 1 instance still around.
403: Class "vtkMRMLROIListNode" has 1 instance still around.
403: Class "vtkInformationIntegerVectorValue" has 12 instances still around.
403: Class "vtkInformationVector" has 508 instances still around.
403: Class "vtkMRMLDiffusionTensorDisplayPropertiesNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationLinesNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationSnapshotNode" has 1 instance still around.
403: Class "vtkMRMLIGTLSensorNode" has 1 instance still around.
403: Class "vtkPerspectiveTransform" has 4 instances still around.
403: Class "vtkMRMLEMSVolumeCollectionNode" has 1 instance still around.
403: Class "vtkMRMLScalarVolumeNode" has 2 instances still around.
403: Class "vtkMRMLColorNode" has 1 instance still around.
403: Class "vtkMRMLMultiVolumeStorageNode" has 1 instance still around.
403: Class "vtkDataSetAttributes" has 1 instance still around.
403: Class "vtkImageBimodalAnalysis" has 1 instance still around.
403: Class "vtkPointData" has 14 instances still around.
403: Class "vtkCompositeDataPipeline" has 95 instances still around.
403: Class "vtkMRMLDiffusionTensorVolumeNode" has 1 instance still around.
403: Class "vtkGeometryFilter" has 1 instance still around.
403: Class "vtkObservation" has 75 instances still around.
403: Class "vtkTrivialProducer" has 8 instances still around.
403: Class "vtkMRMLMultiVolumeDisplayNode" has 1 instance still around.
403: Class "vtkMRMLFiberBundleTubeDisplayNode" has 1 instance still around.
403: Class "vtkMRMLFiberBundleGlyphDisplayNode" has 1 instance still around.
403: Class "vtkMatrix4x4" has 77 instances still around.
403: Class "vtkMRMLLinearTransformNode" has 4 instances still around.
403: Class "vtkMRMLAnnotationTextNode" has 1 instance still around.
403: Class "vtkPassThrough" has 12 instances still around.
403: Class "vtkImageMapToColors" has 8 instances still around.
403: Class "vtkMRMLNodeReference" has 9 instances still around.
403: Class "vtkMRMLEMSTreeNode" has 1 instance still around.
403: Class "vtkSimpleTransform" has 14 instances still around.
403: Class "vtkMRMLFreeSurferModelOverlayStorageNode" has 1 instance still around.
403: Class "vtkPlane" has 1 instance still around.
403: Class "vtkImageShiftScale" has 2 instances still around.
403: Class "vtkColorTransferFunction" has 2 instances still around.
403: Class "vtkMRMLTransformStorageNode" has 1 instance still around.
403: Class "vtkPlaneSource" has 3 instances still around.
403: Class "vtkSelectionNode" has 1 instance still around.
403: Class "vtkObserverManager" has 173 instances still around.
403: Class "vtkIntArray" has 130 instances still around.
403: Class "vtkMRMLUnstructuredGridStorageNode" has 1 instance still around.
403: Class "vtkPoints" has 11 instances still around.
403: Class "vtkGridTransformConnectionHolder" has 1 instance still around.
403: Class "vtkImageAccumulate" has 1 instance still around.
403: Class "vtkInformation" has 1125 instances still around.
403: Class "vtkMRMLLabelMapVolumeNode" has 2 instances still around.
403: Class "vtkMRMLDiffusionTensorVolumeDisplayNode" has 1 instance still around.
403: Class "vtkMRMLUnitNode" has 6 instances still around.
403: Class "vtkMRMLVolumePropertyStorageNode" has 1 instance still around.
403: Class "vtkMRMLProceduralColorStorageNode" has 1 instance still around.
403: Class "vtkMRMLTransformDisplayNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationFiducialsStorageNode" has 1 instance still around.
403: Class "vtkMRMLFiberBundleStorageNode" has 1 instance still around.
403: Class "vtkLine" has 2 instances still around.
403: Class "vtkInformationStringVectorValue" has 3 instances still around.
403: Class "vtkCacheManager" has 1 instance still around.
403: Class "vtkMRMLSliceCompositeNode" has 4 instances still around.
403: Class "vtkMRMLVectorVolumeDisplayNode" has 1 instance still around.
403: Class "vtkMRMLUnstructuredGridDisplayNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationRulerNode" has 1 instance still around.
403: Class "vtkDataIOManager" has 1 instance still around.
403: Class "vtkMultiThreader" has 61 instances still around.
403: Class "vtkMRMLSnapshotClipNode" has 1 instance still around.
403: Class "vtkMRMLMarkupsNode" has 1 instance still around.
403: Class "vtkMRMLMarkupsFiducialStorageNode" has 1 instance still around.
403: Class "vtkMRMLEMSAtlasNode" has 1 instance still around.
403: Class "vtkMRMLMultiVolumeNode" has 1 instance still around.
403: Class "vtkMRMLSelectionNode" has 2 instances still around.
403: Class "vtkInformationIntegerPointerValue" has 6 instances still around.
403: Class "vtkTubeFilter" has 1 instance still around.
403: Class "vtkMRMLGPURayCastVolumeRenderingDisplayNode" has 1 instance still around.
403: Class "vtkEventBroker" has 1 instance still around.
403: Class "vtkLookupTable" has 4 instances still around.
403: Class "vtkPolyData" has 8 instances still around.
403: Class "vtkMRMLEMSTreeParametersParentNode" has 1 instance still around.
403: Class "vtkPlanes" has 1 instance still around.
403: Class "vtkMRMLCPURayCastVolumeRenderingDisplayNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationFiducialNode" has 1 instance still around.
403: Class "vtkMRMLLabelMetaListNode" has 1 instance still around.
403: Class "vtkMRMLClipModelsNode" has 2 instances still around.
403: Class "vtkMRMLROINode" has 1 instance still around.
403: Class "vtkHTTPHandler" has 1 instance still around.
403: Class "vtkMRMLFiberBundleNode" has 1 instance still around.
403: Class "vtkMRMLSliceNode" has 4 instances still around.
403: Class "vtkMRMLDoubleArrayNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationRulerStorageNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationBidimensionalNode" has 1 instance still around.
403: Class "vtkMRMLMarkupsStorageNode" has 1 instance still around.
403: Class "vtkMRMLTextNode" has 1 instance still around.
403: Class "vtkPiecewiseFunction" has 2 instances still around.
403: Class "vtkImageThreshold" has 6 instances still around.
403: Class "vtkMRMLProceduralColorNode" has 1 instance still around.
403: Class "vtkXMLDataElement" has 23 instances still around.
403: Class "vtkMRMLAnnotationTextDisplayNode" has 1 instance still around.
403: Class "vtkMRMLNRRDStorageNode" has 1 instance still around.
403: Class "vtkOpenGLCamera" has 2 instances still around.
403: Class "vtkMRMLHierarchyNode" has 1 instance still around.
403: Class "vtkMRMLDiffusionWeightedVolumeDisplayNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationNode" has 1 instance still around.
403: Class "vtkMRMLMarkupsDisplayNode" has 1 instance still around.
403: Class "vtkMRMLIGTLStatusNode" has 1 instance still around.
403: Class "vtkMRMLVolumeRenderingScenarioNode" has 1 instance still around.
403: Class "vtkMRMLFiducialListStorageNode" has 1 instance still around.
403: Class "vtkMRMLImageMetaListNode" has 1 instance still around.
403: Class "vtkExtractPolyDataGeometry" has 1 instance still around.
403: Class "vtkIdList" has 6 instances still around.
403: Class "vtkMRMLDoubleArrayStorageNode" has 1 instance still around.
403: Class "vtkMRMLTractographyInteractiveSeedingNode" has 1 instance still around.
403: Class "vtkDoubleArray" has 11 instances still around.
403: Class "vtkAlgorithmOutput" has 81 instances still around.
403: Class "vtkMRMLCrosshairNode" has 2 instances still around.
403: Class "vtkMRMLFiberBundleLineDisplayNode" has 1 instance still around.
403: Class "vtkImageCast" has 1 instance still around.
403: Class "vtkMRMLColorTableNode" has 4 instances still around.
403: Class "vtkMRMLAnnotationROINode" has 1 instance still around.
403: Class "vtkMRMLSubjectHierarchyNode" has 1 instance still around.
403: Class "vtkMRMLEMSGlobalParametersNode" has 1 instance still around.
403: Class "vtkMutexLock" has 5 instances still around.
403: Class "vtkMRMLModelNode" has 4 instances still around.
403: Class "vtkInformationIntegerValue" has 1259 instances still around.
403: Class "vtkDiffusionTensorGlyph" has 3 instances still around.
403: Class "vtkShrinkPolyData" has 1 instance still around.
403: Class "vtkMRMLGridTransformNode" has 1 instance still around.
403: Class "vtkExtractSelectedPolyDataIds" has 1 instance still around.
403: Class "vtkMRMLUnstructuredGridNode" has 1 instance still around.
403: Class "vtkMRMLChartNode" has 1 instance still around.
403: Class "vtkMRMLAnnotationHierarchyNode" has 1 instance still around.
403: Class "vtkMRMLIGTLTrackingDataBundleNode" has 1 instance still around.
403: Class "vtkSelection" has 1 instance still around.
403: Class "vtkCleanPolyData" has 2 instances still around.
403: Class "vtkCellArray" has 4 instances still around.
403: Class "vtkTagTable" has 44 instances still around.
403: Class "vtkDiffusionTensorMathematics" has 2 instances still around.
403: Class "vtkImageRGBToHSI" has 1 instance still around.
403: Class "vtkMRMLEMSTreeParametersNode" has 1 instance still around.
403: Class "vtkVertex" has 1 instance still around.
403: Class "vtkMRMLDiffusionWeightedVolumeNode" has 1 instance still around.
403: Class "vtkMRMLDisplayableHierarchyNode" has 1 instance still around.
403: Class "vtkMRMLEMSTargetNode" has 1 instance still around.
403: Class "vtkMRMLScriptedModuleNode" has 3 instances still around.
403: Class "vtkImageData" has 6 instances still around.
403: Class "vtkMRMLAnnotationLineDisplayNode" has 1 instance still around.
403: Class "vtkMRMLIGTLConnectorNode" has 1 instance still around.
403: Class "vtkFloatArray" has 12 instances still around.
403: Class "vtkImageExtractComponents" has 15 instances still around.
403: Class "vtkMRMLScalarVolumeDisplayNode" has 2 instances still around.
403: Class "vtkMRMLVectorVolumeNode" has 1 instance still around.
403: Class "vtkMRMLHierarchyStorageNode" has 1 instance still around.
403: Class "vtkInformationStringValue" has 10 instances still around.
403: Class "vtkVolumeProperty" has 1 instance still around.
403: Class "vtkStringArray" has 93 instances still around.
403: Class "vtkImageMapToWindowLevelColors" has 6 instances still around.
403: Class "vtkInformationExecutivePortVectorValue" has 68 instances still around.
403: Class "vtkMRMLTransformNode" has 1 instance still around.
403: Class "vtkMRMLCommandLineModuleNode" has 1 instance still around.
403: Class "vtkIdTypeArray" has 7 instances still around.
403: Class "vtkTransform" has 11 instances still around.
403: Class "vtkMRMLAnnotationControlPointsStorageNode" has 1 instance still around.
403: Class "vtkMRMLModelStorageNode" has 1 instance still around.
403: Class "vtkMRMLChartViewNode" has 1 instance still around.
403: Class "vtkShortArray" has 2 instances still around.
403: Class "vtkImageMathematics" has 1 instance still around.
403: Class "vtkMRMLModelHierarchyNode" has 1 instance still around.
403: Class "vtkVoxel" has 3 instances still around.
403: Class "vtkMRMLModelDisplayNode" has 4 instances still around.
403: Class "vtkFieldData" has 17 instances still around.
403: Class "vtkOrientedBSplineTransform" has 1 instance still around.
403: Class "vtkMRMLBSplineTransformNode" has 1 instance still around.
403: Class "vtkMRMLEMSTreeParametersLeafNode" has 1 instance still around.
403: Class "vtkMRMLInteractionNode" has 2 instances still around.
403: Class "vtkMRMLAnnotationPointDisplayNode" has 1 instance still around.
403: Class "vtkAssignAttribute" has 12 instances still around.
403: Class "vtkMRMLEMSWorkingDataNode" has 1 instance still around.
403: Class "vtkMRMLCameraNode" has 2 instances still around.
403: Class "vtkInformationDoubleVectorValue" has 8 instances still around.
403: Class "vtkPolyDataTensorToColor" has 2 instances still around.
403: Class "vtkMRMLVolumeArchetypeStorageNode" has 1 instance still around.
403: Class "vtkSphereSource" has 2 instances still around.
403: Class "vtkUnsignedCharArray" has 4 instances still around.
403: Class "vtkMRMLLayoutNode" has 2 instances still around.
403: Class "vtkStreamingDemandDrivenPipeline" has 8 instances still around.
403: Class "vtkMRMLAnnotationLinesStorageNode" has 1 instance still around.
403: Class "vtkMRMLMarkupsFiducialNode" has 1 instance still around.
403: Class "vtkMRMLVolumePropertyNode" has 1 instance still around.
403: Class "vtkImageStencil" has 6 instances still around.
403: Class "vtkMRMLDiffusionTensorVolumeSliceDisplayNode" has 1 instance still around.
403: Class "vtkMRMLViewNode" has 2 instances still around.
403: Class "vtkBitArray" has 6 instances still around.
403: Class "vtkImageAppendComponents" has 6 instances still around.
403: Class "vtkBSplineTransformConnectionHolder" has 1 instance still around.
403: Class "vtkTimerLog" has 1 instance still around.
403: Class "vtkUnsignedLongArray" has 29 instances still around.
403: Class "vtkMRMLScene" has 1 instance still around.
403: Class "vtkMRMLAnnotationStorageNode" has 1 instance still around.
403: Class "vtkCommand or subclass" has 448 instances still around.
403: Class "vtkImageLogic" has 6 instances still around.
403: Class "vtkInformationExecutivePortValue" has 74 instances still around.
403: Class "vtkMRMLSceneViewNode" has 1 instance still around.
403: Class "vtkMRMLSceneViewStorageNode" has 1 instance still around.
403: Class "vtkPolyDataColorLinesByOrientation" has 2 instances still around.
403:
1/1 Test 0000403: py_StandaloneEditorWidgetTest ....***Failed 28.04 sec
//------------------------

TagsNo tags attached.

Related Changesets

Import 2017-06-07 23:51:09: master fc57c6e6

2015-09-18 10:51:14

msmolens

Details Diff
BUG: Fix memory leaks associated with py_StandaloneEditorWidgetTest

In a debug build running running py_StandaloneEditorWidgetTest reports that a
number of VTK class instances leak.

The leaks occur because EditorWidget adds an observer callback in __init__()
that is never removed.

This commit fixes the leaks by moving initialization of the observer callback to
enter() and removing the callback in exit().

Fixes 0004048

From: Max Smolens <max.smolens@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24562 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Scripted/Editor/Editor.py Diff File

Issue History

Date Modified Username Field Change
2015-09-16 09:40 jcfr New Issue
2015-09-16 09:40 jcfr Status new => assigned
2015-09-16 09:40 jcfr Assigned To => jcfr
2015-09-16 09:41 jcfr Assigned To jcfr => msmolens
2015-09-16 09:41 jcfr Target Version => Slicer 4.5.0-1
2015-09-16 09:41 jcfr Description Updated
2015-09-16 09:42 jcfr Description Updated
2015-09-18 12:04 msmolens Note Added: 0013284
2015-09-18 12:04 msmolens Status assigned => resolved
2015-09-18 12:04 msmolens Resolution open => fixed
2017-06-10 08:51 msmolens Changeset attached => Slicer master fc57c6e6
2018-03-02 11:06 jcfr Status resolved => closed