[Paraview-developers] BUILD_SHARED_LIBS=OFF and plugins in 4.2.0 rc1

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Fri Sep 19 19:58:17 EDT 2014


Burlen,

You did rebuild both the client and the server right? You could not
get the same segfault anymore due to this change [1]. The code short
circuits when loading a shared lib. The segfault was a happening
because the plugin.so from the shared build was being loaded.

LoadPlugin() takes the filename indeed. For static builds, however,
the filename reported for the distributed plugins is just their name
itself. I need to clean that up, but didn't want to make those changes
so close to the release. I'll refactor that piece of code for 4.3.
Plugin cleanups are long overdue :).

[1] http://review.source.kitware.com/#/c/17131/1/ParaViewCore/ClientServerCore/Core/vtkPVPluginLoader.cxx

On Fri, Sep 19, 2014 at 7:53 PM, Burlen Loring <burlen.loring at gmail.com> wrote:
> Thanks Utkarsh,
>
> I tested the patch but still had a segv.
>
> Re: plugins in static linked server, how are they loaded from pvbatch? Does
> LoadPlugin call (which takes a file name) work?
>
>
> On 09/19/2014 11:30 AM, Utkarsh Ayachit wrote:
>>
>> Burlen,
>>
>> There are the fixes that should address both the static pvserver not
>> finding ".plugins" as well as the issue on your local workstation.
>>
>> http://review.source.kitware.com/#/t/4692
>>
>> For the latter, this is more of an hack, but I'll have that addressed
>> properly for 4.3.
>>
>> Utkarsh
>>
>>
>> On Fri, Sep 19, 2014 at 12:05 PM, Burlen Loring <burlen.loring at gmail.com>
>> wrote:
>>>
>>> Thanks for looking into that, and thanks for fixing the .plugins issue!
>>> The
>>> updated static plugin support in 4.2 is great!
>>>
>>>
>>> On 09/19/2014 08:31 AM, Utkarsh Ayachit wrote:
>>>>
>>>> I spoke too soon, grrrr :~/.
>>>>
>>>> Utkarsh
>>>>
>>>> On Fri, Sep 19, 2014 at 11:27 AM, Utkarsh Ayachit
>>>> <utkarsh.ayachit at kitware.com> wrote:
>>>>>
>>>>> Burlen,
>>>>>
>>>>> I was also able to reproduce the same segfault you're getting on your
>>>>> workstation. It seems to be a problem with incremental builds for the
>>>>> static build. A clean build (starting with an empty directory)
>>>>> addressed the problem for me.
>>>>>
>>>>> Utkarsh
>>>>>
>>>>> On Fri, Sep 19, 2014 at 9:49 AM, Utkarsh Ayachit
>>>>> <utkarsh.ayachit at kitware.com> wrote:
>>>>>>
>>>>>> Ah! I know why it's looking for .plugins in the wrong place. I'll push
>>>>>> a fix, Thanks!
>>>>>>
>>>>>> Utkarsh
>>>>>>
>>>>>> On Thu, Sep 18, 2014 at 7:48 PM, Burlen Loring
>>>>>> <burlen.loring at gmail.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> Hi Utkarsh,
>>>>>>>
>>>>>>> I updated to master on both Cray and workstation.
>>>>>>>
>>>>>>> On the Cray the .plugins file is installed in lib/paraview-4.2. The
>>>>>>> PV_PLUGIN_DEBUG output shows that it's expected to be in bin or lib.
>>>>>>> Cp'ing
>>>>>>> the file into the bin dir fixed that issue, I was able to load and
>>>>>>> use
>>>>>>> a
>>>>>>> plugin!!
>>>>>>>
>>>>>>> The issues on the Cray and my workstation seem to be unrelated. On
>>>>>>> the
>>>>>>> workstation I'm seeing the same segv after updating to master. Now it
>>>>>>> happens in both build and install during connection. From the stack
>>>>>>> it
>>>>>>> looks
>>>>>>> unrelated to plugins. Happily I don't need the static build on my
>>>>>>> workstation, so it's not a huge issue.
>>>>>>>
>>>>>>> Burlen
>>>>>>>
>>>>>>>
>>>>>>> On 09/18/2014 02:36 PM, Utkarsh Ayachit wrote:
>>>>>>>>
>>>>>>>> Burlen,
>>>>>>>>
>>>>>>>> A few things:
>>>>>>>> + RGBZView should not be autoloaded since 6575a800a . That happened
>>>>>>>> after RC1, I'm afraid.
>>>>>>>> + The server would still need a .plugins file (which should be
>>>>>>>> autogenerated). Can you verify such a file exists on the Cray? Also,
>>>>>>>> try running with PV_PLUGIN_DEBUG set. It should print more info. I
>>>>>>>> get
>>>>>>>> the following with my static build:
>>>>>>>>
>>>>>>>>>     PV_PLUGIN_DEBUG=1 ./bin/pvserver
>>>>>>>>
>>>>>>>> Locate and load distributed plugin list.
>>>>>>>> Looking for static plugin '.plugins'
>>>>>>>> Loading plugin configuration xml:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> /home/kitware/Dashboards/MyTests/NightlyNext/ParaView-Debug-Static/bin/.plugins
>>>>>>>> Trying to locate plugin with name: SLACTools
>>>>>>>> Looking for static plugin 'SLACTools'
>>>>>>>> Found static plugin 'SLACTools'
>>>>>>>> --- Found SLACTools
>>>>>>>> ....
>>>>>>>> Static build. Skipping PLUGIN_PATHS.Waiting for client...
>>>>>>>> Connection URL: cs://blight:11111
>>>>>>>> Accepting connection(s): blight:11111
>>>>>>>>
>>>>>>>> I'm not sure what the RGBZView issue on your workstation is. Mind
>>>>>>>> updating to git/master on your workstation to see if the problem
>>>>>>>> persists? Actually, if it's only failing for RGBZView, it's less of
>>>>>>>> a
>>>>>>>> concern than if fails for other plugins too.
>>>>>>>>
>>>>>>>> Utkarsh
>>>>>>>>
>>>>>>>> On Thu, Sep 18, 2014 at 5:05 PM, Burlen Loring
>>>>>>>> <burlen.loring at gmail.com>
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Hi Utkarsh,
>>>>>>>>>
>>>>>>>>> Good, glad it's still supported! There seem to be some issues
>>>>>>>>> though.
>>>>>>>>>
>>>>>>>>> On the Cray the remote plugin list is empty except for
>>>>>>>>> vtkPVLPuginInitializer. RGBZView is automatically loaded on the
>>>>>>>>> client
>>>>>>>>> but
>>>>>>>>> not the server and thus as soon as the server connects the plugin
>>>>>>>>> manager
>>>>>>>>> opens to report the issue. The remote plugin list is empty.
>>>>>>>>> Browsing
>>>>>>>>> to
>>>>>>>>> the
>>>>>>>>> install and loading  the plugin doesn't work. it's a .a file so I'm
>>>>>>>>> not
>>>>>>>>> surprised. Judging from what I see on my workstation, the remote
>>>>>>>>> plugin
>>>>>>>>> list
>>>>>>>>> should be populated right?
>>>>>>>>>
>>>>>>>>> I've been trying to reproduce it locally on my workstation. I have
>>>>>>>>> different
>>>>>>>>> problems. The remote plugin list is fully populated and RGBZView
>>>>>>>>> loads on
>>>>>>>>> both sides. But when I try to load a plugin  via "load selected"
>>>>>>>>> ParaView
>>>>>>>>> crashes(stack below). That's running from the build. When I try the
>>>>>>>>> same
>>>>>>>>> on
>>>>>>>>> an install the server segv's as soon as I connect. The stack is the
>>>>>>>>> same
>>>>>>>>> as
>>>>>>>>> the in-build crash.
>>>>>>>>>
>>>>>>>>> By the way this is in client-server mode the server is built with
>>>>>>>>> sahred
>>>>>>>>> libs off, with mpi and python and without qt.
>>>>>>>>>
>>>>>>>>> Burlen
>>>>>>>>>
>>>>>>>>> on local linux workstation, client server, server built without qt,
>>>>>>>>> with
>>>>>>>>> python and mpi
>>>>>>>>> Program received signal SIGSEGV, Segmentation fault.
>>>>>>>>> 0x00000000037a44ff in vtkProcessModule::PopActiveSession (this=0x0,
>>>>>>>>> session=0xb4880b0) at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/ParaViewCore/ClientServerCore/Core/vtkProcessModule.cxx:473
>>>>>>>>> 473       if (this->Internals->ActiveSessionStack.back() !=
>>>>>>>>> session)
>>>>>>>>>
>>>>>>>>> (gdb) where
>>>>>>>>> #0  0x00000000037a44ff in vtkProcessModule::PopActiveSession
>>>>>>>>> (this=0x0,
>>>>>>>>> session=0xb4880b0) at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/ParaViewCore/ClientServerCore/Core/vtkProcessModule.cxx:473
>>>>>>>>> #1  0x00000000037f6d94 in vtkSession::DeActivate (this=0xb4880b0)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/ParaViewCore/ClientServerCore/Core/vtkSession.cxx:39
>>>>>>>>> #2  0x00000000034a01c5 in vtkPVSessionBase::ExecuteStream
>>>>>>>>> (this=0xb4880b0,
>>>>>>>>> location=21, stream=..., ignore_errors=false) at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/ParaViewCore/ServerImplementation/Core/vtkPVSessionBase.cxx:170
>>>>>>>>> #3  0x00000000034ac735 in
>>>>>>>>> vtkPVSessionServer::OnClientServerMessageRMI
>>>>>>>>> (this=0xb4880b0, message=0xbc82030, message_length=16) at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/ParaViewCore/ServerImplementation/Core/vtkPVSessionServer.cxx:552
>>>>>>>>> #4  0x00000000034aa8f8 in (anonymous namespace)::RMICallback
>>>>>>>>> (localArg=0xb4880b0, remoteArg=0xbc82030, remoteArgLength=16) at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/ParaViewCore/ServerImplementation/Core/vtkPVSessionServer.cxx:56
>>>>>>>>> #5  0x000000000489d3c4 in vtkMultiProcessController::ProcessRMI
>>>>>>>>> (this=0xbc79460, remoteProcessId=1, arg=0xbc82030, argLength=16,
>>>>>>>>> rmiTag=55625) at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/VTK/Parallel/Core/vtkMultiProcessController.cxx:774
>>>>>>>>> #6  0x000000000489cf98 in vtkMultiProcessController::ProcessRMIs
>>>>>>>>> (this=0xbc79460, reportErrors=0, dont_loop=1) at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/VTK/Parallel/Core/vtkMultiProcessController.cxx:720
>>>>>>>>> #7  0x00000000037f8ae7 in
>>>>>>>>> vtkTCPNetworkAccessManager::ProcessEventsInternal
>>>>>>>>> (this=0xb461a70, timeout_msecs=0, do_processing=true) at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/ParaViewCore/ClientServerCore/Core/vtkTCPNetworkAccessManager.cxx:268
>>>>>>>>> #8  0x00000000037f868a in vtkTCPNetworkAccessManager::ProcessEvents
>>>>>>>>> (this=0xb461a70, timeout_msecs=0) at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /work/ParaView/ParaView/ParaViewCore/ClientServerCore/Core/vtkTCPNetworkAccessManager.cxx:165
>>>>>>>>> #9  0x0000000001c6d896 in RealMain (argc=1, argv=0x7fff33cd48f8,
>>>>>>>>> type=vtkProcessModule::PROCESS_SERVER) at
>>>>>>>>> /work/ParaView/ParaView/CommandLineExecutables/pvserver_common.h:91
>>>>>>>>> #10 0x0000000001c6d94f in main (argc=1, argv=0x7fff33cd48f8) at
>>>>>>>>> /work/ParaView/ParaView/CommandLineExecutables/pvserver.cxx:27
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 09/18/2014 05:37 AM, Utkarsh Ayachit wrote:
>>>>>>>>>>
>>>>>>>>>> Yes, you need to load them manually, however. They are no longer
>>>>>>>>>> auto-loaded.
>>>>>>>>>>
>>>>>>>>>> http://www.paraview.org/Bug/view.php?id=14542
>>>>>>>>>>
>>>>>>>>>> Utkarsh
>>>>>>>>>>
>>>>>>>>>> On Wed, Sep 17, 2014 at 7:35 PM, Burlen Loring
>>>>>>>>>> <burlen.loring at gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi All,
>>>>>>>>>>>
>>>>>>>>>>> I'm having trouble with our NERSC install, plugins don't seem to
>>>>>>>>>>> be
>>>>>>>>>>> working
>>>>>>>>>>> at all.  Should plugins work with BUILD_SHARED_LIBS=OFF in 4.2?
>>>>>>>>>>>
>>>>>>>>>>> Burlen
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Paraview-developers mailing list
>>>>>>>>>>> Paraview-developers at paraview.org
>>>>>>>>>>> http://public.kitware.com/mailman/listinfo/paraview-developers
>>>>>>>>>
>>>>>>>>>
>


More information about the Paraview-developers mailing list