[Paraview-developers] Resolve (paraview) dependencies of plugin
hermann.detz at gmail.com
hermann.detz at gmail.com
Thu Mar 1 09:21:38 EST 2018
I started with a version that worked for an older Paraview Version and
modified it to my needs. I also split the source code in multiple files
and added them within the SOURCES line.
INCLUDE(${PARAVIEW_USE_FILE})
ADD_PARAVIEW_PLUGIN(PluginName "2.0"
SERVER_MANAGER_XML PluginName.xml
SERVER_MANAGER_SOURCES PluginReader.cxx
SOURCES SourceA.cxx SourceB.cxx
REQUIRED_ON_SERVER)
This is the only GetXMLs call I found:
void PluginName_Plugin::GetXMLs(std::vector<std::string> &xmls)
{
PushBack(xmls, PluginNamePluginNameInterfaces);
(void)xmls;
}
Here is a stripped version of the XML file (Sorry for camouflaging it):
<ServerManagerConfiguration>
<ProxyGroup name="sources">
<SourceProxy class="PluginName" name="PluginName" >
<Documentation
short_help= "Read ..."
long_help = "Read ...">
Some text
</Documentation>
<StringVectorProperty
number_of_elements="1"
animateable="0"
name="FileName"
command="SetFileName">
<FileListDomain name="files" />
<Documentation>
Filename for plugin
</Documentation>
</StringVectorProperty>
<Hints>
<ReaderFactory extensions="abc xyz"
file_description="some files (Plugin)" />
</Hints>
</SourceProxy>
</ProxyGroup>
</ServerManagerConfiguration>
The only thing that looks suspicious to me is that in the argument of
the PushBack call PluginName appears concatenated twice. But like I
said, it's compiling fine and working on the development PC, so I guess
the code can't be too wrong. Sounds more like linking issues to me.
Hermann
On Thu, 2018-03-01 at 09:03 -0500, Ben Boeckel wrote:
> On Thu, Mar 01, 2018 at 14:43:49 +0100, hermann.detz at gmail.com wrote:
> > Thread 1 "paraview" received signal SIGSEGV, Segmentation fault.
> > __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:62
> > 62 ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file
> > or
> > directory.
> > (gdb) bt
> > #0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-
> > avx2.S:62
> > #1 0x00007fffe6349e2c in vtkXMLParser::ParseBuffer(char const*) ()
> > from /ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/paraview-
> > 5.4/libvtkIOXMLParser-pv5.4.so.1
> > #2 0x00007fffe634ad1d in vtkXMLParser::ParseXML() ()
> > from /ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/paraview-
> > 5.4/libvtkIOXMLParser-pv5.4.so.1
> > #3 0x00007fffe634a23a in vtkXMLParser::Parse() ()
> > from /ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/paraview-
> > 5.4/libvtkIOXMLParser-pv5.4.so.1
> > #4 0x00007fffe6349b48 in vtkXMLParser::Parse(char const*) ()
> > from /ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/paraview-
> > 5.4/libvtkIOXMLParser-pv5.4.so.1
> > #5 0x00007ffff38f0b9a in
> > vtkSIProxyDefinitionManager::LoadConfigurationXMLFromString(char
> > const*, bool) ()
> > from /ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/paraview-
> > 5.4/libvtkPVServerImplementationCore-pv5.4.so.1
> > #6 0x00007ffff38f0cd2 in
> > vtkSIProxyDefinitionManager::HandlePlugin(vtkPVPlugin*) ()
> > from /ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/paraview-
> > 5.4/libvtkPVServerImplementationCore-pv5.4.so.1
> > #7 0x00007ffff38f3299 in
> > vtkObject::vtkClassMemberCallback<vtkSIProxyDefinitionManager>::ope
> > rato
> > r()(vtkObject*, unsigned long, void*) ()
> > ---Type <return> to continue, or q <return> to quit---
> > from /ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/paraview-
> > 5.4/libvtkPVServerImplementationCore-pv5.4.so.1
> > #8 0x00007fffe1bfe6ac in vtkSubjectHelper::InvokeEvent(unsigned
> > long,
> > void*, vtkObject*) ()
> > from /ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/paraview-
> > 5.4/libvtkCommonCore-pv5.4.so.1
> > #9 0x00007ffff361b1f5 in
> > vtkPVPluginTracker::RegisterPlugin(vtkPVPlugin*) ()
> > from /ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/paraview-
>
> While not in your code, it is caused by it. From here, it appears as
> though ParaView is loading your plugin and trying to access some
> server
> manager XML content. That seems to be either not provided or is
> `NULL`.
> ParaView could probably be more robust against it, but this still
> seems
> like a plugin error.
>
> > It does not seem to come even to my custom code.
>
> Could you provide your `add_paraview_plugin` call for the plugin? It
> appears as though `GetXMLs` should be generated, so if you could find
> that in the build tree and provide it, that'd be useful as well.
>
> --Ben
More information about the Paraview-developers
mailing list