[Paraview] Plugin Crashing on PV 3.12 RC2

Cory Quammen cquammen at cs.unc.edu
Wed Apr 25 11:18:36 EDT 2012


Okay, I figured out the problem. I am have a code generator that
produces the VTK files. Currently, I have the dependencies set up so
that the VTK class code isn't generated until build time. The problem
is that the generation of the instantiators and init files don't get
generated by the CMake plugin magic because the header files for my
plugin classes don't exist at CMake configuration time.

The solution seems to be to generate the code at CMake configuration
time before any calls to add_paraview_plugin are made.

- Cory

On Wed, Apr 25, 2012 at 10:38 AM, Cory Quammen <cquammen at cs.unc.edu> wrote:
> I have some new information to add.
>
> Sometimes, the files
>
> <plugin>Init.cxx
> <vtkClass>ClientServer.cxx
> vtkSM<plugin>Instantiator.h
> vtkSM<plugin>Instantiator.cxx
> vtkSMXML_<plugin>.h
>
> are generated, sometimes they are not. I haven't found a consistent
> way to reproduce the behavior where these files are not generating.
> Every time I compile, though, a dylib for the plugin (I'm on a Mac) is
> generated. There are no complaints about not being able to find the
> files I listed above when they are missing. Making clean and
> rebuilding doesn't seem to help.
>
> Thoughts or suggestions?
>
> Thanks,
> Cory
>
> On Wed, Apr 25, 2012 at 10:19 AM, Cory Quammen <cquammen at cs.unc.edu> wrote:
>> Hi Mike and Utkarsh,
>>
>> Was there a resolution to this problem?
>>
>> I'm having a similar problem with a set of plugins failing to load
>> despite everything looking okay. The real oddness in my case is that
>> sometimes one plugin works and another fails, but when I recompile the
>> one that worked starts failing and another one works.
>>
>> Initially I had all the source files and CMake commands in a single
>> directory and I thought that maybe some files were getting clobbered
>> by the CMake plugin magic. Putting each plugin in a separate
>> directory, however, didn't solve the problem.
>>
>> Thanks,
>> Cory
>>
>>
>> On Wed, Oct 12, 2011 at 3:38 PM, Utkarsh Ayachit
>> <utkarsh.ayachit at kitware.com> wrote:
>>> That's only needed if you're creating a file-series writer using a
>>> writer that does not support file series, which is not the case here.
>>> The problem is your VTk classes aren't getting compiled in/wrapped
>>> correctly. Let me check it out.
>>>
>>> On Wed, Oct 12, 2011 at 3:12 PM, Michael Jackson
>>> <mike.jackson at bluequartz.net> wrote:
>>>> What is this new XML tag?
>>>> si_class="vtkSIFileSeriesReaderProxy"
>>>>
>>>> This is one of the differences between my plugin and the plugins that come with ParaView. I still can not come up with why my plugin is failing.
>>>> --
>>>> Mike Jackson <www.bluequartz.net>
>>>>
>>>> On Oct 12, 2011, at 12:07 PM, Utkarsh Ayachit wrote:
>>>>
>>>>> Mike,
>>>>>
>>>>> Can you include the CMakeLists.txt?
>>>>>
>>>>> Utkarsh
>>>>>
>>>>> On Wed, Oct 12, 2011 at 10:40 AM, Michael Jackson
>>>>> <mike.jackson at bluequartz.net> wrote:
>>>>>> I have a custom reader plugin that I am trying to update for ParaView 3.12. Everything seems to compile OK and ParaView launches Ok. When I try to open one of my files I get the following:
>>>>>>
>>>>>> ERROR: In /Users/Shared/Kitware-CVS/ParaView/ParaViewCore/ServerImplementation/vtkSIProxy.cxx, line 240
>>>>>> vtkSISourceProxy (0x121a07e60): Failed to create vtkH5VizFileReader. Aborting for debugging purposes.
>>>>>>
>>>>>> Which is down in this section of the vtkSIProxy:
>>>>>>
>>>>>>  if (className && className[0])
>>>>>>    {
>>>>>>    this->SetVTKClassName(className);
>>>>>>    vtkObjectBase* obj = this->Interpreter->NewInstance(className);
>>>>>>    if (!obj)
>>>>>>      {
>>>>>>      vtkErrorMacro("Failed to create " << className
>>>>>>        << ". Aborting for debugging purposes.");
>>>>>>      abort();
>>>>>>      }
>>>>>>    this->VTKObject.TakeReference(obj);
>>>>>>    }
>>>>>>
>>>>>>
>>>>>> In my "Gui XML" code I have this:
>>>>>>   <Reader name="H5VizFileReader"
>>>>>>          extensions="ddviz"
>>>>>>          file_description="ParaDis Vizualization File Reader">
>>>>>>  </Reader>
>>>>>>
>>>>>> and in the Server Manager XML I have this:
>>>>>>  <!-- ************************************************************ -->
>>>>>>    <!-- MultiBlock Reader For the dd3d Vizualization Files (.ddviz extension) -->
>>>>>>    <!-- ************************************************************ -->
>>>>>>    <SourceProxy name="H5VizFileReader"
>>>>>>      class="vtkH5VizFileReader">
>>>>>>      <OutputPort name="Nodal Data" index="0" />
>>>>>>      <OutputPort name="Simulation Limits" index="1" />
>>>>>>      <OutputPort name="Glide Planes" index="2" />
>>>>>>      <OutputPort name="Node Density Vs Time" index="3" />
>>>>>>      <OutputPort name="Stress Vs. Total Strain" index="4">
>>>>>>
>>>>>>     </OutputPort>
>>>>>>      <StringVectorProperty name="FileName" command="SetFileName"
>>>>>>        number_of_elements="1">
>>>>>>        <FileListDomain name="files" />
>>>>>>      </StringVectorProperty>
>>>>>>
>>>>>>      <IntVectorProperty name="TimeStepRangeInfo"
>>>>>>        command="GetTimeStepRange" information_only="1">
>>>>>>        <SimpleIntInformationHelper />
>>>>>>      </IntVectorProperty>
>>>>>>
>>>>>>      <DoubleVectorProperty name="TimestepValues"
>>>>>>        information_only="1">
>>>>>>        <TimeStepsInformationHelper />
>>>>>>      </DoubleVectorProperty>
>>>>>>
>>>>>>      <IntVectorProperty name="Filter Glide Planes"
>>>>>>        command="SetFilterGlidePlanes" number_of_elements="1"
>>>>>>        default_values="0">
>>>>>>      <BooleanDomain name="Enable Glide Plane Filter"></BooleanDomain>
>>>>>>      <Documentation>
>>>>>>          Setting this value will filter the glide planes by the supplied
>>>>>>          index value. The values can NOT be less than Zero (0).
>>>>>>        </Documentation>
>>>>>>      </IntVectorProperty>
>>>>>>
>>>>>>      <IntVectorProperty name="Glide Plane Index"
>>>>>>        command="SetGlidePlaneIndex" number_of_elements="1"
>>>>>>        default_values="1">
>>>>>>        <Documentation>
>>>>>>          This is the value by which the glide planes will be filtered. The
>>>>>>          value should always be greater than 0.
>>>>>>        </Documentation>
>>>>>>      </IntVectorProperty>
>>>>>>
>>>>>>      <IntVectorProperty name="Filter Nodes By Glide Plane"
>>>>>>        command="SetFilterNodesByGlidePlane" number_of_elements="1"
>>>>>>        default_values="0">
>>>>>>      <BooleanDomain name="Filter Nodes By Glide Plane"></BooleanDomain>
>>>>>>       <Documentation>Filter the Nodes by a given glide plane index. This index
>>>>>>       is different than the above index.</Documentation>
>>>>>>      </IntVectorProperty>
>>>>>>
>>>>>>      <IntVectorProperty name="Nodal Glide Plane Index"
>>>>>>        command="SetNodalGlidePlaneIndex" number_of_elements="1"
>>>>>>        default_values="1">
>>>>>>        <Documentation>
>>>>>>          This is the value by which the glide planes will be filtered. The
>>>>>>          value should always be greater than 0.
>>>>>>        </Documentation>
>>>>>>      </IntVectorProperty>
>>>>>>
>>>>>>            <!-- This is the toggle for the SP111 variable.-->
>>>>>>      <IntVectorProperty name="Filter GPVoxels by 111 Slip Planes"
>>>>>>        command="SetSP111_GPVoxel_Filter" number_of_elements="1"
>>>>>>        default_values="0">
>>>>>>        <BooleanDomain name="bool" />
>>>>>>        <Documentation>
>>>>>>          When checked the filter will include VoxelData on the
>>>>>>          {111} slip plane
>>>>>>        </Documentation>
>>>>>>      </IntVectorProperty>
>>>>>>
>>>>>>      <!-- This is the toggle for the SPBar111 variable.-->
>>>>>>      <IntVectorProperty name="Filter GPVoxels by -111 Slip Planes"
>>>>>>        command="SetSPBar111_GPVoxel_Filter" number_of_elements="1"
>>>>>>        default_values="0">
>>>>>>        <BooleanDomain name="bool" />
>>>>>>        <Documentation>
>>>>>>          When checked the filter will include VoxelData on the
>>>>>>          {-111} slip plane
>>>>>>        </Documentation>
>>>>>>      </IntVectorProperty>
>>>>>>
>>>>>>      <!-- This is the toggle for the SP1Bar11 variable.-->
>>>>>>      <IntVectorProperty name="Filter GPVoxels by 1-11 Slip Planes"
>>>>>>        command="SetSP1Bar11_GPVoxel_Filter" number_of_elements="1"
>>>>>>        default_values="0">
>>>>>>        <BooleanDomain name="bool" />
>>>>>>        <Documentation>
>>>>>>          When checked the filter will include VoxelData on the
>>>>>>          {1-11} slip plane
>>>>>>        </Documentation>
>>>>>>      </IntVectorProperty>
>>>>>>
>>>>>>      <!-- This is the toggle for the SP11Bar1 variable.-->
>>>>>>      <IntVectorProperty name="Filter GPVoxels by 11-1 Slip Planes"
>>>>>>        command="SetSP11Bar1_GPVoxel_Filter" number_of_elements="1"
>>>>>>        default_values="0">
>>>>>>        <BooleanDomain name="bool" />
>>>>>>        <Documentation>
>>>>>>          When checked the filter will include VoxelData on the
>>>>>>          {11-1} slip plane
>>>>>>        </Documentation>
>>>>>>      </IntVectorProperty>
>>>>>>
>>>>>>      <DoubleVectorProperty name="Youngs Modulas"
>>>>>>        command="SetYoungsModulas" number_of_elements="1"
>>>>>>        default_values="200.0e9">
>>>>>>        <Documentation>
>>>>>>          This value will be used for the calculation of the Stress/Strain curves.
>>>>>>        </Documentation>
>>>>>>      </DoubleVectorProperty>
>>>>>>
>>>>>>    </SourceProxy>
>>>>>>
>>>>>> I have cleaned the build directory a few times in the hopes that there was something weird with the configuration/compilation but that did not seem to help. I have not been keeping up with the changes going on with ParaView lately so this is all new to me.
>>>>>>
>>>>>> Any help would be appreciated.
>>>>>>
>>>>>> Thanks
>>>>>> ___________________________________________________________
>>>>>> Mike Jackson                    Principal Software Engineer
>>>>>> BlueQuartz Software                            Dayton, Ohio
>>>>>> mike.jackson at bluequartz.net              www.bluequartz.net
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>>>
>>>>
>>>>
>>> _______________________________________________
>>> 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
>>
>>
>>
>> --
>> Cory Quammen
>> Research Associate
>> Department of Computer Science
>> The University of North Carolina at Chapel Hill
>
>
>
> --
> Cory Quammen
> Research Associate
> Department of Computer Science
> The University of North Carolina at Chapel Hill



-- 
Cory Quammen
Research Associate
Department of Computer Science
The University of North Carolina at Chapel Hill


More information about the ParaView mailing list