m.c.wilkins | 1 Jun 03:06 2010
Picon
Picon

Re: GetSources() fails with Custom Filters


Hi,

I just built paraview from the latest git repo, same as with 3.8.0.

OK, so I must be doing something wrong with my Custom Filter.  Or did
you not try the GetSources() before doing a restart with paraview?

Matt Wilkins

On Tue, Jun 01, 2010 at 08:57:14AM +1200, m.c.wilkins <at> massey.ac.nz wrote:
> 
> Hi,
> 
> Perhaps I am doing something wrong, because I am getting different
> behaviour to you Utkarsh.
> 
> I have not tried the current git-master, just 3.6.2 and 3.8.0.
> 
> With 3.8.0 GetSources() only works if I make the custom filter, then
> restart paraview and apply it.  If I apply the custom filter
> immediately after making it, GetSources() craps out with the KeyError
> as below.
> 
> With 3.6.2 GetSources() always craps out, regardless of whether I
> restart paraview or not.
> 
> To make the custom filter I just make two filters, select them both,
> go to Tools -> Create Custom Filter, give it a name, then hit Next
> Next Finished.  I don't do anything more than that.  Is there some
(Continue reading)

Jérôme | 1 Jun 07:57 2010
Picon

Enabling vtkSplineFilter in ParaView

Hi,

I was able to enable the vtkSplineFilter in ParaView-3.7 with the
attached ServerManager XML. But with the current 3.9, I am having a
segfault after the filter updates. Here is the WinXP32 call stack
after the segfault :

 	ntdll.dll!7c91120e() 	
 	[Les frames ci-dessous sont peut-être incorrects et/ou manquants,
aucun symbole chargé pour ntdll.dll]
 	msvcr90d.dll!102d528b() 	
 	msvcr90d.dll!102d5ef9() 	
 	msvcr90d.dll!102c103e() 	
 	msvcr90d.dll!1023d496() 	
 	msvcr90d.dll!102cff17() 	
 	msvcr90d.dll!102cff0e() 	
 	msvcr90d.dll!102cfb2f() 	
 	msvcr90d.dll!102cfadc() 	
 	msvcr90d.dll!102db25b() 	
 	QtCored4.dll!qMalloc(unsigned int size=48)  Ligne 55 + 0xa octets	C++
 	QtCored4.dll!QVectorData::allocate(int size=48, int alignment=4)
Ligne 67 + 0x28 octets	C++
 	QtGuid4.dll!QVector<QScriptItem>::malloc(int aalloc=1696132182)
