MantisBT - ParaView
View Issue Details
0007189ParaView(No Category)public2008-06-13 20:222009-05-13 13:59
Alan Scott 
Jon Goldman 
highmajoralways
closedfixed 
 
3.43.4 
0007189: Client/server connect ID flag is not random in Linux
The client/server connect ID flag is not random in Linux once again. As a speculation, it is probably being passed from run to run, as are the other parameters. This was probably broken due to resolving bug number 5487. This flag MUST be random.

To replicate, open ParaView, File/ Connect. Select a server. Notice the popup/ connect ID flag entry. It will be the same every time.

This is a show stopper for the 3.4 release.
No tags attached.
Issue History
2008-06-13 20:22Alan ScottNew Issue
2008-06-24 15:08Berk GeveciStatusbacklog => tabled
2008-06-24 15:08Berk GeveciAssigned To => Jon Goldman
2008-06-25 14:31Jon GoldmanNote Added: 0012523
2008-06-25 15:02Jon GoldmanNote Added: 0012524
2008-06-25 17:48Jon GoldmanNote Added: 0012527
2008-06-26 10:17Jon GoldmanNote Added: 0012530
2008-06-26 12:19Jon GoldmanNote Added: 0012539
2008-07-08 18:14Jon GoldmanNote Added: 0012663
2008-07-08 18:23Jon GoldmanNote Added: 0012664
2008-08-07 13:11Utkarsh AyachitNote Added: 0012957
2008-08-08 08:20Jon GoldmanNote Added: 0012970
2008-08-14 13:47Ken MorelandStatustabled => @80@
2008-08-14 13:47Ken MorelandResolutionopen => fixed
2008-08-21 21:44Alan ScottStatus@80@ => closed
2008-08-21 21:44Alan ScottNote Added: 0013149
2009-05-13 13:58Utkarsh AyachitTarget Version => 3.4
2009-05-13 13:59Utkarsh AyachitFixed in Version => 3.4
2011-06-16 13:10Zack GalbreathCategory => (No Category)

Notes
(0012523)
Jon Goldman   
2008-06-25 14:31   
After some investigation and with help from Alan Scott,

It looks like the $HOME/.config/ParaView/servers.pvsc file is getting the connect ID value written into the default field. For example, here is the Server section for our blackrose machine from my servers.pvsc file:

  <Server name="blackrose (reverse connection)" resource="csrc://blackrose1">
    <SavedOptions>
      <Options>
        <Option name="NODES" label="Number of Nodes">
          <Range type="int" min="1" max="78" step="1" default="1"/>
        </Option>
        <Option name="MINUTES" label="Number of Minutes">
          <Range type="int" min="1" max="3600" step="15" default="60"/>
        </Option>
        <Option name="ACCOUNT" label="Account">
          <String default="7656/06.01"/>
        </Option>
        <Option name="PV_CONNECT_ID" label="Connect ID">
          <Range type="int" min="1" max="99999999" step="1" default="78278099"/>
        </Option>
      </Options>
    </SavedOptions>
  </Server>

Since the PV_CONNECT_ID is getting set with a default of 78278099, that ID gets loaded at subsequent invocations.

I tried deleting the default from servers.pvsc, and that temporarily fixed the problem for the next run. But after ParaView ran, it put the default field back in and the new value, so the next run it was "broken" again.

I am not sure of the best way to fix this. It seems to me like a site-specific field, meaning that at Sandia we always want a random value, but that might not be true outside of Sandia.

Is there some already existing way to get the writer (whichever ParaView/VTK classes are responsible) to not write the "default" field just for PV_CONNECT_ID Range?

Another idea, if it doesn't already exist, would be to add a field, call it "random" or something to the Range element. For example something like this:

          <Range type="int" min="1" max="99999999" step="1" random="1" default="78278099"/>

which if set, always generate a random number instead of using the default.

well those are my thoughts of the moment, I will keep poking away at this.

-Jon.
(0012524)
Jon Goldman   
2008-06-25 15:02   
I just noticed that in other Servers the default value for the Range can be random, e.g. for angren:

  <Server name="angren (reverse connection)" resource="csrc://angren">
    <SavedOptions>
      <Options>
        <Option name="NODES" label="Number of Nodes">
          <Range type="int" min="1" max="128" step="1" default="1"/>
        </Option>
        <Option name="MINUTES" label="Number of Minutes">
          <Range type="int" min="1" max="3600" step="15" default="60"/>
        </Option>
        <Option name="PV_CONNECT_ID" label="Connect ID">
          <Range type="int" min="1" max="99999999" step="1" default="random"/>
        </Option>
      </Options>
    </SavedOptions>
  </Server>

So I guess it begs the question as to why blackrose is not random?
(0012527)
Jon Goldman   
2008-06-25 17:47   
Another thing--

The default_servers.pvsc file (at least the one for ParaView 3.2.1) has this for blackrose's PV_CONNECT_ID option:

    <Option name="PV_CONNECT_ID" label="Connect ID">
     <Range type="int" min="1" max="99999999" step="1" default="random" />
    </Option>


So, apparently the default is set correctly, just that when servers.pvsc gets saved out it saves out the numeric value, instead of the string: "random"
(0012530)
Jon Goldman   
2008-06-26 10:17   
I have "re-discovered" (for myself) the Wiki page: http://paraview.org/Wiki/Server_Configuration [^] :-)

I am hoping that we can just use existing functionality to solve this problem.

more to come...
(0012539)
Jon Goldman   
2008-06-26 12:19   
I tried adding the "readonly" attribute to the PV_CONNECT_ID Option, e.g.:

    <Option name="PV_CONNECT_ID" label="Connect ID" readonly="true">
      <Range type="int" min="1" max="99999999" step="1" default="random"/>
    </Option>


but ParaView still saves out the numeric value, from the previous invocation, into servers.pvsc. So the next time ParaView is run it reads in the numeric value and repeats the connect ID.

At this point I am thinking that the simplest fix will be to just honor the readonly="true" attribute upon save (of servers.pvsc).

I need to leave in about an hour, and will be out-of-office, probably not working on this again until week of July 7. Hopefully this won't hold up the 3.4 release. If it does, or is perceived it will, this bug should be re-assigned to somebody else.

-Jon
(0012663)
Jon Goldman   
2008-07-08 18:14   
This bug should be resolved once I check in a fix to ParaView3/Qt/Components/pqSimpleServerStartup.cxx.

It now honors the readonly="true" attribute.
(0012664)
Jon Goldman   
2008-07-08 18:23   
I forgot to show a sample. For example, for Blackrose (at Sandia), if you use the readonly="true" attribute for the PV_CONNECT_ID, inside the default_server.pvsc file like this:

    <Option name="PV_CONNECT_ID" label="Connect ID" readonly="true">
      <Range type="int" min="1" max="99999999" step="1" default="random"/>
    </Option>

The PV_CONNECT_ID should be "random" for each invocation, i.e. each time a connect to server is performed. When ParaView3 exits, the servers.pvsc file should now get written with the same settings.
(0012957)
Utkarsh Ayachit   
2008-08-07 13:11   
Should this be marked resolved?
(0012970)
Jon Goldman   
2008-08-08 08:20   
I think the bug is fixed, but Alan Scott should probably test and confirm the 'readonly="true"' works when ParaView3 is deployed in production at Sandia.
(0013149)
Alan Scott   
2008-08-21 21:44   
Tested client/server with lisa8.