[vtk-developers] Big list of uninitialized ivars

David Gobbi david.gobbi at gmail.com
Thu Jul 29 11:12:51 EDT 2010


I'll re-post the list on Monday.  The TestSetGet test takes a while
for valgrind to get through, and for some reason I have to run it
multiple times in order to catch all the errors.

  David


On Thu, Jul 29, 2010 at 8:30 AM, David Cole <david.cole at kitware.com> wrote:
> Excellent! Thanks, Andy and David G.
> Is there an updated list now that some/many of these have been fixed by a
> few brave volunteers...?
> Or do we have to sort through all the replies to this thread to see what's
> left?
>
> :-)
> David C.
>
> On Thu, Jul 29, 2010 at 10:28 AM, Andy Bauer <andy.bauer at kitware.com> wrote:
>>
>> I was actually thinking the same thing after I sent the email. Since
>> they're bounds, I'll put in the VTK_DOUBLE_MIN and VTK_DOUBLE_MAX.
>>
>> The other goal of the email was to to help David G. with this list of
>> uninitialized variables and hoping that other people would check out the
>> list and fix a couple of classes that they were familiar with :)
>>
>> Andy
>>
>> On Thu, Jul 29, 2010 at 8:30 AM, David Gobbi <david.gobbi at gmail.com>
>> wrote:
>>>
>>> I would like to add to what David Cole said.  These uninitialized
>>> ivars can be very troublesome for people who want to build
>>> object-inspectors for VTK.  It is a very reasonable thing to want to
>>> introspect an object immediately after it has been created.  We don't
>>> want object inspectors to find uninitialized ivars and present their
>>> values to the users.
>>>
>>> VTK should have no uninitialized ivars. If the TestSetGet test can
>>> read these ivars uninitialized, then so could an object inspector.
>>>
>>>   David
>>>
>>>
>>> On Thu, Jul 29, 2010 at 5:17 AM, David Cole <david.cole at kitware.com>
>>> wrote:
>>> > And yet they should not be ignored: since they "should" be set
>>> > immediately
>>> > after construction, they "might not" be.
>>> >
>>> > If, however, there is a *guarantee* that they *will* be set immediately
>>> > after construction, I might be persuaded to make an exception. But
>>> > probably
>>> > not.
>>> > Unless there is an important performance reason to ignore these, I
>>> > would
>>> > strongly recommend *NOT* ignoring them. Address them, be done with it,
>>> > and
>>> > put it behind... That way, future developers looking at the code will
>>> > not
>>> > ever have to ask themselves "hmmmm, I wonder if this problem occurs
>>> > because
>>> > these data members are uninitialized...?"
>>> >
>>> > 2 cents,
>>> > David
>>> >
>>> > On Wed, Jul 28, 2010 at 11:10 PM, Andy Bauer <andy.bauer at kitware.com>
>>> > wrote:
>>> >>
>>> >> I took care of the ones from vtkPKdTree and vtkOctreePointLocator.
>>> >> According to the documentation/comments the ones in
>>> >> vtkIncrementalOctreeNode
>>> >> can be ignored since they should be set immediately after
>>> >> construction.
>>> >>
>>> >> Andy
>>> >>
>>> >>> Date: Fri, 23 Jul 2010 10:23:26 -0600
>>> >>> From: David Gobbi <david.gobbi at gmail.com>
>>> >>> Subject: [vtk-developers] Big list of uninitialized ivars
>>> >>> To: VTK Developers <vtk-developers at vtk.org>
>>> >>> Message-ID:
>>> >>>        <AANLkTimEegxZJFWsLJX99nmTD-g33WT7xF9Y8-5SwNs9 at mail.gmail.com>
>>> >>> Content-Type: text/plain; charset=ISO-8859-1
>>> >>>
>>> >>> Hi Everyone,
>>> >>>
>>> >>> I was using valgrind on TestSetGet.tcl as a way of testing the
>>> >>> integrity of the new wrappers, and I found a large number of
>>> >>> uninitialized ivars.  Some of these are from methods that used to be
>>> >>> excluded from the test via BTX/ETX, but a lot of them have just
>>> >>> always
>>> >>> been there.
>>> >>>
>>> >>> Here is the list (possibly with some repetition):
>>> >>>
>>> >>> vtkPKdTree-GetRegionAssignmentMapLength
>>> >>> vtkModifiedBSPTree-GetLeafNodeCellInformation
>>> >>> vtkOctreePointLocator-GetNumberOfLeafNodes
>>> >>> vtkIncrementalOctreeNode-GetMaxBounds
>>> >>> vtkIncrementalOctreeNode-GetMinBounds
>>> >>> vtkFiniteDifferenceGradientEstimator-GetInputSize
>>> >>> vtkFiniteDifferenceGradientEstimator-GetInputAspect
>>> >>>
>>> >>> vtkPCosmoHaloFinder-GetNP
>>> >>> vtkXMLUnstructuredGridReader-GetClassName
>>> >>> vtkWindBladeReader-GetWholeExtent
>>> >>> vtkWindBladeReader-GetSubExtent
>>> >>> vtkVPICReader-GetStride
>>> >>> vtkVPICReader-GetXLayout
>>> >>> vtkVPICReader-GetYLayout
>>> >>> vtkVPICReader-GetZLayout
>>> >>>
>>> >>> vtkDICOMImageReader-GetImagePositionPatient
>>> >>> vtkDICOMImageReader-GetImageOrientationPatient
>>> >>> vtkMedicalImageProperties-GetPatientBirthDateYear
>>> >>> vtkMedicalImageProperties-GetPatientBirthDateMonth
>>> >>> vtkMedicalImageProperties-GetPatientBirthDateDay
>>> >>> vtkMedicalImageProperties-GetImageDateYear
>>> >>> vtkMedicalImageProperties-GetImageDateMonth
>>> >>> vtkMedicalImageProperties-GetImageDateDay
>>> >>> vtkMedicalImageProperties-GetAcquisitionDateYear
>>> >>> vtkMedicalImageProperties-GetAcquisitionDateMonth
>>> >>> vtkMedicalImageProperties-GetAcquisitionDateDay
>>> >>> vtkMedicalImageProperties-GetStudyTime
>>> >>>
>>> >>> vtkNetCDFPOPReader-GetStride
>>> >>> vtkNetCDFPOPReader-GetBlockReadSize
>>> >>> vtkNetCDFPOPReader-GetNumberOfVariableArrays
>>> >>> vtkNetCDFPOPReader-GetSpacing
>>> >>> vtkNetCDFPOPReader-GetOrigin
>>> >>> vtkNetCDFPOPReader-GetWholeExtent
>>> >>> vtkNetCDFPOPReader-GetSubExtent
>>> >>> vtkNetCDFPOPReader-GetClassName
>>> >>> vtkNetCDFPOPReader-GetFilename
>>> >>> vtkNetCDFPOPReader-GetInput
>>> >>> vtkNetCDFPOPReader-GetOutput
>>> >>> vtkNetCDFPOPReader-GetReleaseDataFlag
>>> >>> vtkNetCDFPOPReader-GetTotalNumberOfInputConnections
>>> >>>
>>> >>> vtkParallelCoordinatesActor-GetTitleTextProperty
>>> >>> vtkParallelCoordinatesActor-GetLabelTextProperty
>>> >>> vtkParallelCoordinatesActor-GetLabelFormat
>>> >>> vtkParallelCoordinatesActor-GetNumberOfLabels
>>> >>> vtkParallelCoordinatesActor-GetNumberOfLabelsMaxValue
>>> >>> vtkParallelCoordinatesActor-GetNumberOfLabelsMinValue
>>> >>> vtkParallelCoordinatesActor-GetIndependentVariables
>>> >>> vtkParallelCoordinatesActor-GetIndependentVariablesMaxValue
>>> >>> vtkParallelCoordinatesActor-GetIndependentVariablesMinValue
>>> >>> vtkParallelCoordinatesActor-GetInput
>>> >>> vtkParallelCoordinatesActor-GetTitle
>>> >>> vtkParallelCoordinatesActor-GetClassName
>>> >>> vtkParallelCoordinatesInteractorStyle-GetCursorLastPosition
>>> >>> vtkParallelCoordinatesInteractorStyle-GetCursorStartPosition
>>> >>> vtkParallelCoordinatesInteractorStyle-GetCursorCurrentPosition
>>> >>> vtkParallelCoordinatesInteractorStyle-GetClassName
>>> >>> vtkParallelCoordinatesInteractorStyle-GetMotionFactor
>>> >>> vtkParallelCoordinatesInteractorStyle-GetTDxStyle
>>> >>> vtkParallelCoordinatesInteractorStyle-GetMouseWheelMotionFactor
>>> >>> vtkParallelCoordinatesInteractorStyle-GetPickColor
>>> >>> vtkParallelCoordinatesInteractorStyle-GetHandleObservers
>>> >>> vtkParallelCoordinatesView-GetCurrentBrushClass
>>> >>> vtkParallelCoordinatesView-GetMaximumNumberOfBrushPoints
>>> >>>
>>> >>> vtkRenderView-GetLabelRenderMode
>>> >>> vtkRenderView-GetLabelPlacementMode
>>> >>> vtkRenderViewBase-GetRenderOnMouseMove
>>> >>> vtkRenderViewBase-GetInteractionMode
>>> >>> vtkTreeAreaView-GetEdgeScalarBarVisibility
>>> >>> vtkTreeAreaView-GetUseRectangularCoordinates
>>> >>> vtkTreeMapView-GetClassName
>>> >>> vtkTreeMapView-GetEdgeScalarBarVisibility
>>> >>> vtkTreeRingView-GetInteriorLogSpacingValue
>>> >>> vtkTreeRingView-GetInteriorRadius
>>> >>> vtkGraphLayoutView-GetVertexScalarBarVisibility
>>> >>> vtkGraphLayoutView-GetEdgeScalarBarVisibility
>>> >>> vtkGraphLayoutView-GetEdgeLabelFontSize
>>> >>> vtkHierarchicalGraphView-GetGraphVisibility
>>> >>> vtkHierarchicalGraphView-GetGraphEdgeLabelFontSize
>>> >>> vtkHierarchycalGraphView-GetBundlingStrength
>>> >>> vtkIcicleView-GetUseGradientColoring
>>> >>> vtkIcicleView-GetLayerThickness
>>> >>> vtkIcicleView-GetRootWidth
>>> >>> vtkGeoView-GetTerrain
>>> >>> vtkGeoView-GetGeoInteractorStyle
>>> >>> vtkGeoView-GetLockHeading
>>> >>> vtkGeoView-GetClassName
>>> >>> vtkGeoView-GetLabelRenderMode
>>> >>> vtkGeoView2D-GetTransform
>>> >>> vtkGeoView2D-GetSurface
>>> >>> vtkGeoView2D-GetClassName
>>> >>> vtkGeoView2D-GetLabelRenderMode
>>> >>>
>>> >>> vtkXOpenGLRenderWindow-GetTextureUnitManager
>>> >>>
>>> >>> vtkInteractorStyleAreaSelectHover-GetStartPosition
>>> >>> vtkInteractorStyleAreaSelectHover-GetEndPosition
>>> >>> vtkInteractorStyleRubberBand3D-GetStartPosition
>>> >>> vtkInteractorStyleRubberBand3D-GetEndPosition
>>> >>> vtkInteractorStyleRubberBand2D-GetStartPosition
>>> >>> vtkInteractorStyleRubberBand2D-GetEndPosition
>>> >>>
>>> >>> vtkVolumeTextureMapper2D-GetInternalSkipFactor
>>> >>> vtkVolumeTextureMapper2D-GetShade
>>> >>> vtkVolumeTextureMapper2D-GetSaveTextures
>>> >>> vtkOpenGLVolumeTextureMapper2D-GetInternalSkipFactor
>>> >>> vtkOpenGLVolumeTextureMapper2D-GetShade
>>> >>> vtkOpenGLVolumeTextureMapper2D-GetSaveTextures
>>> >>>
>>> >>> vtkUnstructuredGridVolumeRayCastMapper-GetImageInUseSize
>>> >>> vtkUnstructuredGridVolumeRayCastMapper-GetImageOrigin
>>> >>> vtkUnstructuredGridVolumeRayCastMapper-GetImageSpacing
>>> >>> vtkUnstructuredGridVolumeRayCastMapper-GetImageViewportSize
>>> >>> vtkUnstructuredGridBunykRayCastFunction-GetImageOrigin
>>> >>> vtkUnstructuredGridBunykRayCastFunction-GetImageSpacing
>>> >>> vtkUnstructuredGridBunykRayCastFunction-GetImageViewportSize
>>> >>> vtkUnstructuredGridVolumeZSweepMapper-GetImageInUseSize
>>> >>> vtkUnstructuredGridVolumeZSweepMapper-GetImageOrigin
>>> >>> vtkUnstructuredGridVolumeZSweepMapper-GetImageSpacing
>>> >>> vtkUnstructuredGridVolumeZSweepMapper-GetImageViewportSize
>>> >>>
>>> >>> == end of list ==
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> Powered by www.kitware.com
>>> >>
>>> >> Visit other Kitware open-source projects at
>>> >> http://www.kitware.com/opensource/opensource.html
>>> >>
>>> >> Follow this link to subscribe/unsubscribe:
>>> >> http://www.vtk.org/mailman/listinfo/vtk-developers
>>> >>
>>> >>
>>> >
>>> >
>>
>
>



More information about the vtk-developers mailing list