# vtkSocketCommunicator::GetVersion() mistmatch when client and server are both v5.11.1

**URL:** https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888
**Category:** ParaView Support
**Tags:** vtk
**Created:** [September 19, 2023, 9:08pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888 "2023-09-19T21:08:40Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![jgrime](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/47e85d/32.png) [@jgrime](https://discourse.paraview.org/u/jgrime)
#### Post date: [September 19, 2023, 9:08pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888/1 "2023-09-19T21:08:40Z")

</div>

I installed ParaView 5.11.1 in a Docker container running Ubuntu 20.04 as per the [build instructions](https://gitlab.kitware.com/paraview/paraview/blob/master/Documentation/dev/build.md). The resultant `pvserver` executable reports the following:

```auto
paraview_build/bin# ./pvserver --version
paraview version 5.11.1-1726-gecc6322fb4
paraview_build/bin#

```

When I try to connect to the server from a Windows client (v5.11.1) I get the dreaded “vtkSocketCommunicator::GetVersion()” mismatch on the handshake.

Looking at the Windows client, the “About” box states the vtk version is `9.2.20220823`.

The source code cloned into the Docker container has `#define VTK_VERSION_FULL "9.3.0.rc0-456-g6d8a780335"` in the `VTK/Common/Core/vtkVersionFull.h` file.

Is this the source of the error? If so, why does v5.11.1 on windows and built from source use different versions of VTK?

Thanks!

---

<div class="post-metadata">

### Author: ![Christos\_Tsolakis](https://discourse.paraview.org/user_avatar/discourse.paraview.org/christos_tsolakis/32/4450_2.png) [@Christos\_Tsolakis](https://discourse.paraview.org/u/Christos_Tsolakis)
#### Post date: [September 19, 2023, 9:25pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888/2 "2023-09-19T21:25:58Z")

</div>

If the executable in docker was build using the `master` branch while the windows executable was downloaded from the release page of , it will not work since the release is several commits older and thus results in a different version.

Few options:

- compile on windows the exact same commit you compiled in docker.
- download the linux executable of the same release version inside docker.

---

<div class="post-metadata">

### Author: ![jgrime](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/47e85d/32.png) [@jgrime](https://discourse.paraview.org/u/jgrime)
#### Post date: [September 19, 2023, 9:35pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888/3 "2023-09-19T21:35:02Z")

</div>

Hi Christos,

If they are several commits different, and are incompatible, why do they both report as v5.11.1?

I’m struggling to understand why ParaView v5.11.1 would be incompatible with ParaView v5.11.1.

---

<div class="post-metadata">

### Author: ![Christos\_Tsolakis](https://discourse.paraview.org/user_avatar/discourse.paraview.org/christos_tsolakis/32/4450_2.png) [@Christos\_Tsolakis](https://discourse.paraview.org/u/Christos_Tsolakis)
#### Post date: [September 19, 2023, 9:55pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888/4 "2023-09-19T21:55:37Z")

</div>

> [@jgrime](#):
>
> why do they both report as v5.11.1?

`v5.11.1` is the base version or “closest release to current state”.  
Based on your configuration the actual (full) version of ParaView in docker is `5.11.1-1726-gecc6322fb4` This name comes from `git describe` and it means that it is 1726 commits away from the latest tag which is `v5.11.1` and the current `HEAD` is at `gecc6322fb4`. Thus if your Windows executable is downloaded from the release page of 5.11.1 it is 1726 commits behind.

---

<div class="post-metadata">

### Author: ![jgrime](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/47e85d/32.png) [@jgrime](https://discourse.paraview.org/u/jgrime)
#### Post date: [September 19, 2023, 9:59pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888/5 "2023-09-19T21:59:50Z")

</div>

Aren’t point releases typically compatible with other point releases under the same major/minor version, let alone the _same_ point release?

---

<div class="post-metadata">

### Author: ![Christos\_Tsolakis](https://discourse.paraview.org/user_avatar/discourse.paraview.org/christos_tsolakis/32/4450_2.png) [@Christos\_Tsolakis](https://discourse.paraview.org/u/Christos_Tsolakis)
#### Post date: [September 19, 2023, 10:36pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888/6 "2023-09-19T22:36:31Z")

</div>

Just tested client-server connection on Linux between 5.11.0 and 5.11.1 and while they are compatible I do not expect this to be the case in general. This is why:

The error you see comes from [here](https://gitlab.kitware.com/vtk/vtk/-/blob/master/Parallel/Core/vtkSocketCommunicator.cxx#L461). And the hash is generated [here](https://gitlab.kitware.com/vtk/vtk/-/blob/master/Parallel/Core/CMakeLists.txt#L26) .

So, every time the `vtkSocketCommunicator.cxx` file is modified its hash changes and thus the two versions are not compatible any more.

---

<div class="post-metadata">

### Author: ![cory.quammen](https://discourse.paraview.org/user_avatar/discourse.paraview.org/cory.quammen/32/11193_2.png) [@cory.quammen](https://discourse.paraview.org/u/cory.quammen)
#### Post date: [September 20, 2023, 2:06pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888/7 "2023-09-20T14:06:07Z")

</div>

> [@jgrime](#):
>
> Aren’t point releases typically compatible with other point releases under the same major/minor version, let alone the _same_ point release?

Sorry for the confusion the v5.11.1 in your built Docker version number caused!

The v5.11.1 is a bit of a misnomer in your docker version of ParaView. We use the _last_ release version in the master build version for some information about which version of `master` this is, as Christos mentioned. But any version on the `master` branch after we created the v5.11.1 release can totally change VTK versions and communication protocols and hence not be compatible with the latest point release. Now, if your docker image has the version v5.11.0 or v5.11.1 installed, that should absolutely work with your Windows client. And if we release a v5.11.2, that version should also work.

If you want to build v5.11.1, you should `git checkout v5.11.1` in the ParaView source code right after cloning it. That should resolve any connection issues you have.

---

<div class="post-metadata">

### Author: ![jgrime](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/47e85d/32.png) [@jgrime](https://discourse.paraview.org/u/jgrime)
#### Post date: [September 20, 2023, 2:13pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888/8 "2023-09-20T14:13:51Z")

</div>

Thanks Christos, Corey.

I checked out the 5.11.1 “base” source code from the git repository during the Docker build and rebuilt the modules as indicated by the instructions - it works!

I’m a little bit nervous about the “should” in comments like “_And if we release a v5.11.2, that version should also work_” - I may eventually be supporting multiple ParaView users that connect to a central server, and it seems that I can’t actually know anything about what versions are compatible with one another unless and until something breaks?

Usually I’d try to infer this from e.g. the point release numbers, but it seems that approach may be essentially useless where ParaView is concerned?

---

<div class="post-metadata">

### Author: ![cory.quammen](https://discourse.paraview.org/user_avatar/discourse.paraview.org/cory.quammen/32/11193_2.png) [@cory.quammen](https://discourse.paraview.org/u/cory.quammen)
#### Post date: [September 20, 2023, 8:16pm UTC](https://discourse.paraview.org/t/vtksocketcommunicator-getversion-mistmatch-when-client-and-server-are-both-v5-11-1/12888/9 "2023-09-20T20:16:14Z")

</div>

ParaView versions with the same major and minor numbers **will be** compatible. Full stop.
