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

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Fri Sep 19 20:08:00 EDT 2014


Anycayse, the problem is indeed stemming from a bug that Jean and Alan
reported earlier about plugins
(http://www.paraview.org/Bug/view.php?id=14732).

I am going to target this for 4.2.1. Cleaning this up properly may
take a little more love and care.

Utkarsh

On Fri, Sep 19, 2014 at 7:58 PM, Utkarsh Ayachit
<utkarsh.ayachit at kitware.com> wrote:
> 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