Ligne 391 + 0x23 octets	C++
 	00e084c8()	
 	msvcr90d.dll!1023d496() 	
 	msvcr90d.dll!102d3261() 	
 	msvcr90d.dll!102d3258() 	
	QtGuid4.dll!QSpanData::adjustSpanMethods()  Ligne 5143 + 0xf octets	C++
 	QtGuid4.dll!QSpanData::setup(const QBrush & brush={...}, int
(Continue reading)

liuning | 1 Jun 13:16 2010
Picon

Re: Multi-Threading issues

Hi Biddiscombe,


I do a similar thing. But I use a Qt thread instead of a timer. The thread controls the entire progress. I define a iteration steps in the thread, e.g.,1024. In each iteration, the thread triggers the slot accept() method (in ParaView3/Qt/Components/pqObjectInspectorWidget), in which the pipeline is forced to update, then the source will call its RequestData() method and invoke the simulation program to get the data. Maybe it is more appropriate to let the simulation the control the entire progress, that is, when one step simulation is done, then it will notify the ParaView to do the corresponding rendering stuff. I just do it in the reverse way, because it is easier to implement. 

========================

//the added thread class

pqSimulationThread::pqSimulationThread(pqObjectInspectorWidget* _gui){
this->gui=_gui;
connect(this,SIGNAL(oneStepSimulationFinished()),this->gui,SLOT(accept()));
}

pqSimulationThread::~pqSimulationThread(){
}

void pqSimulationThread::run(){

for(int i=0;i<NUM_ITERATION;i++){
emit this->oneStepSimulationFinished();

//for synchronization
mutex.lock();
renderringFinishedCondatin.wait(&mutex);
mutex.unlock();
}
}

=======================

// in the method accept() of pqObjectInspectorWidget

//force the pipeline to update
// i add a property to the source 
//and any filters used will need this property too

source->pqProxy::setModifiedState(pqProxy::MODIFIED);
vtkSMSourceProxy * vp  = vtkSMSourceProxy::SafeDownCast(source->getProxy());
vp->InvokeCommand("FakePropertyForUpdate");

=======================

Then do some other little changes it will work with the simulation program. I hope this can be of some help.

By the way, I hate the added property "FakePropertyForUpdate" , but I do not know how to remove it . I have tried many other methods to force the pipeline to update but got nothing good. And I also want to change the logic to be more natural, that is, let the simulation program to control the whole progress. I appreciate any help from anybody.

Thanks.

-Ning

On Tue, Jun 1, 2010 at 3:06 AM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:
Utkarsh

> It is possible that the timer times out in middle of a progress event
> which happens while filters are executing.


OK. This we have detected, though what progress is going on I'm unsure about (!) - by which I mean that the only thing paraview should be doing is updating our stuff and we block more updates whilst one is happening.

Question : Is there a mutex of any kind on the update vtk objects, or update pipeline stuff which we can make use of to ensure that only one pull from the server occurs at any given time?

JB
_______________________________________________
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

<div>
<p>Hi&nbsp;Biddiscombe,</p>
<div><br></div>
<div>I do a similar thing. But I use a Qt thread instead of a timer. The thread controls the entire progress. I define a iteration steps in the thread, e.g.,1024. In each iteration, the thread triggers the slot accept() method (in ParaView3/Qt/Components/pqObjectInspectorWidget), in which the pipeline is forced to update, then the source will call its RequestData() method and invoke the simulation program to get the data. Maybe it is more appropriate to let the simulation the control the entire progress, that is, when one step simulation is done, then it will notify the ParaView to do the corresponding rendering stuff. I just do it in the reverse way, because it is easier to implement.&nbsp;</div>
<div><br></div>
<div>========================</div>
<div><br></div>
<div>//the added thread class</div>
<div><br></div>
<div>
<div>pqSimulationThread::pqSimulationThread(pqObjectInspectorWidget* _gui){</div>
<div>
<span class="Apple-tab-span">	</span>this-&gt;gui=_gui;</div>
<div>
<span class="Apple-tab-span">	</span>connect(this,SIGNAL(oneStepSimulationFinished()),this-&gt;gui,SLOT(accept()));</div>
<div>}</div>
<div><br></div>
<div>pqSimulationThread::~pqSimulationThread(){</div>
<div>}</div>
<div><br></div>
<div>void pqSimulationThread::run(){</div>
<div><br></div>
<div>
<span class="Apple-tab-span">	</span>for(int i=0;i&lt;NUM_ITERATION;i++){</div>
<div>
<span class="Apple-tab-span">		</span>emit this-&gt;oneStepSimulationFinished();</div>
<div><br></div>
<div>
<span class="Apple-tab-span">		</span>//for synchronization</div>
<div>
<span class="Apple-tab-span">		</span>mutex.lock();</div>
<div>
<span class="Apple-tab-span">		</span>renderringFinishedCondatin.wait(&amp;mutex);</div>
<div>
<span class="Apple-tab-span">		</span>mutex.unlock();</div>
<div>
<span class="Apple-tab-span">	</span>}</div>
<div>}</div>
</div>
<div><br></div>
<div>=======================</div>
<div><br></div>
<div>// in the method accept() of&nbsp;pqObjectInspectorWidget</div>
<div><br></div>
<div>//force the pipeline to update</div>
<div>// i add a property to the source&nbsp;</div>
<div>//and any filters used will need this property too</div>
<div><br></div>
<div>
<div>source-&gt;pqProxy::setModifiedState(pqProxy::MODIFIED);</div>
<div>vtkSMSourceProxy * vp &nbsp;= vtkSMSourceProxy::SafeDownCast(source-&gt;getProxy());</div>
<div>vp-&gt;InvokeCommand("FakePropertyForUpdate");</div>
</div>
<div><br></div>
<div>=======================</div>
<div><br></div>
<div>Then do some other little changes it will work with the simulation program. I hope this can be of some help.</div>
<div><br></div>
<div>By the way, I hate the added property "FakePropertyForUpdate" , but I do not know how to remove it . I have tried many other methods to force the pipeline to update but got nothing good. And I also want to change the logic to be more natural, that is, let the simulation program to control the whole progress. I appreciate any help from anybody.</div>
<div><br></div>
<div>Thanks.</div>
<div><br></div>
<div>-Ning<br><br><div class="gmail_quote">On Tue, Jun 1, 2010 at 3:06 AM, Biddiscombe, John A. <span dir="ltr">&lt;<a href="mailto:biddisco <at> cscs.ch">biddisco <at> cscs.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote">Utkarsh<br><div class="im">
<br>
&gt; It is possible that the timer times out in middle of a progress event<br>
&gt; which happens while filters are executing.<br><br><br>
</div>OK. This we have detected, though what progress is going on I'm unsure about (!) - by which I mean that the only thing paraview should be doing is updating our stuff and we block more updates whilst one is happening.<br><br>
Question : Is there a mutex of any kind on the update vtk objects, or update pipeline stuff which we can make use of to ensure that only one pull from the server occurs at any given time?<br><br>
JB<br><div>
<div></div>
<div class="h5">_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br><br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br><br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br><br>
Follow this link to subscribe/unsubscribe:<br><a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
Jérôme | 1 Jun 13:47 2010
Picon

Re: Enabling vtkSplineFilter in ParaView

Hi again !

I tried to replace the SplineFilter with a ProgrammableFilter
containing the following script :

input = self.GetInput()
splineFilter = vtk.vtkSplineFilter()
splineFilter.SetInput( input )
splineFilter.SetSubdivideToLength()
splineFilter.SetLength( 1 )
splineFilter.Update( )
self.GetOutput().DeepCopy(splineFilter.GetOutput())

This way, I am able to get a spline-based resampling. It means that my
XML description contains an error, but I cannot find it.

Jerome

2010/6/1 Jérôme <jerome.velut <at> gmail.com>:
> Hi,
>
> I was able to enable the vtkSplineFilter in ParaView-3.7 with the
> attached ServerManager XML. But with the current 3.9, I am having a
> segfault after the filter updates. Here is the WinXP32 call stack
> after the segfault :
>
>        ntdll.dll!7c91120e()
>        [Les frames ci-dessous sont peut-être incorrects et/ou manquants,
> aucun symbole chargé pour ntdll.dll]
>        msvcr90d.dll!102d528b()
>        msvcr90d.dll!102d5ef9()
>        msvcr90d.dll!102c103e()
>        msvcr90d.dll!1023d496()
>        msvcr90d.dll!102cff17()
>        msvcr90d.dll!102cff0e()
>        msvcr90d.dll!102cfb2f()
>        msvcr90d.dll!102cfadc()
>        msvcr90d.dll!102db25b()
>        QtCored4.dll!qMalloc(unsigned int size=48)  Ligne 55 + 0xa octets       C++
>        QtCored4.dll!QVectorData::allocate(int size=48, int alignment=4)
> Ligne 67 + 0x28 octets  C++
>        QtGuid4.dll!QVector<QScriptItem>::malloc(int aalloc=1696132182)
> Ligne 391 + 0x23 octets C++
>        00e084c8()
>        msvcr90d.dll!1023d496()
>        msvcr90d.dll!102d3261()
>        msvcr90d.dll!102d3258()
>        QtGuid4.dll!QSpanData::adjustSpanMethods()  Ligne 5143 + 0xf octets     C++
>        QtGuid4.dll!QSpanData::setup(const QBrush & brush={...}, int
> alpha=1697441976, QPainter::CompositionMode compositionMode=284019584)
>  Ligne 5095     C++
>        10edcb80()
>        QtGuid4.dll!blend_color_argb(int count=-1, const QT_FT_Span_ *
> spans=0x00e08ae8, void * userData=0x10edcb88)  Ligne 3082       C++
>        QtGuid4.dll!qt_span_fill_clipRect(int count=14715600, const
> QT_FT_Span_ * spans=0x00e10b34, void * userData=0x652d84e8)  Ligne
> 4714 + 0x14 octets      C++
>        00e08ac8()
>
> Note that I also get this segfault in Fedora 12.
>
> I certainly missed something in the XML that was not fatal with the
> previous PV version. Please, could someone take a look at my XML, try
> it and tell if this is reproducible?
>
> Thanks a lot!
> Jerome
>
rhushabh | 1 Jun 15:47 2010
Picon

Re: [*] Re: [*] Build problem

Hi,
The error related to command prompt was removed.
But now during building I am getting 80% of the projects as failed with
many types of errors.

Please could you give me the exact link (other than the wiki page for
build and install) to build it from scratch again.
The specifications of my computer are:
Windows XP.

For building and installation required softwares in my computer:
Qt version 4.6.2/Qt SDK by Nokia v2010.02.1 (open source)
Cmake 2.6-patch 4
MPICH2
Python version 2.6.5
Microsoft Visual Studio 2005 Version 8.0.50727.42

I had many problems when configuring the source in Cmake mainly with what
parameters to change and to what value should i change them to.

Please help me out as I have wasted many hours in just building the
software on my system without any success.

One doubt: Pleae could you tell me that can I add programmble filters in
the .exe version of paraview 3.8.0.

Thank you in advance

Regards
Rhushabh Bhandari

> Yes, it's a visual studio issue. You might want to google around to
> try to find what's missing in your setup.
>
> Utkarsh
>
> On Mon, May 31, 2010 at 10:00 AM,  <rhushabh <at> cse.iitk.ac.in> wrote:
>> Hi,
>> Thanks.
>> I tried the link which you had sent, but I didnt have the problem which
>> the person was having.
>> Is the problem related to visual studio and not paraview as then I will
>> try other versions of it.
>> Thanks
>> Regards
>> Rhushabh Bhandari
>>
>>> It doesn't look like it has anything to do with enabling/disabling
>>> Icet, although why would you want to do that? IceT is what ParaView
>>> uses for parallel rendering, without which parallel rendering won't
>>> work. Besides, IceT is enabled only when you are compiling with MPI.
>>>
>>> As far as /cmd /. /exe issue goes, this may help:
>>> http://www.interact-sw.co.uk/iangblog/2005/09/12/cmdspawnerror
>>>
>>> Utkarsh
>>>
>>> On Mon, May 31, 2010 at 6:00 AM,  <rhushabh <at> cse.iitk.ac.in> wrote:
>>>>  Hi,
>>>>  While building paraview 3.8.0  by ALL_BUILD in visual studio,
>>>>  I get many errors stating:
>>>>  'Error spawning ((cmd)(.)(exe) command prompt)'
>>>>  Please could you help me in this situation
>>>>
>>>>  And i have disabled ice-t, what are the effects of this on the
>>>> software.
>>>>  Thanks in advance
>>>>
>>>>  Regards,
>>>>  Rhushabh
>>>>>>> TEST MAIL
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>>
>>>
>>
>>
>>
>

Utkarsh Ayachit | 1 Jun 15:55 2010

Re: [*] Re: [*] Build problem

The Wiki page pretty much covers all that's necessary to build the
software. You'll have to be a bit more elaborate than "many types of
errors" before we can offer some concrete help. Are you using Qt
binaries downloaded from Nokia's website? As mentioned on their
download page, Nokia's binaries are built using MinGW and cannot be
used with Visual Studio builds. You need to build Qt from source using
visual studio.

Yes, you can add python programmable filters in the .exe version of ParaView.

Utkarsh

On Tue, Jun 1, 2010 at 9:47 AM,  <rhushabh <at> cse.iitk.ac.in> wrote:
> Hi,
> The error related to command prompt was removed.
> But now during building I am getting 80% of the projects as failed with
> many types of errors.
>
> Please could you give me the exact link (other than the wiki page for
> build and install) to build it from scratch again.
> The specifications of my computer are:
> Windows XP.
>
> For building and installation required softwares in my computer:
> Qt version 4.6.2/Qt SDK by Nokia v2010.02.1 (open source)
> Cmake 2.6-patch 4
> MPICH2
> Python version 2.6.5
> Microsoft Visual Studio 2005 Version 8.0.50727.42
>
> I had many problems when configuring the source in Cmake mainly with what
> parameters to change and to what value should i change them to.
>
> Please help me out as I have wasted many hours in just building the
> software on my system without any success.
>
> One doubt: Pleae could you tell me that can I add programmble filters in
> the .exe version of paraview 3.8.0.
>
> Thank you in advance
>
> Regards
> Rhushabh Bhandari
>
>> Yes, it's a visual studio issue. You might want to google around to
>> try to find what's missing in your setup.
>>
>> Utkarsh
>>
>> On Mon, May 31, 2010 at 10:00 AM,  <rhushabh <at> cse.iitk.ac.in> wrote:
>>> Hi,
>>> Thanks.
>>> I tried the link which you had sent, but I didnt have the problem which
>>> the person was having.
>>> Is the problem related to visual studio and not paraview as then I will
>>> try other versions of it.
>>> Thanks
>>> Regards
>>> Rhushabh Bhandari
>>>
>>>> It doesn't look like it has anything to do with enabling/disabling
>>>> Icet, although why would you want to do that? IceT is what ParaView
>>>> uses for parallel rendering, without which parallel rendering won't
>>>> work. Besides, IceT is enabled only when you are compiling with MPI.
>>>>
>>>> As far as /cmd /. /exe issue goes, this may help:
>>>> http://www.interact-sw.co.uk/iangblog/2005/09/12/cmdspawnerror
>>>>
>>>> Utkarsh
>>>>
>>>> On Mon, May 31, 2010 at 6:00 AM,  <rhushabh <at> cse.iitk.ac.in> wrote:
>>>>>  Hi,
>>>>>  While building paraview 3.8.0  by ALL_BUILD in visual studio,
>>>>>  I get many errors stating:
>>>>>  'Error spawning ((cmd)(.)(exe) command prompt)'
>>>>>  Please could you help me in this situation
>>>>>
>>>>>  And i have disabled ice-t, what are the effects of this on the
>>>>> software.
>>>>>  Thanks in advance
>>>>>
>>>>>  Regards,
>>>>>  Rhushabh
>>>>>>>> TEST MAIL
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> 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
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>
Utkarsh Ayachit | 1 Jun 16:42 2010

Re: [*] Re: [*] Build problem

Correction: the SDK Nokia distributes is MinGW based, but they have
libraries for VS 2008 also. For VS 2005, however you'll have to build
Qt from source.

Utkarsh

On Tue, Jun 1, 2010 at 9:55 AM, Utkarsh Ayachit
<utkarsh.ayachit <at> kitware.com> wrote:
> The Wiki page pretty much covers all that's necessary to build the
> software. You'll have to be a bit more elaborate than "many types of
> errors" before we can offer some concrete help. Are you using Qt
> binaries downloaded from Nokia's website? As mentioned on their
> download page, Nokia's binaries are built using MinGW and cannot be
> used with Visual Studio builds. You need to build Qt from source using
> visual studio.
>
> Yes, you can add python programmable filters in the .exe version of ParaView.
>
> Utkarsh
>
> On Tue, Jun 1, 2010 at 9:47 AM,  <rhushabh <at> cse.iitk.ac.in> wrote:
>> Hi,
>> The error related to command prompt was removed.
>> But now during building I am getting 80% of the projects as failed with
>> many types of errors.
>>
>> Please could you give me the exact link (other than the wiki page for
>> build and install) to build it from scratch again.
>> The specifications of my computer are:
>> Windows XP.
>>
>> For building and installation required softwares in my computer:
>> Qt version 4.6.2/Qt SDK by Nokia v2010.02.1 (open source)
>> Cmake 2.6-patch 4
>> MPICH2
>> Python version 2.6.5
>> Microsoft Visual Studio 2005 Version 8.0.50727.42
>>
>> I had many problems when configuring the source in Cmake mainly with what
>> parameters to change and to what value should i change them to.
>>
>> Please help me out as I have wasted many hours in just building the
>> software on my system without any success.
>>
>> One doubt: Pleae could you tell me that can I add programmble filters in
>> the .exe version of paraview 3.8.0.
>>
>> Thank you in advance
>>
>> Regards
>> Rhushabh Bhandari
>>
>>> Yes, it's a visual studio issue. You might want to google around to
>>> try to find what's missing in your setup.
>>>
>>> Utkarsh
>>>
>>> On Mon, May 31, 2010 at 10:00 AM,  <rhushabh <at> cse.iitk.ac.in> wrote:
>>>> Hi,
>>>> Thanks.
>>>> I tried the link which you had sent, but I didnt have the problem which
>>>> the person was having.
>>>> Is the problem related to visual studio and not paraview as then I will
>>>> try other versions of it.
>>>> Thanks
>>>> Regards
>>>> Rhushabh Bhandari
>>>>
>>>>> It doesn't look like it has anything to do with enabling/disabling
>>>>> Icet, although why would you want to do that? IceT is what ParaView
>>>>> uses for parallel rendering, without which parallel rendering won't
>>>>> work. Besides, IceT is enabled only when you are compiling with MPI.
>>>>>
>>>>> As far as /cmd /. /exe issue goes, this may help:
>>>>> http://www.interact-sw.co.uk/iangblog/2005/09/12/cmdspawnerror
>>>>>
>>>>> Utkarsh
>>>>>
>>>>> On Mon, May 31, 2010 at 6:00 AM,  <rhushabh <at> cse.iitk.ac.in> wrote:
>>>>>>  Hi,
>>>>>>  While building paraview 3.8.0  by ALL_BUILD in visual studio,
>>>>>>  I get many errors stating:
>>>>>>  'Error spawning ((cmd)(.)(exe) command prompt)'
>>>>>>  Please could you help me in this situation
>>>>>>
>>>>>>  And i have disabled ice-t, what are the effects of this on the
>>>>>> software.
>>>>>>  Thanks in advance
>>>>>>
>>>>>>  Regards,
>>>>>>  Rhushabh
>>>>>>>>> TEST MAIL
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>
>
Eric Nodwell | 1 Jun 19:18 2010
Picon

Finite-size voxels and Point vs. Cell Centered Image Data

What is the standard way to represent image data in VTK/ParaView, where the image data is intended to
represent finite sized voxels?  Here the 3D image data represent values at the centre of voxels (or
presumably some sort of weighted value centred on the voxel centre).

This may seem like a trivial question, however I am unable to obtain the behaviour that seems most
appropriate.  For example, suppose I want to display all voxels in a (3D) image that exceed a certain
threshold value.  The obvious thing to do seems to be to save the data in a VTK .vti file and then use the
Theshold filter in ParaView.  The Threshold filter will display Cells, or not display Cells, depending on
the threshold.  But Cells of a vtkDataObject are hexagons connecting the points, not hexagons centred on
the points.  (There is an option "All Scalars" for the Threshold filter which determines how the cell value
is calculated from the neighbouring point values, but it has no effect on the location of the cell.)

One possibility may be that we are storing the image data incorrectly in the .vti file.  Right now we have are
generating the data as vtkImageSource with Scalar Point Data.  Perhaps it would be more logical to
generate and save this as vtkImageSource with Scalar Cell Data, and indeed the ParaView documentation
seems to imply this (see http://paraview.org/OnlineHelpCurrent/XMLImageDataReader.html ). 
However, vtkImageSource does not seem to be intended to be used in this way.  In the vtkImageData
implementation, all the methods that access "scalar" data do not check for the existence of Scalars for
Cell Data, but instead always access the Point Data Scalars, like this:

  vtkDataArray *scalars = this->GetPointData()->GetScalars();

Or to present this another way, consider the trivial example of a single voxel.  We would like to have this
represented as a finite size box, but the data is inherently a single value.  Here is some example VTK python
code that attempts to generate a single voxel:

  image = vtk.vtkImageData()
  image.SetScalarTypeToInt()
  image.SetSpacing (1, 1, 1)
  image.SetOrigin (0, 0, 0)
  image.SetDimensions (1, 1, 1)
  image.SetScalarComponentFromFloat (0,0,0,0,10)
  print image.GetBounds()

The output for the bounds is:

(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

This is not necessarily incorrect in the right context.  One example of such a context might be the case where
the image data represent discrete samples taken at distinct points in space.  However it does seem
inappropriate for data meant to represent voxels as small volume elements (e.g. most medical images),
where we would like a single voxel to have finite real-space bounds and be displayed as such.  I have again
the feeling that vtkImageData is not the appropriate object to use to represent voxel data, but I don't
know what the correct alternative would be (something with scalar cell data presumably).

As an aside, if you save the above image object with vtkXMLImageDataWriter, the file can't even be opened in
ParaView 3.18.0, as the following error occurs:

ERROR: In /Users/eric/source/ParaView-3.8.0/Servers/Filters/vtkTexturePainter.cxx, line 286
vtkTexturePainter (0x11de86350): Incorrect dimensionality.

However, a vtkImageData object with 2x2x2 dimensions can be opened and will display (using for example the
Threshold filter) as a 1x1x1 box in ParaView.

Any insight would be appreciated.

Thanks,
Eric

Francois Bertel | 1 Jun 19:26 2010

Re: Finite-size voxels and Point vs. Cell Centered Image Data

Hello,

in vtkImageData, "Dimension" is the number of points along each axis,
not the number of cells along each axis. If you want one voxel, then
you need 2x2x2 points.
Note that using GetDimension() is OK but SetDimension() is only here
for backward compatibility, use SetExtent() instead:

image->SetExtent(0,1,0,1,0,1);

On Tue, Jun 1, 2010 at 1:18 PM, Eric Nodwell <enodwell <at> ucalgary.ca> wrote:
> What is the standard way to represent image data in VTK/ParaView, where the image data is intended to
represent finite sized voxels?  Here the 3D image data represent values at the centre of voxels (or
presumably some sort of weighted value centred on the voxel centre).
>
> This may seem like a trivial question, however I am unable to obtain the behaviour that seems most
appropriate.  For example, suppose I want to display all voxels in a (3D) image that exceed a certain
threshold value.  The obvious thing to do seems to be to save the data in a VTK .vti file and then use the
Theshold filter in ParaView.  The Threshold filter will display Cells, or not display Cells, depending
on the threshold.  But Cells of a vtkDataObject are hexagons connecting the points, not hexagons
centred on the points.  (There is an option "All Scalars" for the Threshold filter which determines how
the cell value is calculated from the neighbouring point values, but it has no effect on the location of the cell.)
>
> One possibility may be that we are storing the image data incorrectly in the .vti file.  Right now we have
are generating the data as vtkImageSource with Scalar Point Data.  Perhaps it would be more logical to
generate and save this as vtkImageSource with Scalar Cell Data, and indeed the ParaView documentation
seems to imply this (see http://paraview.org/OnlineHelpCurrent/XMLImageDataReader.html ).
 However, vtkImageSource does not seem to be intended to be used in this way.  In the vtkImageData
implementation, all the methods that access "scalar" data do not check for the existence of Scalars for
Cell Data, but instead always access the Point Data Scalars, like this:
>
>  vtkDataArray *scalars = this->GetPointData()->GetScalars();
>
> Or to present this another way, consider the trivial example of a single voxel.  We would like to have this
represented as a finite size box, but the data is inherently a single value.  Here is some example VTK
python code that attempts to generate a single voxel:
>
>  image = vtk.vtkImageData()
>  image.SetScalarTypeToInt()
>  image.SetSpacing (1, 1, 1)
>  image.SetOrigin (0, 0, 0)
>  image.SetDimensions (1, 1, 1)
>  image.SetScalarComponentFromFloat (0,0,0,0,10)
>  print image.GetBounds()
>
> The output for the bounds is:
>
> (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
>
> This is not necessarily incorrect in the right context.  One example of such a context might be the case
where the image data represent discrete samples taken at distinct points in space.  However it does seem
inappropriate for data meant to represent voxels as small volume elements (e.g. most medical images),
where we would like a single voxel to have finite real-space bounds and be displayed as such.  I have again
the feeling that vtkImageData is not the appropriate object to use to represent voxel data, but I don't
know what the correct alternative would be (something with scalar cell data presumably).
>
> As an aside, if you save the above image object with vtkXMLImageDataWriter, the file can't even be opened
in ParaView 3.18.0, as the following error occurs:
>
> ERROR: In /Users/eric/source/ParaView-3.8.0/Servers/Filters/vtkTexturePainter.cxx, line 286
> vtkTexturePainter (0x11de86350): Incorrect dimensionality.
>
> However, a vtkImageData object with 2x2x2 dimensions can be opened and will display (using for example
the Threshold filter) as a 1x1x1 box in ParaView.
>
> Any insight would be appreciated.
>
> Thanks,
> Eric
>
> _______________________________________________
> 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
>

--

-- 
François Bertel, PhD  | Kitware Inc. Suite 204
1 (518) 371 3971 x113 | 28 Corporate Drive
                      | Clifton Park NY 12065, USA
burlen | 1 Jun 19:02 2010
Picon

Re: paraview - client-server

Hi,

I have seen this error mostly relating to a plugin being loaded on the 
client side but not the server side. It looks like 
vtk1DTransferFunctionFilter, is part of a PointSprite plugin. You could 
check the tools->plugin manager dialog to see if the client and server 
have the same plugins loaded?

It would also be helpful to know what type of file have you tried to open?

good luck
Burlen

Pierre-Olivier Dallaire wrote:
> Hi,
>
> I'm facing an error under the client-server mode. As soon as I try to open a file, paraview crashes with this
error on the
> server side :
>
> ERROR: In /home/podallaire/ParaView/Servers/Common/vtkProcessModule.cxx, line 1065
> vtkProcessModule (0x851da0): Cannot create object of type "vtk1DTransferFunctionFilter".
> while processing
> Message 0 = New
>   Argument 0 = string_value {vtk1DTransferFunctionFilter}
>   Argument 1 = id_value {387}
>
>
> ERROR: In /home/podallaire/ParaView/Servers/Common/vtkProcessModule.cxx, line 1066
> vtkProcessModule (0x851da0): Aborting execution for debugging purposes.
>
> ....
>
>
> Any idea what is going on ? I tried different files - same result.
>
> Regards,
>
> PO
>
> On 2010-04-30, at 2:49 PM, burlen wrote:
>
>   
>> yeah, that's a typo in the bug report. Both last night and this morning I have been unable to access mantis
or the the pv web site. Page never loads. I'll try later.
>>
>> pat marion wrote:
>>     
>>> Hey Burlen, on the bug report page for 10283, I think you need to fix the command line you are testing with :
>>>
>>> $ ssh remote cmd1 && cm2
>>>
>>> will execute cmd1 on remote and cmd2 locally.  It should be:
>>>
>>> $ ssh remote "cmd1 && cmd2"
>>>
>>> Pat
>>>
>>> On Fri, Apr 30, 2010 at 9:12 AM, pat marion <pat.marion <at> kitware.com
<mailto:pat.marion <at> kitware.com>> wrote:
>>>
>>>    I have applied your patch.  I agree that paraview should explicity
>>>    close the child process.  But... what I am pointing out is that
>>>    calling QProcess::close() does not help in this situation.  What I
>>>    am saying is that, even when paraview does kill the process, any
>>>    commands run by ssh on the other side of the netpipe will be
>>>    orphaned by sshd.  Are you sure you can't reproduce it?
>>>
>>>
>>>    $ ssh localhost sleep 1d
>>>    $ < press control-c >
>>>    $ pidof sleep
>>>    $ # sleep is still running
>>>
>>>    Pat
>>>
>>>
>>>    On Fri, Apr 30, 2010 at 2:08 AM, burlen <burlen.loring <at> gmail.com
>>>    <mailto:burlen.loring <at> gmail.com>> wrote:
>>>
>>>        Hi Pat,
>>>
>>>        From my point of view the issue is philosophical, because
>>>        practically speaking I couldn't reproduce the orphans with out
>>>        doing something a little odd namely, ssh ... &&  sleep 1d.
>>>        Although the fact that a user reported suggests that it may
>>>        occur in the real world as well. The question is this: should
>>>        an application explicitly clean up resources it allocates? or
>>>        should an application rely on the user not only knowing that
>>>        there is the potential for a resource leak but also knowing
>>>        enough to do the right thing to avoid it (eg ssh -tt ...)? In
>>>        my opinion, as a matter of principle, if PV spawns a process
>>>        it should explicitly clean it up and there should be no way it
>>>        can become an orphan. In this case the fact that the orphan
>>>        can hold ports open is particularly insidious, because further
>>>        connection attempt on that port fails with no helpful error
>>>        information. Also it is not very difficult to clean up a
>>>        spawned process. What it comes down to is a little book
>>>        keeping to hang on to the qprocess handle and a few lines of
>>>        code called from pqCommandServerStartup destructor to make
>>>        certain it's cleaned up. This is from the patch I submitted
>>>        when I filed the bug report.
>>>
>>>        +    // close running process
>>>        +    if (this->Process->state()==QProcess::Running)
>>>        +      {
>>>        +      this->Process->close();
>>>        +      }
>>>        +    // free the object
>>>        +    delete this->Process;
>>>        +    this->Process=NULL;
>>>
>>>        I think if the cluster admins out there new which ssh options
>>>        (GatewayPorts etc) are important for ParView to work
>>>        seamlessly, then they might be willing to open them up. It's
>>>        my impression that the folks that build clusters want tools
>>>        like PV to be easy to use, but they don't necessarily know all
>>>        the in's and out's of confinguring and running PV.
>>>
>>>        Thanks for looking at this again! The -tt option to ssh is
>>>        indeed a good find.
>>>
>>>        Burlen
>>>
>>>        pat marion wrote:
>>>
>>>            Hi all!
>>>
>>>            I'm bringing this thread back- I have learned a couple new
>>>            things...
>>>
>>>            -----------------------
>>>            No more orphans:
>>>
>>>            Here is an easy way to create an orphan:
>>>
>>>              $ ssh localhost sleep 1d
>>>              $ <press control c>
>>>
>>>            The ssh process is cleaned up, but sshd orphans the sleep
>>>            process.  You can avoid this by adding '-t' to ssh:
>>>
>>>             $ ssh -t localhost sleep 1d
>>>
>>>            Works like a charm!  But then there is another problem...
>>>            try this command from paraview (using QProcess) and it
>>>            still leaves an orphan, doh!  Go back and re-read ssh's
>>>            man page and you have the solution, use '-t' twice: ssh -tt
>>>
>>>            -------------------------
>>>            GatewayPorts and portfwd workaround:
>>>
>>>            In this scenario we have 3 machines: workstation,
>>>            service-node, and compute-node.  I want to ssh from
>>>            workstation to service-node and submit a job that will run
>>>            pvserver on compute-node.  When pvserver starts on
>>>            compute-node I want it to reverse connect to service-node
>>>            and I want service-node to forward the connection to
>>>            workstation.  So here I go:
>>>
>>>              $ ssh -R11111:localhost:11111 service-node qsub
>>>            start_pvserver.sh
>>>
>>>            Oops, the qsub command returns immediately and closes my
>>>            ssh tunnel.  Let's pretend that the scheduler doesn't
>>>            provide an easy way to keep the command alive, so I have
>>>            resorted to using 'sleep 1d'.  So here I go, using -tt to
>>>            prevent orphans:
>>>
>>>             $ ssh -tt -R11111:localhost:11111 service-node "qsub
>>>            start_pvserver.sh && sleep 1d"
>>>
>>>            Well, this will only work if GatewayPorts is enabled in
>>>            sshd_config on service-node.  If GatewayPorts is not
>>>            enabled, the ssh tunnel will only accept connections from
>>>            localhost, it will not accept a connection from
>>>            compute-node.  We can ask the sysadmin to enable
>>>            GatewayPorts, or we could use portfwd.  You can run
>>>            portfwd on service-node to forward port 22222 to port
>>>            11111, then have compute-node connect to
>>>            service-node:22222.  So your job script would launch
>>>            pvserver like this:
>>>
>>>             pvserver -rc -ch=service-node -sp=22222
>>>
>>>            Problem solved!  Also convenient, we can use portfwd to
>>>            replace 'sleep 1d'.  So the final command, executed by
>>>            paraview client:
>>>
>>>             ssh -tt -R 11111:localhost:11111 service-node "qsub
>>>            start_pvserver.sh && portfwd -g -c fwd.cfg"
>>>
>>>            Where fwd.cfg contains:
>>>
>>>             tcp { 22222 { => localhost:11111 } }
>>>
>>>
>>>            Hope this helps!
>>>
>>>            Pat
>>>
>>>            On Fri, Feb 12, 2010 at 7:06 PM, burlen
>>>            <burlen.loring <at> gmail.com <mailto:burlen.loring <at> gmail.com>
>>>            <mailto:burlen.loring <at> gmail.com
>>>            <mailto:burlen.loring <at> gmail.com>>> wrote:
>>>
>>>
>>>                   Incidentally, this brings up an interesting point about
>>>                   ParaView with client/server.  It doesn't try to
>>>            clean up it's
>>>                   child processes, AFAIK.  For example, if you set up
>>>            this ssh
>>>                   tunnel inside the ParaView GUI (e.g., using a
>>>            command instead
>>>                   of a manual connection), and you cancel the
>>>            connection, it
>>>                   will leave the ssh running.  You have to track down
>>>            the ssh
>>>                   process and kill it yourself.  It's minor thing,
>>>            but it can
>>>                   also prevent future connections if you don't
>>>            realize there's a
>>>                   zombie ssh that kept your ports open.
>>>
>>>               I attempted to reproduce on my kubuntu 9.10, qt 4.5.2
>>>            system, with
>>>               slightly different results, which may be qt/distro/os
>>>            specific.
>>>
>>>               On my system as long as the process ParaView spawns
>>>            finishes on
>>>               its own there is no problem. That's usually how one
>>>            would expect
>>>               things to work out since when the client disconnects
>>>            the server
>>>               closes followed by ssh. But, you are right that PV never
>>>               explicitly kills or otherwise cleans up after the
>>>            process it
>>>               starts. So if the spawned process for some reason
>>>            doesn't finish
>>>               orphan processes are introduced.
>>>
>>>               I was able to produce orphan ssh processes, giving the
>>>            PV client a
>>>               server start up command that doesn't finish. eg
>>>
>>>                 ssh ... pvserver ... && sleep 100d
>>>
>>>               I get the situation you described which prevents further
>>>               connection on the same ports. Once PV tries and fails
>>>            to connect
>>>               on th eopen ports, there is crash soon after.
>>>
>>>               I filed a bug report with a patch:
>>>               http://www.paraview.org/Bug/view.php?id=10283
>>>
>>>
>>>
>>>               Sean Ziegeler wrote:
>>>
>>>                   Most batch systems have an option to wait until the
>>>            job is
>>>                   finished before the submit command returns.  I know
>>>            PBS uses
>>>                   "-W block=true" and that SGE and LSF have similar
>>>            options (but
>>>                   I don't recall the precise flags).
>>>
>>>                   If your batch system doesn't provide that, I'd
>>>            recommend
>>>                   adding some shell scripting to loop through
>>>            checking the queue
>>>                   for job completion and not return until it's done.
>>>             The sleep
>>>                   thing would work, but wouldn't exit when the server
>>>            finishes,
>>>                   leaving the ssh tunnels (and other things like
>>>            portfwd if you
>>>                   put them in your scripts) lying around.
>>>
>>>                   Incidentally, this brings up an interesting point about
>>>                   ParaView with client/server.  It doesn't try to
>>>            clean up it's
>>>                   child processes, AFAIK.  For example, if you set up
>>>            this ssh
>>>                   tunnel inside the ParaView GUI (e.g., using a
>>>            command instead
>>>                   of a manual connection), and you cancel the
>>>            connection, it
>>>                   will leave the ssh running.  You have to track down
>>>            the ssh
>>>                   process and kill it yourself.  It's minor thing,
>>>            but it can
>>>                   also prevent future connections if you don't
>>>            realize there's a
>>>                   zombie ssh that kept your ports open.
>>>
>>>
>>>                   On 02/08/10 21:03, burlen wrote:
>>>
>>>                       I am curious to hear what Sean has to say.
>>>
>>>                       But, say the batch system returns right away
>>>            after the job
>>>                       is submitted,
>>>                       I think we can doctor the command so that it
>>>            will live for
>>>                       a while
>>>                       longer, what about something like this:
>>>
>>>                       ssh -R XXXX:localhost:YYYY remote_machine
>>>                       "submit_my_job.sh && sleep
>>>                       100d"
>>>
>>>
>>>                       pat marion wrote:
>>>
>>>                           Hey just checked out the wiki page, nice! One
>>>                           question, wouldn't this
>>>                           command hang up and close the tunnel after
>>>            submitting
>>>                           the job?
>>>                           ssh -R XXXX:localhost:YYYY remote_machine
>>>            submit_my_job.sh
>>>                           Pat
>>>
>>>                           On Mon, Feb 8, 2010 at 8:12 PM, pat marion
>>>                           <pat.marion <at> kitware.com
>>>            <mailto:pat.marion <at> kitware.com>
>>>            <mailto:pat.marion <at> kitware.com
>>>            <mailto:pat.marion <at> kitware.com>>
>>>                           <mailto:pat.marion <at> kitware.com
>>>            <mailto:pat.marion <at> kitware.com>
>>>
>>>                           <mailto:pat.marion <at> kitware.com
>>>            <mailto:pat.marion <at> kitware.com>>>> wrote:
>>>
>>>                           Actually I didn't write the notes at the
>>>            hpc.mil <http://hpc.mil>
>>>                           <http://hpc.mil> <http://hpc.mil>
>>>
>>>                           link.
>>>
>>>                           Here is something- and maybe this is the
>>>            problem that
>>>                           Sean refers
>>>                           to- in some cases, when I have set up a
>>>            reverse ssh
>>>                           tunnel from
>>>                           login node to workstation (command executed
>>>            from
>>>                           workstation) then
>>>                           the forward does not work when the compute node
>>>                           connects to the
>>>                           login node. However, if I have the compute node
>>>                           connect to the
>>>                           login node on port 33333, then use portfwd
>>>            to forward
>>>                           that to
>>>                           localhost:11111, where the ssh tunnel is
>>>            listening on
>>>                           port 11111,
>>>                           it works like a charm. The portfwd tricks
>>>            it into
>>>                           thinking the
>>>                           connection is coming from localhost and
>>>            allow the ssh
>>>                           tunnel to
>>>                           work. Hope that made a little sense...
>>>
>>>                           Pat
>>>
>>>
>>>                           On Mon, Feb 8, 2010 at 6:29 PM, burlen
>>>                           <burlen.loring <at> gmail.com
>>>            <mailto:burlen.loring <at> gmail.com>
>>>            <mailto:burlen.loring <at> gmail.com
>>>            <mailto:burlen.loring <at> gmail.com>>
>>>                           <mailto:burlen.loring <at> gmail.com
>>>            <mailto:burlen.loring <at> gmail.com>
>>>                           <mailto:burlen.loring <at> gmail.com
>>>            <mailto:burlen.loring <at> gmail.com>>>> wrote:
>>>
>>>                           Nice, thanks for the clarification. I am
>>>            guessing that
>>>                           your
>>>                           example should probably be the recommended
>>>            approach rather
>>>                           than the portfwd method suggested on the PV
>>>            wiki. :) I
>>>                           took
>>>                           the initiative to add it to the Wiki. KW
>>>            let me know
>>>                           if this
>>>                           is not the case!
>>>
>>>                                      http://paraview.org/Wiki/Reverse_connection_and_port_forwarding#Reverse_connection_over_an_ssh_tunnel
>>>
>>>
>>>
>>>                           Would you mind taking a look to be sure I
>>>            didn't miss
>>>                           anything
>>>                           or bollix it up?
>>>
>>>                           The sshd config options you mentioned may
>>>            be why your
>>>                           method
>>>                           doesn't work on the Pleiades system, either
>>>            that or
>>>                           there is a
>>>                           firewall between the front ends and compute
>>>            nodes. In
>>>                           either
>>>                           case I doubt the NAS sys admins are going to
>>>                           reconfigure for
>>>                           me :) So at least for now I'm stuck with
>>>            the two hop ssh
>>>                           tunnels and interactive batch jobs. if
>>>            there were
>>>                           someway to
>>>                           script the ssh tunnel in my batch script I
>>>            would be
>>>                           golden...
>>>
>>>                           By the way I put the details of the two hop
>>>            ssh tunnel
>>>                           on the
>>>                           wiki as well, and a link to Pat's hpc.mil
>>>            <http://hpc.mil>
>>>                           <http://hpc.mil> <http://hpc.mil>
>>>
>>>                           notes. I don't dare try to summarize them
>>>            since I've never
>>>                           used portfwd and it refuses to compile both
>>>            on my
>>>                           workstation
>>>                           and the cluster.
>>>
>>>                           Hopefully putting these notes on the Wiki
>>>            will save future
>>>                           ParaView users some time and headaches.
>>>
>>>
>>>                           Sean Ziegeler wrote:
>>>
>>>                           Not quite- the pvsc calls ssh with both the
>>>            tunnel options
>>>                           and the commands to submit the batch job.
>>>            You don't even
>>>                           need a pvsc; it just makes the interface
>>>            fancier. As long
>>>                           as you or PV executes something like this
>>>            from your
>>>                           machine:
>>>                           ssh -R XXXX:localhost:YYYY remote_machine
>>>            submit_my_job.sh
>>>
>>>                           This means that port XXXX on remote_machine
>>>            will be the
>>>                           port to which the server must connect. Port
>>>            YYYY (e.g.,
>>>                           11111) on your client machine is the one on
>>>            which PV
>>>                           listens. You'd have to tell the server (in
>>>            the batch
>>>                           submission script, for example) the name of
>>>            the node and
>>>                           port XXXX to which to connect.
>>>
>>>                           One caveat that might be causing you
>>>            problems, port
>>>                           forwarding (and "gateway ports" if the
>>>            server is running
>>>                           on a different node than the login node)
>>>            must be enabled
>>>                           in the remote_machine's sshd_config. If
>>>            not, no ssh
>>>                           tunnels will work at all (see: man ssh and man
>>>                           sshd_config). That's something that an
>>>            administrator
>>>                           would need to set up for you.
>>>
>>>                           On 02/08/10 12:26, burlen wrote:
>>>
>>>                           So to be sure about what you're saying:
>>>            Your .pvsc
>>>                           script ssh's to the
>>>                           front end and submits a batch job which
>>>            when it's
>>>                           scheduled , your batch
>>>                           script creates a -R style tunnel and starts
>>>            pvserver
>>>                           using PV reverse
>>>                           connection. ? or are you using portfwd or a
>>>            second ssh
>>>                           session to
>>>                           establish the tunnel ?
>>>
>>>                           If you're doing this all from your .pvsc script
>>>                           without a second ssh
>>>                           session and/or portfwd that's awesome! I
>>>            haven't been
>>>                           able to script
>>>                           this, something about the batch system
>>>            prevents the
>>>                           tunnel created
>>>                           within the batch job's ssh session from
>>>            working. I
>>>                           don't know if that's
>>>                           particular to this system or a general fact
>>>            of life
>>>                           about batch systems.
>>>
>>>                           Question: How are you creating the tunnel
>>>            in your
>>>                           batch script?
>>>
>>>                           Sean Ziegeler wrote:
>>>
>>>                           Both ways will work for me in most cases,
>>>            i.e. a
>>>                           "forward" connection
>>>                           with ssh -L or a reverse connection with
>>>            ssh -R.
>>>
>>>                           However, I find that the reverse method is more
>>>                           scriptable. You can
>>>                           set up a .pvsc file that the client can
>>>            load and
>>>                           will call ssh with
>>>                           the appropriate options and commands for the
>>>                           remote host, all from the
>>>                           GUI. The client will simply wait for the
>>>            reverse
>>>                           connection from the
>>>                           server, whether it takes 5 seconds or 5
>>>            hours for
>>>                           the server to get
>>>                           through the batch queue.
>>>
>>>                           Using the forward connection method, if the
>>>            server
>>>                           isn't started soon
>>>                           enough, the client will attempt to connect and
>>>                           then fail. I've always
>>>                           had to log in separately, wait for the
>>>            server to
>>>                           start running, then
>>>                           tell my client to connect.
>>>
>>>                           -Sean
>>>
>>>                           On 02/06/10 12:58, burlen wrote:
>>>
>>>                           Hi Pat,
>>>
>>>                           My bad. I was looking at the PV wiki, and
>>>                           thought you were talking about
>>>                           doing this without an ssh tunnel and using
>>>                           only port forward and
>>>                           paraview's --reverse-connection option . Now
>>>                           that I am reading your
>>>                           hpc.mil <http://hpc.mil> <http://hpc.mil>
>>>            <http://hpc.mil> post I see
>>>
>>>                           what you
>>>                           mean :)
>>>
>>>                           Burlen
>>>
>>>
>>>                           pat marion wrote:
>>>
>>>                           Maybe I'm misunderstanding what you mean
>>>                           by local firewall, but
>>>                           usually as long as you can ssh from your
>>>                           workstation to the login node
>>>                           you can use a reverse ssh tunnel.
>>>
>>>
>>>                           _______________________________________________
>>>                           Powered by www.kitware.com
>>>            <http://www.kitware.com> <http://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
>>     
>
>   


Gmane