[Paraview] segfault in a custom plugin

Dominik Szczerba dominik at itis.ethz.ch
Mon May 23 10:23:23 EDT 2011


I have found out the reason to be VTK and ParaView conflict. It's
described on the Wiki, but I was not aware I have this problem,
because the libs listed by ldd plugin.so were pointing to ParaVIew's
VTK. But I do have VTK built independently elsewhere, if I rename it ,
the problem is gone. Apparently, ParaView sees the library paths
differently than ldd.

Because I knew of the warning in the Wiki and yet got into this trap I
suggest the Wiki entry is slightly extended:

* add another symptom: "Segmentation fault.
0x00007fffe8386dae in
vtkInformationVector::GetNumberOfInformationObjects (this=0x0)
   at /home/domel/pack/ParaView-3.10.1/VTK/Common/vtkInformationVector.h:43
43        int GetNumberOfInformationObjects() { return
this->NumberOfInformationObjects; };"

* Dependencies reported by ldd are not reliable, because ParaView may
see different library paths than ldd.


Thanks and best regards,
Dominik

On Mon, May 23, 2011 at 3:28 PM, Dominik Szczerba <dominik at itis.ethz.ch> wrote:
> Hi,
>
> The archive is here:
>
> http://otoro.ethz.ch/~dominik/tmp/plugin.tar.bz2
>
> Once again, the filter vtkMyImageResample is just a copy of
> vtkImageChangeInformation with a customised name. I have also tried
> vtkImageClip and vtkImageExtractVoi - they all segfault in the same
> location. Note, removing the server CXX file and referencing the
> original class in the xml file result in a proper operation, it is the
> custom CXX part that generates the segfault.
>
> Many thanks and best regards,
> Dominik
>
> On Mon, May 23, 2011 at 3:04 PM, Utkarsh Ayachit
> <utkarsh.ayachit at kitware.com> wrote:
>> Dominik,
>>
>> Can you attach the full source tar ball please? Would just make it
>> easier to try it out.
>>
>> Thanks
>> Utkarsh
>>
>> On Mon, May 23, 2011 at 8:12 AM, Dominik Szczerba <dominik at itis.ethz.ch> wrote:
>>> Hello!
>>>
>>> I am facing a segfault with a custom filter. Here a minimalistic setup
>>> to reproduce the problem, Ubuntu 10.10 64bit:
>>>
>>> I have copied the original vtkImageClip class, as well as its
>>> ServerManager xml part, merely renaming it to vtkMyImageResample. I
>>> have added a plugin like
>>>
>>>
>>> ADD_PARAVIEW_PLUGIN(MyImageResample_Plugin "1.0"
>>>   SERVER_MANAGER_XML MyImageResample.xml
>>>   SERVER_MANAGER_SOURCES vtkMyImageResample.cxx
>>>   GUI_RESOURCE_FILES MyImageResampleGUI.xml)
>>>
>>> The GUI part can not be simpler:
>>>
>>> <ParaViewFilters>
>>>  <Category name="My Filters">
>>>  <Filter name="MyImageResample"/>
>>>  </Category>
>>> </ParaViewFilters>
>>>
>>> Now I create an image using Sources->Wavelet (default options) and
>>> call my filter. ParaView crashes with the backtrace pasted below.
>>> Does anyone have any hints how to proceed from here?
>>>
>>> Many thanks and best regards,
>>> Dominik
>>>
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>> 0x00007fffe8386dae in
>>> vtkInformationVector::GetNumberOfInformationObjects (this=0x0)
>>>    at /home/domel/pack/ParaView-3.10.1/VTK/Common/vtkInformationVector.h:43
>>> 43        int GetNumberOfInformationObjects() { return
>>> this->NumberOfInformationObjects; };
>>> (gdb) bt
>>> #0  0x00007fffe8386dae in
>>> vtkInformationVector::GetNumberOfInformationObjects (this=0x0)
>>>    at /home/domel/pack/ParaView-3.10.1/VTK/Common/vtkInformationVector.h:43
>>> #1  0x00007fffe8384176 in vtkAlgorithm::GetNumberOfOutputPorts
>>> (this=0x1fbaa60) at
>>> /home/domel/pack/ParaView-3.10.1/VTK/Filtering/vtkAlgorithm.cxx:733
>>> #2  0x00007ffff187ab36 in
>>> vtkPVAlgorithmPortsInformation::CopyFromObject (this=0x1fbcf70,
>>> obj=0x1fbaa60)
>>>    at /home/domel/pack/ParaView-3.10.1/Servers/Common/vtkPVAlgorithmPortsInformation.cxx:73
>>> #3  0x00007ffff18e08cb in vtkSelfConnection::GatherInformation
>>> (this=0x15d46b0, info=0x1fbcf70, id=...)
>>>    at /home/domel/pack/ParaView-3.10.1/Servers/Common/vtkSelfConnection.cxx:149
>>> #4  0x00007ffff185fd9c in
>>> vtkProcessModuleConnectionManager::GatherInformation (this=0x1044d80,
>>> connectionID=5, serverFlags=1, info=0x1fbcf70, id=...)
>>>    at /home/domel/pack/ParaView-3.10.1/Servers/Common/vtkProcessModuleConnectionManager.cxx:570
>>> #5  0x00007ffff1867d98 in vtkProcessModule::GatherInformation
>>> (this=0xccefc0, connectionID=5, serverFlags=1, info=0x1fbcf70, id=...)
>>>    at /home/domel/pack/ParaView-3.10.1/Servers/Common/vtkProcessModule.cxx:310
>>> _______________________________________________
>>> 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 ParaView Wiki at: http://paraview.org/Wiki/ParaView
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.paraview.org/mailman/listinfo/paraview
>>>
>>
>>
>


More information about the ParaView mailing list