Thanks for the tip.  I'll try this out and let you know how it goes.

From: Utkarsh Ayachit 
<utkarsh.ayac...@kitware.com<mailto:utkarsh.ayac...@kitware.com>>
Date: Saturday, January 11, 2014 7:43 AM
To: "Scott, W Alan" <wasc...@sandia.gov<mailto:wasc...@sandia.gov>>
Cc: Nathan Fabian <ndfa...@sandia.gov<mailto:ndfa...@sandia.gov>>, 
"paraview@paraview.org<mailto:paraview@paraview.org>" 
<paraview@paraview.org<mailto:paraview@paraview.org>>
Subject: Re: [Paraview] [EXTERNAL] Client/Server connection problems

Nathan,

First, let me clarify what is "checked", since what Alan said isn't entirely 
correct.

What comprises the handshake?
========================

The handshake is a string of the following form:
     paraview.<MajorNumber>.<MinorNumber>
If a connect-id is specified then the handshake becomes:
     paraview.<MajorNumber>.<MinorNumber>.connect_id.<ConnectId>

The client and the root-server node exchange these strings. If either side 
concludes that they don't match, the connection is terminated.
To debug, you can put a "cout" in 
vtkTCPNetworkAccessManager::ConnectToRemove(), or 
vtkTCPNetworkAccessManager::ParaViewHandshake() call on both(or either) sides 
to print the relevant string.

How is the MajorNumber/MinorNumber determined?
=====================================

First, it's hardcoded in the top level CMakeLists.txt. Any time a version 
number changes, this is manually updated. So on "git/master", this will change 
when we changed from 4.0.1 to 4.1.0-RC1. Thus, even before the official release 
the version number has changed. This could explain why two builds from "git 
master" may not always work with each other.

Secondly, if the source repository is a git repository (nothing to do with 
whether it has access to the Internet), then the version is determined by using 
the git command "git describe". By making sure we "tag" the repository when the 
CMakeLists.txt change happens, we ensure that "git describe" results in version 
numbers of the form "<MajorNumber>.<MinorNumber>-<FOO>-<BAR>". We can ignore 
FOO/BAR for now. These are extra annotations that us determine exactly what  
source version you're using, esp when doing git/master builds.

The thing to note is that the handshake only uses the <MajorNumber> and 
<MinorNumber>. So even if your git/master checkouts are from slightly different 
points in history, they can work together (unless of course, the two checkout 
happened to be across a version number change).

Hope that clarifies things. Putting a cout in vtkTCPNetworkAccessManager and 
comparing the handshake strings would be a good start to debug this.

Utkarsh



On Fri, Jan 10, 2014 at 7:00 PM, Scott, W Alan 
<wasc...@sandia.gov<mailto:wasc...@sandia.gov>> wrote:
Then no, that isn't the issue.

One more thing to try - and I don't completely know how to do it.  (i.e., ask 
Kitware).  I believe that they now look at not just ParaView version numbers, 
but also git checkin "tags" or whatever it is called.  If the two trees are 
basically the same, and ANYONE touched the tree between pulls, that is your 
problem.  This has been an issue for me when one of the two (client or server) 
is behind a firewall, but the other can connect back to Kitware and find that 
git tag.  Make sure the source trees are exactly the same.

Alan

-----Original Message-----
From: Fabian, Nathan
Sent: Friday, January 10, 2014 4:57 PM
To: Scott, W Alan; paraview@paraview.org<mailto:paraview@paraview.org>
Subject: Re: [EXTERNAL] [Paraview] Client/Server connection problems

That sounded promising, but it doesn't appear to have worked.  I deleted 
everything under .config/ParaView and .config/Kitware on both machines, still 
getting the same error.

On 1/10/14 4:45 PM, "Scott, W Alan" 
<wasc...@sandia.gov<mailto:wasc...@sandia.gov>> wrote:

>Delete your configuration files.  Corrupt configuration files sometimes
>cause this.  Surprisingly, on one client of mine, the first connect
>works, the configuration file gets written, and you never get another
>successful connect using that configuration file.
>
>I haven't chased this down yes, hoping it goes away with the new version.
> But...
>
>If this is the problem, please let me know.  You may have an easier
>setup that we can use to get to the root cause of the problem.
>
>Alan
>
>-----Original Message-----
>From: paraview-boun...@paraview.org<mailto:paraview-boun...@paraview.org>
>[mailto:paraview-boun...@paraview.org<mailto:paraview-boun...@paraview.org>] 
>On Behalf Of Fabian, Nathan
>Sent: Friday, January 10, 2014 3:59 PM
>To: paraview@paraview.org<mailto:paraview@paraview.org>
>Subject: [EXTERNAL] [Paraview] Client/Server connection problems
>
>Hi,
>
>I've been trying to figure this one out for a few days and I'm finally
>giving in for help.
>
>I've got a code base on my server that should be a duplicate of the one
>on my desktop, built differently.  In one case I did pulls from master
>at the same time.  I've more recently just tried pulling directly from
>my desktop and building clean on both.  I've also tried disabling MPI
>on the desktop side and connecting without MPI on the server side.
>
>Still I'm getting the following message when trying to reverse connect:
>
>
>ERROR: In
>/projects/coprocessing/ParaView/ParaViewCore/ClientServerCore/Core/vtkT
>CPN
>e
>tworkAccessManager.cxx, line 330
>vtkTCPNetworkAccessManager (0x135a3150): Failed to connect to
>xyz.sandia.gov:11111<http://xyz.sandia.gov:11111>. Client-Server Handshake 
>failed. Please verify
>that the client and server versions are compatible with each other, and
>that 'connect-id', if any, matches.
>
>
>And then each attempt to connect gives this on the desktop:
>
>
>
>Accepting connection(s): xyz.sandia.gov:11111<http://xyz.sandia.gov:11111>
>
>
>Evidence that some sort of communication has worked.  This has worked
>with master builds in the past.  I'm not sure what I changed, but
>there's plenty I have that may have influenced this.
>
>Any suggestions on where to start looking?
>
>Thanks,
>Nathan.
>
>_______________________________________________
>Powered by www.kitware.com<http://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<http://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

Reply via email to