[vtkusers] Segmentation fault

Bill Lorensen bill.lorensen at gmail.com
Tue Apr 8 07:58:32 EDT 2014


Please post a small, complete, compilable example that illustrates your problem.

On Tue, Apr 8, 2014 at 3:19 AM, elena bresciani
<elena.bresciani87 at gmail.com> wrote:
> Thank you guys,
>
> I tried changing the type of PointNormalArray in vtkDoubleArray
>
> vtkDoubleArray *PointNormalArray = vtkDoubleArray::SafeDownCast(
> polydata->GetPointData()->GetNormals() ) ;
>
> but I still have the segfault.
>
> Elena
>
>
> 2014-04-07 19:31 GMT+02:00 Goodwin Lawlor <goodwin.lawlor.lists at gmail.com>:
>
>> Thanks for that link Shawn and setting me straight (I did day I could be
>> wrong ;-))
>>
>> My logic was that if you had to do:
>>
>> vtkSmartPointer<vtkPolyData> polydata =
>> vtkSmartPointer<vtkPolyData>::New();
>>
>> then initializing a smart pointer not created with the form on the RHS
>> above wouldn't work...
>>
>> Goodwin
>>
>>
>> On Mon, Apr 7, 2014 at 6:17 PM, Shawn Waldon <swaldon at cs.unc.edu> wrote:
>>>
>>> Hi Goodwin,
>>>
>>> It shouldn't be causing the segfault.  That line will create a new smart
>>> pointer and set its internal pointer to the reader's output, incrementing
>>> the reference count.
>>> See
>>> http://www.vtk.org/Wiki/VTK/Tutorials/SmartPointers#Getting_an_Object_with_a_Smart_Pointer
>>> for details.  If the reference increment is unnecessary, then it is still
>>> only a small performance gain and not a segfault causing bug.
>>>
>>> My guess for the segfault is what Bill said: the normals are in a
>>> vtkDoubleArray not a vtkFloatArray so SafeDownCast is returning NULL.
>>>
>>> HTH,
>>>
>>> Shawn
>>>
>>>
>>> On Mon, Apr 7, 2014 at 1:11 PM, Goodwin Lawlor
>>> <goodwin.lawlor.lists at gmail.com> wrote:
>>>>
>>>> Hi Elena,
>>>>
>>>> I coud be wrong but I dont think this is correct:
>>>>
>>>>> vtkSmartPointer<vtkPolyData> polydata = reader->GetOutput();
>>>>
>>>>
>>>> reader->GetOutput() returns a regular pointer to a vtkPolydata not a
>>>> smart pointer.
>>>>
>>>> Try:
>>>>
>>>> vtkPolyData *polydata = reader->GetOutput();
>>>>
>>>> instead.
>>>>
>>>> hth
>>>>
>>>> Goodwin
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, Apr 7, 2014 at 4:00 PM, elena bresciani
>>>> <elena.bresciani87 at gmail.com> wrote:
>>>>>
>>>>> Hello everybody!
>>>>>
>>>>> I need your help with a segmentation fault error.
>>>>> Using gdb I understood where it is generated but I don't know how to
>>>>> modify the code to make it run.
>>>>>
>>>>> Here's the portion of the code that I'm talking about:
>>>>>
>>>>>
>>>>> vtkSmartPointer<vtkPolyData> polydata = reader->GetOutput();
>>>>> (the reader is a vtkXMLPolyDataReader)
>>>>>
>>>>> vtkFloatArray *PointNormalArray = vtkFloatArray::SafeDownCast(
>>>>> polydata->GetPointData()->GetNormals() ) ;
>>>>>
>>>>> for(vtkIdType i = 0; i < PointNormalArray->GetNumberOfTuples(); i++)
>>>>> {....}
>>>>>
>>>>> everytime I call GetNumberOfTuples I have this error so I think the
>>>>> problem is on PointNormalArray.
>>>>>
>>>>> Can somebody help me?
>>>>>
>>>>> Thanks in advance
>>>>>
>>>>> Elena
>>>>>
>>>>> _______________________________________________
>>>>> Powered by www.kitware.com
>>>>>
>>>>> Visit other Kitware open-source projects at
>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>
>>>>> Please keep messages on-topic and check the VTK FAQ at:
>>>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Please keep messages on-topic and check the VTK FAQ at:
>>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>>
>>>
>>>
>>>
>>> --
>>> Shawn Waldon
>>> Graduate Research Assistant
>>> Department of Computer Science
>>> University of North Carolina at Chapel Hill
>>> swaldon at cs.unc.edu
>>
>>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>



-- 
Unpaid intern in BillsBasement at noware dot com


More information about the vtkusers mailing list