Andy Bauer | 2 Jan 2012 22:16
Favicon

Re: PV 3.12.0 coprocessing problem

Happy New Year John,

That branch that you used should be fine.  I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.

I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it.  I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture).  I also removed the part where the proxies are deleted because that's been changed about a week ago.  I'm attaching the files I used to run.  I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py reduced-1.py 3) without any problems. 

I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView.  It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process.  Is your input a topologically structured grid?  If it is, did you properly set the whole extent for your vtkCPInputDataDescription object?  The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter.  Maybe someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries.  If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down.  Maybe if you could send me a file for your data set I can try to replicate it here.

Andy

On Mon, Dec 26, 2011 at 4:57 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

Andy,

 

Merry Christmas ….

 

Any chance you could test with the paraview's current master branch?
<

 

Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478

 

Using the pvbatch test you sent, it hangs  the same … I have N-1 in here

 

>             vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length, int type, int root)  Line 1132 + 0x3b bytes          C++

                vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId)  Line 256              C++

                vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length, int srcProcessId)  Line 402             C++

                vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image, const char * filename, const char * writerName)  Line 139          C++

                vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)  Line 311 + 0x1f bytes       C++

                vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)  Line 367 + 0x1f bytes     C++

 

and 1 in here.

 

>             vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId, int * comm)  Line 317        C++

                vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId)  Line 1395 + 0x4c bytes              C++

                vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)  Line 633   C++

                vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)  Line 811            C++

                vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds)  Line 1381                C++

                vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering)  Line 598         C++

                vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering)  Line 882  C++

                vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()  Line 745      C++

                vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream & msg, vtkClientServerStream & resultStream)  Line 258        C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css, int midx)  Line 379 + 0x2f bytes        C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css, int message)  Line 214 + 0x1d bytes               C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css)  Line 183 + 0x14 bytes     C++

                vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream, bool ignore_errors)  Line 636      C++

                vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)  Line 606  C++

                vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)  Line 157  C++

                vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream, bool ignore_errors, unsigned int location)  Line 2092                C++

                vtkPVServerManager.dll!vtkSMViewProxy::StillRender()  Line 137 + 0x18 bytes C++

                vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()  Line 86          C++

                vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()  Line 302       C++

                vtkRendering.dll!vtkRenderWindowInteractor::Initialize()  Line 632         C++

                vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()  Line 76 + 0x13 bytes            C++

                vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen)  Line 1417    C++

                vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification)  Line 875               C++

                vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification)  Line 268 + 0x20 bytes    C++

                vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)  Line 307 + 0x11 bytes      C++

                vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)  Line 367 + 0x1f bytes     C++

 

I’ll look and see if some commits mentioned in earlier emails are missing from master.

 

JB

 

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 21:59


To: Biddiscombe, John A.
Cc: paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

I'm attaching a couple of files that you can use to test if you have the proper fix for your branch.  Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py".  If you get the same results then you don't have the fix yet for the image issue.  Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.

Andy

On Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

I’ll give it a try using master, a very simple python script is attached.

 

The original contained a lot more filters, this has most of them stripped out and just a contour left. And yes, it is possible that some processes have no points.

 

JB

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 19:10
To: Biddiscombe, John A.
Cc:
paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

Hi John,

There were a couple of issues when saving images.  One was for saving charts and maybe 2d views.  The other one was for when some processes didn't have any points or cells.  Looking at your stack traces I don't think it's the latter since that would fail in the python script and give a warning in there.  Any chance you could test with the paraview's current master branch?

Are you using a python script to drive the coprocessing?  If yes, can you share it?

Andy

On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...

1  process makes it to here and waits for MPI traffic

>       vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670)  Line 317   C++
       vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0)  Line 1422 + 0x4c bytes      C++
       vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0)  Line 633 C++
       vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0)  Line 811       C++
       vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8)  Line 1381      C++
       vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true)  Line 598     C++
       vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false)  Line 882  C++
       vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()  Line 745      C++
       vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream & msg={...}, vtkClientServerStream & resultStream={...})  Line 258  C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css={...}, int midx=0)  Line 379 + 0x2f bytes        C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css={...}, int message=0)  Line 214 + 0x1d bytes        C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css={...})  Line 183 + 0x14 bytes   C++
       vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 636   C++
       vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 606 C++
       vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 157 C++
       vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream={...}, bool ignore_errors=false, unsigned int location=21)  Line 2092     C++
       vtkPVServerManager.dll!vtkSMViewProxy::StillRender()  Line 137 + 0x18 bytes     C++
       vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()  Line 86      C++
       vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()  Line 302   C++
       vtkRendering.dll!vtkRenderWindowInteractor::Initialize()  Line 632      C++
       vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()  Line 76 + 0x13 bytes        C++
       vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0)  Line 1268  C++
       vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1)  Line 875       C++
       vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1)  Line 268 + 0x20 bytes        C++
       vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1)  Line 307 + 0x11 bytes     C++
       vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438)  Line 367 + 0x1f bytes  C++

------------------------------
but the other N-1 processes end up in here - waiting

>       vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0)  Line 1159 + 0x31 bytes        C++
       vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 256       C++
       vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 402     C++
       vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0)  Line 139  C++
       vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1)  Line 311 + 0x1f bytes     C++
       vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438)  Line 367 + 0x1f bytes  C++

There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there othe fixes on master/next that I might beneeding?

Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.

Any help appreciated.

thanks

JB

 

 


Attachment (files.tgz): application/x-gzip, 3580 bytes
<div>
<p>Happy New Year John,<br><br>That branch that you used should be fine.&nbsp; I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.<br><br>I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it.&nbsp; I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture).&nbsp; I also removed the part where the proxies are deleted because that's been changed about a week ago.&nbsp; I'm attaching the files I used to run.&nbsp; I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py reduced-1.py 3) without any problems.&nbsp; <br><br>I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView.&nbsp; It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process.&nbsp; Is your input a topologically structured grid?&nbsp; If it is, did you properly set the whole extent for your vtkCPInputDataDescription object?&nbsp; The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter.&nbsp; Maybe someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries.&nbsp; If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down.&nbsp; Maybe if you could send me a file for your data set I can try to replicate it here.<br><br>Andy<br><br></p>
<div class="gmail_quote">On Mon, Dec 26, 2011 at 4:57 PM, 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">

<div link="blue" vlink="purple" lang="EN-GB">
<div>
<p class="MsoNormal"><span>Andy,</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Merry Christmas &hellip;.</span></p>
<div class="im">
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&gt;&nbsp;</span></p>
<p class="MsoNormal">Any chance you could test with the paraview's current master branch?<br><span>&lt;</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
</div>
<p class="MsoNormal"><span>Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Using the pvbatch test you sent, it hangs&nbsp; the same &hellip; I have N-1 in here</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length, int type, int root)&nbsp; Line 1132 + 0x3b bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId)&nbsp; Line 256&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length, int srcProcessId)&nbsp; Line 402&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image, const char * filename, const char * writerName)&nbsp; Line 139&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)&nbsp; Line 311 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)&nbsp; Line 367 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp; C++
</span></p>
<div>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>and 1 in here.</span></p>
</div>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId,
 int * comm)&nbsp; Line 317&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int
 destProcessId)&nbsp; Line 1395 + 0x4c bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)&nbsp; Line
 633&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)&nbsp;
 Line 811&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds)&nbsp; Line 1381&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering)&nbsp; Line 598&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering)&nbsp; Line 882&nbsp; C++</span></p>
<div class="im">
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()&nbsp; Line 745&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

</div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream
 &amp; msg, vtkClientServerStream &amp; resultStream)&nbsp; Line 258&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream &amp; css, int midx)&nbsp; Line 379 + 0x2f bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream &amp; css, int message)&nbsp; Line 214 + 0x1d bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream &amp; css)&nbsp; Line 183 + 0x14 bytes&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp; Line 636&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location, const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp;
 Line 606&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location, const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp;
 Line 157&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream &amp; stream, bool ignore_errors, unsigned int location)&nbsp; Line 2092&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<div class="im">
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::StillRender()&nbsp; Line 137 + 0x18 bytes C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()&nbsp; Line 86&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()&nbsp; Line 302&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkRenderWindowInteractor::Initialize()&nbsp; Line 632&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()&nbsp; Line 76 + 0x13 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

</div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen)&nbsp; Line 1417&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification)&nbsp; Line 875&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification)&nbsp; Line 268 + 0x20 bytes&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)&nbsp; Line 307 + 0x11 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)&nbsp; Line 367 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>I&rsquo;ll look and see if some commits mentioned in earlier emails are missing from master.</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy Bauer [mailto:<a href="mailto:andy.bauer <at> kitware.com" target="_blank">andy.bauer <at> kitware.com</a>]
<br>Sent: 21 December 2011 21:59<div>
<div></div>
<div class="h5">
<br>To: Biddiscombe, John A.<br>Cc: <a href="mailto:paraview <at> paraview.org" target="_blank">paraview <at> paraview.org</a><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</div>
</div></span></p>
<div>
<div></div>
<div class="h5">
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">I'm attaching a couple of files that you can use to test if you have the proper fix for your branch.&nbsp; Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py".&nbsp; If you get the same results
 then you don't have the fix yet for the image issue.&nbsp; Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.<br><br>
Andy</p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:</p>
<div>
<div>
<p class="MsoNormal"><span>I&rsquo;ll give it a try using master, a very simple python script is attached.
</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>The original contained a lot more filters, this has most of them stripped out and just a contour
 left. And yes, it is possible that some processes have no points.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy
 Bauer [mailto:</span><a href="mailto:andy.bauer <at> kitware.com" target="_blank"><span lang="EN-US">andy.bauer <at> kitware.com</span></a><span lang="EN-US">]
<br>Sent: 21 December 2011 19:10<br>To: Biddiscombe, John A.<br>Cc: </span><a href="mailto:paraview <at> paraview.org" target="_blank"><span lang="EN-US">paraview <at> paraview.org</span></a><span lang="EN-US"><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</span></p>
<div>
<div>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Hi John,<br><br>
There were a couple of issues when saving images.&nbsp; One was for saving charts and maybe 2d views.&nbsp; The other one was for when some processes didn't have any points or cells.&nbsp; Looking at your stack traces I don't think it's the latter since that would fail in
 the python script and give a warning in there.&nbsp; Any chance you could test with the paraview's current master branch?<br><br>
Are you using a python script to drive the coprocessing?&nbsp; If yes, can you share it?<br><br>
Andy</p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:</p>
<p class="MsoNormal">I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...<br><br>
1 &nbsp;process makes it to here and waits for MPI traffic<br><br>
&gt; &nbsp; &nbsp; &nbsp; vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670) &nbsp;Line 317 &nbsp; C++<br>

&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0) &nbsp;Line 1422 + 0x4c bytes &nbsp; &nbsp; &nbsp;C++<br>

&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) &nbsp;Line 633 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) &nbsp;Line 811 &nbsp; &nbsp; &nbsp; C++<br>

&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8) &nbsp;Line 1381 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true) &nbsp;Line 598 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false) &nbsp;Line 882 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::StillRender() &nbsp;Line 745 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream &amp; msg={...}, vtkClientServerStream &amp; resultStream={...})
 &nbsp;Line 258 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream &amp; css={...}, int midx=0) &nbsp;Line 379 + 0x2f bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream &amp; css={...}, int message=0) &nbsp;Line 214 + 0x1d bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream &amp; css={...}) &nbsp;Line 183 + 0x14 bytes &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 636 &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 606 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 157 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false, unsigned int location=21) &nbsp;Line 2092 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::StillRender() &nbsp;Line 137 + 0x18 bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender() &nbsp;Line 86 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render() &nbsp;Line 302 &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkRenderWindowInteractor::Initialize() &nbsp;Line 632 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize() &nbsp;Line 76 + 0x13 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0) &nbsp;Line 1268 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1) &nbsp;Line 875 &nbsp; &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1) &nbsp;Line 268 + 0x20 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1) &nbsp;Line 307 + 0x11 bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438) &nbsp;Line 367 + 0x1f bytes &nbsp;C++<br><br>
------------------------------<br>
but the other N-1 processes end up in here - waiting<br><br>
&gt; &nbsp; &nbsp; &nbsp; vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0) &nbsp;Line 1159 + 0x31 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) &nbsp;Line 256 &nbsp; &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) &nbsp;Line 402 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0) &nbsp;Line 139 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1) &nbsp;Line 311 + 0x1f bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438) &nbsp;Line 367 + 0x1f bytes &nbsp;C++<br><br>
There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there
 othe fixes on master/next that I might beneeding?<br><br>
Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.<br><br>
Any help appreciated.<br><br>
thanks<br><br>
JB</p>
</div>
<p class="MsoNormal">&nbsp;</p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">&nbsp;</p>
</div>
</div>
</div>
</div>

</blockquote>
</div>
<br>
</div>
Andy Bauer | 2 Jan 2012 22:34
Favicon

Re: PV 3.12.0 coprocessing problem

I made a mistake.  That reduced-1.py script doesn't work with that sha but does work with an older version.  For that sha you'll need to comment out the lines with HeadPose and WandPose.

Andy

On Mon, Jan 2, 2012 at 4:16 PM, Andy Bauer <andy.bauer <at> kitware.com> wrote:
Happy New Year John,

That branch that you used should be fine.  I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.

I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it.  I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture).  I also removed the part where the proxies are deleted because that's been changed about a week ago.  I'm attaching the files I used to run.  I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py reduced-1.py 3) without any problems. 

I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView.  It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process.  Is your input a topologically structured grid?  If it is, did you properly set the whole extent for your vtkCPInputDataDescription object?  The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter.  Maybe someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries.  If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down.  Maybe if you could send me a file for your data set I can try to replicate it here.

Andy


On Mon, Dec 26, 2011 at 4:57 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

Andy,

 

Merry Christmas ….

 

Any chance you could test with the paraview's current master branch?
<

 

Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478

 

Using the pvbatch test you sent, it hangs  the same … I have N-1 in here

 

>             vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length, int type, int root)  Line 1132 + 0x3b bytes          C++

                vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId)  Line 256              C++

                vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length, int srcProcessId)  Line 402             C++

                vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image, const char * filename, const char * writerName)  Line 139          C++

                vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)  Line 311 + 0x1f bytes       C++

                vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)  Line 367 + 0x1f bytes     C++

 

and 1 in here.

 

>             vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId, int * comm)  Line 317        C++

                vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId)  Line 1395 + 0x4c bytes              C++

                vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)  Line 633   C++

                vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)  Line 811            C++

                vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds)  Line 1381                C++

                vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering)  Line 598         C++

                vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering)  Line 882  C++

                vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()  Line 745      C++

                vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream & msg, vtkClientServerStream & resultStream)  Line 258        C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css, int midx)  Line 379 + 0x2f bytes        C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css, int message)  Line 214 + 0x1d bytes               C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css)  Line 183 + 0x14 bytes     C++

                vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream, bool ignore_errors)  Line 636      C++

                vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)  Line 606  C++

                vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)  Line 157  C++

                vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream, bool ignore_errors, unsigned int location)  Line 2092                C++

                vtkPVServerManager.dll!vtkSMViewProxy::StillRender()  Line 137 + 0x18 bytes C++

                vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()  Line 86          C++

                vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()  Line 302       C++

                vtkRendering.dll!vtkRenderWindowInteractor::Initialize()  Line 632         C++

                vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()  Line 76 + 0x13 bytes            C++

                vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen)  Line 1417    C++

                vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification)  Line 875               C++

                vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification)  Line 268 + 0x20 bytes    C++

                vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)  Line 307 + 0x11 bytes      C++

                vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)  Line 367 + 0x1f bytes     C++

 

I’ll look and see if some commits mentioned in earlier emails are missing from master.

 

JB

 

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 21:59


To: Biddiscombe, John A.
Cc: paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

I'm attaching a couple of files that you can use to test if you have the proper fix for your branch.  Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py".  If you get the same results then you don't have the fix yet for the image issue.  Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.

Andy

On Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

I’ll give it a try using master, a very simple python script is attached.

 

The original contained a lot more filters, this has most of them stripped out and just a contour left. And yes, it is possible that some processes have no points.

 

JB

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 19:10
To: Biddiscombe, John A.
Cc:
paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

Hi John,

There were a couple of issues when saving images.  One was for saving charts and maybe 2d views.  The other one was for when some processes didn't have any points or cells.  Looking at your stack traces I don't think it's the latter since that would fail in the python script and give a warning in there.  Any chance you could test with the paraview's current master branch?

Are you using a python script to drive the coprocessing?  If yes, can you share it?

Andy

On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...

1  process makes it to here and waits for MPI traffic

>       vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670)  Line 317   C++
       vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0)  Line 1422 + 0x4c bytes      C++
       vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0)  Line 633 C++
       vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0)  Line 811       C++
       vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8)  Line 1381      C++
       vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true)  Line 598     C++
       vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false)  Line 882  C++
       vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()  Line 745      C++
       vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream & msg={...}, vtkClientServerStream & resultStream={...})  Line 258  C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css={...}, int midx=0)  Line 379 + 0x2f bytes        C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css={...}, int message=0)  Line 214 + 0x1d bytes        C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css={...})  Line 183 + 0x14 bytes   C++
       vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 636   C++
       vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 606 C++
       vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 157 C++
       vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream={...}, bool ignore_errors=false, unsigned int location=21)  Line 2092     C++
       vtkPVServerManager.dll!vtkSMViewProxy::StillRender()  Line 137 + 0x18 bytes     C++
       vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()  Line 86      C++
       vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()  Line 302   C++
       vtkRendering.dll!vtkRenderWindowInteractor::Initialize()  Line 632      C++
       vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()  Line 76 + 0x13 bytes        C++
       vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0)  Line 1268  C++
       vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1)  Line 875       C++
       vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1)  Line 268 + 0x20 bytes        C++
       vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1)  Line 307 + 0x11 bytes     C++
       vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438)  Line 367 + 0x1f bytes  C++

------------------------------
but the other N-1 processes end up in here - waiting

>       vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0)  Line 1159 + 0x31 bytes        C++
       vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 256       C++
       vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 402     C++
       vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0)  Line 139  C++
       vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1)  Line 311 + 0x1f bytes     C++
       vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438)  Line 367 + 0x1f bytes  C++

There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there othe fixes on master/next that I might beneeding?

Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.

Any help appreciated.

thanks

JB

 

 



<div>
<p>I made a mistake.&nbsp; That reduced-1.py script doesn't work with that sha but does work with an older version.&nbsp; For that sha you'll need to comment out the lines with HeadPose and WandPose.<br><br>Andy<br><br></p>
<div class="gmail_quote">
On Mon, Jan 2, 2012 at 4:16 PM, Andy Bauer <span dir="ltr">&lt;<a href="mailto:andy.bauer <at> kitware.com">andy.bauer <at> kitware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote">
Happy New Year John,<br><br>That branch that you used should be fine.&nbsp; I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.<br><br>I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it.&nbsp; I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture).&nbsp; I also removed the part where the proxies are deleted because that's been changed about a week ago.&nbsp; I'm attaching the files I used to run.&nbsp; I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py reduced-1.py 3) without any problems.&nbsp; <br><br>I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView.&nbsp; It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process.&nbsp; Is your input a topologically structured grid?&nbsp; If it is, did you properly set the whole extent for your vtkCPInputDataDescription object?&nbsp; The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter.&nbsp; Maybe someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries.&nbsp; If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down.&nbsp; Maybe if you could send me a file for your data set I can try to replicate it here.<br>
<br>Andy<div>
<div></div>
<div class="h5">
<br><br><div class="gmail_quote">On Mon, Dec 26, 2011 at 4:57 PM, Biddiscombe, John A. <span dir="ltr">&lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote">

<div link="blue" vlink="purple" lang="EN-GB">
<div>
<p class="MsoNormal"><span>Andy,</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Merry Christmas &hellip;.</span></p>
<div>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&gt;&nbsp;</span></p>
<p class="MsoNormal">Any chance you could test with the paraview's current master branch?<br><span>&lt;</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
</div>
<p class="MsoNormal"><span>Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Using the pvbatch test you sent, it hangs&nbsp; the same &hellip; I have N-1 in here</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length, int type, int root)&nbsp; Line 1132 + 0x3b bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId)&nbsp; Line 256&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length, int srcProcessId)&nbsp; Line 402&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image, const char * filename, const char * writerName)&nbsp; Line 139&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)&nbsp; Line 311 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)&nbsp; Line 367 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp; C++
</span></p>
<div>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>and 1 in here.</span></p>
</div>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId,
 int * comm)&nbsp; Line 317&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int
 destProcessId)&nbsp; Line 1395 + 0x4c bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)&nbsp; Line
 633&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)&nbsp;
 Line 811&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds)&nbsp; Line 1381&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering)&nbsp; Line 598&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering)&nbsp; Line 882&nbsp; C++</span></p>

<div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()&nbsp; Line 745&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

</div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream
 &amp; msg, vtkClientServerStream &amp; resultStream)&nbsp; Line 258&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream &amp; css, int midx)&nbsp; Line 379 + 0x2f bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream &amp; css, int message)&nbsp; Line 214 + 0x1d bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream &amp; css)&nbsp; Line 183 + 0x14 bytes&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp; Line 636&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location, const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp;
 Line 606&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location, const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp;
 Line 157&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream &amp; stream, bool ignore_errors, unsigned int location)&nbsp; Line 2092&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::StillRender()&nbsp; Line 137 + 0x18 bytes C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()&nbsp; Line 86&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()&nbsp; Line 302&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkRenderWindowInteractor::Initialize()&nbsp; Line 632&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()&nbsp; Line 76 + 0x13 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

</div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen)&nbsp; Line 1417&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification)&nbsp; Line 875&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification)&nbsp; Line 268 + 0x20 bytes&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)&nbsp; Line 307 + 0x11 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)&nbsp; Line 367 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>I&rsquo;ll look and see if some commits mentioned in earlier emails are missing from master.</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy Bauer [mailto:<a href="mailto:andy.bauer <at> kitware.com" target="_blank">andy.bauer <at> kitware.com</a>]
<br>Sent: 21 December 2011 21:59<div>
<div></div>
<div>
<br>To: Biddiscombe, John A.<br>Cc: <a href="mailto:paraview <at> paraview.org" target="_blank">paraview <at> paraview.org</a><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</div>
</div></span></p>
<div>
<div></div>
<div>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">I'm attaching a couple of files that you can use to test if you have the proper fix for your branch.&nbsp; Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py".&nbsp; If you get the same results
 then you don't have the fix yet for the image issue.&nbsp; Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.<br><br>
Andy</p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:</p>
<div>
<div>
<p class="MsoNormal"><span>I&rsquo;ll give it a try using master, a very simple python script is attached.
</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>The original contained a lot more filters, this has most of them stripped out and just a contour
 left. And yes, it is possible that some processes have no points.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy
 Bauer [mailto:</span><a href="mailto:andy.bauer <at> kitware.com" target="_blank"><span lang="EN-US">andy.bauer <at> kitware.com</span></a><span lang="EN-US">]
<br>Sent: 21 December 2011 19:10<br>To: Biddiscombe, John A.<br>Cc: </span><a href="mailto:paraview <at> paraview.org" target="_blank"><span lang="EN-US">paraview <at> paraview.org</span></a><span lang="EN-US"><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</span></p>
<div>
<div>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Hi John,<br><br>
There were a couple of issues when saving images.&nbsp; One was for saving charts and maybe 2d views.&nbsp; The other one was for when some processes didn't have any points or cells.&nbsp; Looking at your stack traces I don't think it's the latter since that would fail in
 the python script and give a warning in there.&nbsp; Any chance you could test with the paraview's current master branch?<br><br>
Are you using a python script to drive the coprocessing?&nbsp; If yes, can you share it?<br><br>
Andy</p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:</p>
<p class="MsoNormal">I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...<br><br>
1 &nbsp;process makes it to here and waits for MPI traffic<br><br>
&gt; &nbsp; &nbsp; &nbsp; vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670) &nbsp;Line 317 &nbsp; C++<br>

&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0) &nbsp;Line 1422 + 0x4c bytes &nbsp; &nbsp; &nbsp;C++<br>

&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) &nbsp;Line 633 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) &nbsp;Line 811 &nbsp; &nbsp; &nbsp; C++<br>

&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8) &nbsp;Line 1381 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true) &nbsp;Line 598 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false) &nbsp;Line 882 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::StillRender() &nbsp;Line 745 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream &amp; msg={...}, vtkClientServerStream &amp; resultStream={...})
 &nbsp;Line 258 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream &amp; css={...}, int midx=0) &nbsp;Line 379 + 0x2f bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream &amp; css={...}, int message=0) &nbsp;Line 214 + 0x1d bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream &amp; css={...}) &nbsp;Line 183 + 0x14 bytes &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 636 &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 606 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 157 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false, unsigned int location=21) &nbsp;Line 2092 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::StillRender() &nbsp;Line 137 + 0x18 bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender() &nbsp;Line 86 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render() &nbsp;Line 302 &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkRenderWindowInteractor::Initialize() &nbsp;Line 632 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize() &nbsp;Line 76 + 0x13 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0) &nbsp;Line 1268 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1) &nbsp;Line 875 &nbsp; &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1) &nbsp;Line 268 + 0x20 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1) &nbsp;Line 307 + 0x11 bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438) &nbsp;Line 367 + 0x1f bytes &nbsp;C++<br><br>
------------------------------<br>
but the other N-1 processes end up in here - waiting<br><br>
&gt; &nbsp; &nbsp; &nbsp; vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0) &nbsp;Line 1159 + 0x31 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) &nbsp;Line 256 &nbsp; &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) &nbsp;Line 402 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0) &nbsp;Line 139 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1) &nbsp;Line 311 + 0x1f bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438) &nbsp;Line 367 + 0x1f bytes &nbsp;C++<br><br>
There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there
 othe fixes on master/next that I might beneeding?<br><br>
Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.<br><br>
Any help appreciated.<br><br>
thanks<br><br>
JB</p>
</div>
<p class="MsoNormal">&nbsp;</p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">&nbsp;</p>
</div>
</div>
</div>
</div>

</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
Biddiscombe, John A. | 2 Jan 2012 23:54
Picon
Favicon

Re: PV 3.12.0 coprocessing problem

Andy

 

Thanks for the replies, I’ve been out drinking a bit so this reply may be hazy, but I did an update after Utkarsh’s last gatekeeper review (which said some pvbatch fixes) and found that your test works fine now. Two things – one is that I did the update (on my master from kitware/master), the other that I looked at the test and saw you’d left /my/ssd/drive/path/stuff in the output filenames, so it would never have worked for me, and I didn’t check it before (this would explain the hang). However I got an error message (which I hadn’t done before) which told me that it was unable to write to file XXX (and that’s why I checked the path names in the script). Your test now runs just fine for me.

 

My own coprocessing test still has problems. It no longer hangs, but nothing is written out (no png I mean), so I’ll try your suggestion of adding writers to the pipeline to see what geometry is present.

 

I agree that it is almost certainly not the the coprocessing that’s now the issue.

 

Thanks for delving into this.

 

JB

One small wrinkle is that on linux, my python print statements produce output I can see, but on windows, I see nothing from them. No idea why, but it’d help debugging if I knew.

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 02 January 2012 22:35
To: Biddiscombe, John A.
Cc: paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

I made a mistake.  That reduced-1.py script doesn't work with that sha but does work with an older version.  For that sha you'll need to comment out the lines with HeadPose and WandPose.

Andy

On Mon, Jan 2, 2012 at 4:16 PM, Andy Bauer <andy.bauer <at> kitware.com> wrote:

Happy New Year John,

That branch that you used should be fine.  I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.

I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it.  I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture).  I also removed the part where the proxies are deleted because that's been changed about a week ago.  I'm attaching the files I used to run.  I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py reduced-1.py 3) without any problems. 

I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView.  It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process.  Is your input a topologically structured grid?  If it is, did you properly set the whole extent for your vtkCPInputDataDescription object?  The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter.  Maybe someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries.  If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down.  Maybe if you could send me a file for your data set I can try to replicate it here.

Andy

 

On Mon, Dec 26, 2011 at 4:57 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

Andy,

 

Merry Christmas ….

 

Any chance you could test with the paraview's current master branch?
<

 

Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478

 

Using the pvbatch test you sent, it hangs  the same … I have N-1 in here

 

>             vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length, int type, int root)  Line 1132 + 0x3b bytes          C++

                vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId)  Line 256              C++

                vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length, int srcProcessId)  Line 402             C++

                vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image, const char * filename, const char * writerName)  Line 139          C++

                vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)  Line 311 + 0x1f bytes       C++

                vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)  Line 367 + 0x1f bytes     C++

 

and 1 in here.

 

>             vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId, int * comm)  Line 317        C++

                vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId)  Line 1395 + 0x4c bytes              C++

                vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)  Line 633   C++

                vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)  Line 811            C++

                vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds)  Line 1381                C++

                vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering)  Line 598         C++

                vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering)  Line 882  C++

                vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()  Line 745      C++

                vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream & msg, vtkClientServerStream & resultStream)  Line 258        C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css, int midx)  Line 379 + 0x2f bytes        C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css, int message)  Line 214 + 0x1d bytes               C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css)  Line 183 + 0x14 bytes     C++

                vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream, bool ignore_errors)  Line 636      C++

                vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)  Line 606  C++

                vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)  Line 157  C++

                vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream, bool ignore_errors, unsigned int location)  Line 2092                C++

                vtkPVServerManager.dll!vtkSMViewProxy::StillRender()  Line 137 + 0x18 bytes C++

                vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()  Line 86          C++

                vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()  Line 302       C++

                vtkRendering.dll!vtkRenderWindowInteractor::Initialize()  Line 632         C++

                vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()  Line 76 + 0x13 bytes            C++

                vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen)  Line 1417    C++

                vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification)  Line 875               C++

                vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification)  Line 268 + 0x20 bytes    C++

                vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)  Line 307 + 0x11 bytes      C++

                vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)  Line 367 + 0x1f bytes     C++

 

I’ll look and see if some commits mentioned in earlier emails are missing from master.

 

JB

 

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 21:59


To: Biddiscombe, John A.
Cc: paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

I'm attaching a couple of files that you can use to test if you have the proper fix for your branch.  Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py".  If you get the same results then you don't have the fix yet for the image issue.  Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.

Andy

On Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

I’ll give it a try using master, a very simple python script is attached.

 

The original contained a lot more filters, this has most of them stripped out and just a contour left. And yes, it is possible that some processes have no points.

 

JB

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 19:10
To: Biddiscombe, John A.
Cc:
paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

Hi John,

There were a couple of issues when saving images.  One was for saving charts and maybe 2d views.  The other one was for when some processes didn't have any points or cells.  Looking at your stack traces I don't think it's the latter since that would fail in the python script and give a warning in there.  Any chance you could test with the paraview's current master branch?

Are you using a python script to drive the coprocessing?  If yes, can you share it?

Andy

On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...

1  process makes it to here and waits for MPI traffic

>       vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670)  Line 317   C++
       vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0)  Line 1422 + 0x4c bytes      C++
       vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0)  Line 633 C++
       vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0)  Line 811       C++
       vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8)  Line 1381      C++
       vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true)  Line 598     C++
       vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false)  Line 882  C++
       vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()  Line 745      C++
       vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream & msg={...}, vtkClientServerStream & resultStream={...})  Line 258  C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css={...}, int midx=0)  Line 379 + 0x2f bytes        C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css={...}, int message=0)  Line 214 + 0x1d bytes        C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css={...})  Line 183 + 0x14 bytes   C++
       vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 636   C++
       vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 606 C++
       vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 157 C++
       vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream={...}, bool ignore_errors=false, unsigned int location=21)  Line 2092     C++
       vtkPVServerManager.dll!vtkSMViewProxy::StillRender()  Line 137 + 0x18 bytes     C++
       vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()  Line 86      C++
       vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()  Line 302   C++
       vtkRendering.dll!vtkRenderWindowInteractor::Initialize()  Line 632      C++
       vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()  Line 76 + 0x13 bytes        C++
       vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0)  Line 1268  C++
       vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1)  Line 875       C++
       vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1)  Line 268 + 0x20 bytes        C++
       vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1)  Line 307 + 0x11 bytes     C++
       vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438)  Line 367 + 0x1f bytes  C++

------------------------------
but the other N-1 processes end up in here - waiting

>       vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0)  Line 1159 + 0x31 bytes        C++
       vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 256       C++
       vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 402     C++
       vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0)  Line 139  C++
       vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1)  Line 311 + 0x1f bytes     C++
       vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438)  Line 367 + 0x1f bytes  C++

There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there othe fixes on master/next that I might beneeding?

Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.

Any help appreciated.

thanks

JB

 

 

 

 

<div>
<div class="WordSection1">
<p class="MsoNormal"><span>Andy<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>Thanks for the replies, I&rsquo;ve been out drinking a bit so this reply may be hazy, but I did an update after Utkarsh&rsquo;s last gatekeeper review (which said some
 pvbatch fixes) and found that your test works fine now. Two things &ndash; one is that I did the update (on my master from kitware/master), the other that I looked at the test and saw you&rsquo;d left /my/ssd/drive/path/stuff in the output filenames, so it would never
 have worked for me, and I didn&rsquo;t check it before (this would explain the hang). However I got an error message (which I hadn&rsquo;t done before) which told me that it was unable to write to file XXX (and that&rsquo;s why I checked the path names in the script). Your
 test now runs just fine for me.<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>My own coprocessing test still has problems. It no longer hangs, but nothing is written out (no png I mean), so I&rsquo;ll try your suggestion of adding writers to
 the pipeline to see what geometry is present.<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>I agree that it is almost certainly not the the coprocessing that&rsquo;s now the issue.
<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>Thanks for delving into this.<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>JB<p></p></span></p>
<p class="MsoNormal"><span>One small wrinkle is that on linux, my python print statements produce output I can see, but on windows, I see nothing from them. No idea why, but it&rsquo;d help
 debugging if I knew.<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy Bauer [mailto:andy.bauer <at> kitware.com]
<br>Sent: 02 January 2012 22:35<br>To: Biddiscombe, John A.<br>Cc: paraview <at> paraview.org<br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem<p></p></span></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal">I made a mistake.&nbsp; That reduced-1.py script doesn't work with that sha but does work with an older version.&nbsp; For that sha you'll need to comment out the lines with HeadPose and WandPose.<br><br>
Andy<p></p></p>
<div>
<p class="MsoNormal">On Mon, Jan 2, 2012 at 4:16 PM, Andy Bauer &lt;<a href="mailto:andy.bauer <at> kitware.com">andy.bauer <at> kitware.com</a>&gt; wrote:<p></p></p>
<p class="MsoNormal">Happy New Year John,<br><br>
That branch that you used should be fine.&nbsp; I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.<br><br>
I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it.&nbsp; I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture).&nbsp; I also
 removed the part where the proxies are deleted because that's been changed about a week ago.&nbsp; I'm attaching the files I used to run.&nbsp; I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py
 reduced-1.py 3) without any problems.&nbsp; <br><br>
I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView.&nbsp; It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process.&nbsp; Is
 your input a topologically structured grid?&nbsp; If it is, did you properly set the whole extent for your vtkCPInputDataDescription object?&nbsp; The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter.&nbsp; Maybe
 someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries.&nbsp; If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down.&nbsp; Maybe if you
 could send me a file for your data set I can try to replicate it here.<br><span><br>
Andy</span><p></p></p>
<div>
<div>
<p class="MsoNormal"><p>&nbsp;</p></p>
<div>
<p class="MsoNormal">On Mon, Dec 26, 2011 at 4:57 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:<p></p></p>
<div>
<div>
<p class="MsoNormal"><span>Andy,</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>Merry Christmas &hellip;.</span><p></p></p>
<div>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>&gt;&nbsp;</span><p></p></p>
<p class="MsoNormal">Any chance you could test with the paraview's current master branch?<br><span>&lt;</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
</div>
<p class="MsoNormal"><span>Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>Using the pvbatch test you sent, it hangs&nbsp; the same &hellip; I have N-1 in here</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length,
 int type, int root)&nbsp; Line 1132 + 0x3b bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId)&nbsp;
 Line 256&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length,
 int srcProcessId)&nbsp; Line 402&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image,
 const char * filename, const char * writerName)&nbsp; Line 139&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char
 * writerName, int magnification)&nbsp; Line 311 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object
 * args)&nbsp; Line 367 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp; C++ </span><p></p></p>
<div>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>and 1 in here.</span><p></p></p>
</div>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer,
 __int64 length, int type, int operation, int destProcessId, int * comm)&nbsp; Line 317&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void
 * recvBuffer, __int64 length, int type, int operation, int destProcessId)&nbsp; Line 1395 + 0x4c bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer,
 __int64 length, int operation, int destProcessId)&nbsp; Line 633&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double
 * recvBuffer, __int64 length, int operation, int destProcessId)&nbsp; Line 811&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double
 * bounds)&nbsp; Line 1381&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering)&nbsp;
 Line 598&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering)&nbsp;
 Line 882&nbsp; C++</span><p></p></p>
<div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()&nbsp; Line 745&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
</div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu,
 vtkObjectBase * ob, const char * method, const vtkClientServerStream &amp; msg, vtkClientServerStream &amp; resultStream)&nbsp; Line 258&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream
 &amp; css, int midx)&nbsp; Line 379 + 0x2f bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream
 &amp; css, int message)&nbsp; Line 214 + 0x1d bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream
 &amp; css)&nbsp; Line 183 + 0x14 bytes&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream
 &amp; stream, bool ignore_errors)&nbsp; Line 636&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location,
 const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp; Line 606&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location,
 const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp; Line 157&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream &amp; stream,
 bool ignore_errors, unsigned int location)&nbsp; Line 2092&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::StillRender()&nbsp; Line 137 + 0x18 bytes C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()&nbsp;
 Line 86&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()&nbsp; Line 302&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkRenderWindowInteractor::Initialize()&nbsp; Line 632&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()&nbsp; Line 76 + 0x13 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span><p></p></p>
</div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen)&nbsp;
 Line 1417&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification)&nbsp;
 Line 875&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification)&nbsp; Line 268
 + 0x20 bytes&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char
 * writerName, int magnification)&nbsp; Line 307 + 0x11 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object
 * args)&nbsp; Line 367 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp; C++</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>I&rsquo;ll look and see if some commits mentioned in earlier emails are missing from master.</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>JB</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy
 Bauer [mailto:<a href="mailto:andy.bauer <at> kitware.com" target="_blank">andy.bauer <at> kitware.com</a>]
<br>Sent: 21 December 2011 21:59<p></p></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US"><br>To: Biddiscombe, John A.<br>Cc: <a href="mailto:paraview <at> paraview.org" target="_blank">paraview <at> paraview.org</a><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem<p></p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">&nbsp;<p></p></p>
<p class="MsoNormal">I'm attaching a couple of files that you can use to test if you have the proper fix for your branch.&nbsp; Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py".&nbsp;
 If you get the same results then you don't have the fix yet for the image issue.&nbsp; Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.<br><br>
Andy<p></p></p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:<p></p></p>
<div>
<div>
<p class="MsoNormal"><span>I&rsquo;ll give it a try using master, a very simple python script is attached.
</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>The original contained a lot more filters, this has most of them stripped out and just a contour
 left. And yes, it is possible that some processes have no points.</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span>JB</span><p></p></p>
<p class="MsoNormal"><span>&nbsp;</span><p></p></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy
 Bauer [mailto:</span><a href="mailto:andy.bauer <at> kitware.com" target="_blank"><span lang="EN-US">andy.bauer <at> kitware.com</span></a><span lang="EN-US">]
<br>Sent: 21 December 2011 19:10<br>To: Biddiscombe, John A.<br>Cc: </span><a href="mailto:paraview <at> paraview.org" target="_blank"><span lang="EN-US">paraview <at> paraview.org</span></a><span lang="EN-US"><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</span><p></p></p>
<div>
<div>
<p class="MsoNormal">&nbsp;<p></p></p>
<p class="MsoNormal">Hi John,<br><br>
There were a couple of issues when saving images.&nbsp; One was for saving charts and maybe 2d views.&nbsp; The other one was for when some processes didn't have any points or cells.&nbsp; Looking at your stack traces I don't think it's the latter since that would fail in
 the python script and give a warning in there.&nbsp; Any chance you could test with the paraview's current master branch?<br><br>
Are you using a python script to drive the coprocessing?&nbsp; If yes, can you share it?<br><br>
Andy<p></p></p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:<p></p></p>
<p class="MsoNormal">I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...<br><br>
1 &nbsp;process makes it to here and waits for MPI traffic<br><br>
&gt; &nbsp; &nbsp; &nbsp; vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670) &nbsp;Line 317 &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0) &nbsp;Line 1422 + 0x4c bytes &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) &nbsp;Line 633 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) &nbsp;Line 811 &nbsp; &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8) &nbsp;Line 1381 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true) &nbsp;Line 598 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false) &nbsp;Line 882 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::StillRender() &nbsp;Line 745 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream &amp; msg={...}, vtkClientServerStream &amp; resultStream={...})
 &nbsp;Line 258 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream &amp; css={...}, int midx=0) &nbsp;Line 379 + 0x2f bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream &amp; css={...}, int message=0) &nbsp;Line 214 + 0x1d bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream &amp; css={...}) &nbsp;Line 183 + 0x14 bytes &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 636 &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 606 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 157 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false, unsigned int location=21) &nbsp;Line 2092 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::StillRender() &nbsp;Line 137 + 0x18 bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender() &nbsp;Line 86 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render() &nbsp;Line 302 &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkRenderWindowInteractor::Initialize() &nbsp;Line 632 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize() &nbsp;Line 76 + 0x13 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0) &nbsp;Line 1268 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1) &nbsp;Line 875 &nbsp; &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1) &nbsp;Line 268 + 0x20 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1) &nbsp;Line 307 + 0x11 bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438) &nbsp;Line 367 + 0x1f bytes &nbsp;C++<br><br>
------------------------------<br>
but the other N-1 processes end up in here - waiting<br><br>
&gt; &nbsp; &nbsp; &nbsp; vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0) &nbsp;Line 1159 + 0x31 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) &nbsp;Line 256 &nbsp; &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) &nbsp;Line 402 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0) &nbsp;Line 139 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1) &nbsp;Line 311 + 0x1f bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438) &nbsp;Line 367 + 0x1f bytes &nbsp;C++<br><br>
There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there
 othe fixes on master/next that I might beneeding?<br><br>
Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.<br><br>
Any help appreciated.<br><br>
thanks<br><br>
JB<p></p></p>
</div>
<p class="MsoNormal">&nbsp;<p></p></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">&nbsp;<p></p></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><p>&nbsp;</p></p>
</div>
</div>
</div>
<p class="MsoNormal"><p>&nbsp;</p></p>
</div>
</div>
Andy Bauer | 3 Jan 2012 00:09
Favicon

Re: PV 3.12.0 coprocessing problem

I have some upcoming changes in the script generator plugin that may help out with some of your problems when outputting images.  It will give you options to fit the view to screen (i.e. the reset button in the gui), rescale to the data range, and magnify the outputted image.  It will also give you separate output frequencies and better control of the file names as well. 

Andy

On Mon, Jan 2, 2012 at 5:54 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

Andy

 

Thanks for the replies, I’ve been out drinking a bit so this reply may be hazy, but I did an update after Utkarsh’s last gatekeeper review (which said some pvbatch fixes) and found that your test works fine now. Two things – one is that I did the update (on my master from kitware/master), the other that I looked at the test and saw you’d left /my/ssd/drive/path/stuff in the output filenames, so it would never have worked for me, and I didn’t check it before (this would explain the hang). However I got an error message (which I hadn’t done before) which told me that it was unable to write to file XXX (and that’s why I checked the path names in the script). Your test now runs just fine for me.

 

My own coprocessing test still has problems. It no longer hangs, but nothing is written out (no png I mean), so I’ll try your suggestion of adding writers to the pipeline to see what geometry is present.

 

I agree that it is almost certainly not the the coprocessing that’s now the issue.

 

Thanks for delving into this.

 

JB

One small wrinkle is that on linux, my python print statements produce output I can see, but on windows, I see nothing from them. No idea why, but it’d help debugging if I knew.

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 02 January 2012 22:35


To: Biddiscombe, John A.
Cc: paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

I made a mistake.  That reduced-1.py script doesn't work with that sha but does work with an older version.  For that sha you'll need to comment out the lines with HeadPose and WandPose.

Andy

On Mon, Jan 2, 2012 at 4:16 PM, Andy Bauer <andy.bauer <at> kitware.com> wrote:

Happy New Year John,

That branch that you used should be fine.  I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.

I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it.  I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture).  I also removed the part where the proxies are deleted because that's been changed about a week ago.  I'm attaching the files I used to run.  I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py reduced-1.py 3) without any problems. 

I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView.  It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process.  Is your input a topologically structured grid?  If it is, did you properly set the whole extent for your vtkCPInputDataDescription object?  The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter.  Maybe someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries.  If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down.  Maybe if you could send me a file for your data set I can try to replicate it here.

Andy

 

On Mon, Dec 26, 2011 at 4:57 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

Andy,

 

Merry Christmas ….

 

Any chance you could test with the paraview's current master branch?
<

 

Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478

 

Using the pvbatch test you sent, it hangs  the same … I have N-1 in here

 

>             vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length, int type, int root)  Line 1132 + 0x3b bytes          C++

                vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId)  Line 256              C++

                vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length, int srcProcessId)  Line 402             C++

                vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image, const char * filename, const char * writerName)  Line 139          C++

                vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)  Line 311 + 0x1f bytes       C++

                vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)  Line 367 + 0x1f bytes     C++

 

and 1 in here.

 

>             vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId, int * comm)  Line 317        C++

                vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void * recvBuffer, __int64 length, int type, int operation, int destProcessId)  Line 1395 + 0x4c bytes              C++

                vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)  Line 633   C++

                vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double * recvBuffer, __int64 length, int operation, int destProcessId)  Line 811            C++

                vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds)  Line 1381                C++

                vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering)  Line 598         C++

                vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering)  Line 882  C++

                vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()  Line 745      C++

                vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream & msg, vtkClientServerStream & resultStream)  Line 258        C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css, int midx)  Line 379 + 0x2f bytes        C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css, int message)  Line 214 + 0x1d bytes               C++

                vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css)  Line 183 + 0x14 bytes     C++

                vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream, bool ignore_errors)  Line 636      C++

                vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)  Line 606  C++

                vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors)  Line 157  C++

                vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream, bool ignore_errors, unsigned int location)  Line 2092                C++

                vtkPVServerManager.dll!vtkSMViewProxy::StillRender()  Line 137 + 0x18 bytes C++

                vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()  Line 86          C++

                vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()  Line 302       C++

                vtkRendering.dll!vtkRenderWindowInteractor::Initialize()  Line 632         C++

                vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()  Line 76 + 0x13 bytes            C++

                vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen)  Line 1417    C++

                vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification)  Line 875               C++

                vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification)  Line 268 + 0x20 bytes    C++

                vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char * writerName, int magnification)  Line 307 + 0x11 bytes      C++

                vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object * args)  Line 367 + 0x1f bytes     C++

 

I’ll look and see if some commits mentioned in earlier emails are missing from master.

 

JB

 

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 21:59


To: Biddiscombe, John A.
Cc: paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

I'm attaching a couple of files that you can use to test if you have the proper fix for your branch.  Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py".  If you get the same results then you don't have the fix yet for the image issue.  Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.

Andy

On Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

I’ll give it a try using master, a very simple python script is attached.

 

The original contained a lot more filters, this has most of them stripped out and just a contour left. And yes, it is possible that some processes have no points.

 

JB

 

From: Andy Bauer [mailto:andy.bauer <at> kitware.com]
Sent: 21 December 2011 19:10
To: Biddiscombe, John A.
Cc:
paraview <at> paraview.org
Subject: Re: [Paraview] PV 3.12.0 coprocessing problem

 

Hi John,

There were a couple of issues when saving images.  One was for saving charts and maybe 2d views.  The other one was for when some processes didn't have any points or cells.  Looking at your stack traces I don't think it's the latter since that would fail in the python script and give a warning in there.  Any chance you could test with the paraview's current master branch?

Are you using a python script to drive the coprocessing?  If yes, can you share it?

Andy

On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...

1  process makes it to here and waits for MPI traffic

>       vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670)  Line 317   C++
       vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0)  Line 1422 + 0x4c bytes      C++
       vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0)  Line 633 C++
       vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0)  Line 811       C++
       vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8)  Line 1381      C++
       vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true)  Line 598     C++
       vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false)  Line 882  C++
       vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()  Line 745      C++
       vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream & msg={...}, vtkClientServerStream & resultStream={...})  Line 258  C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css={...}, int midx=0)  Line 379 + 0x2f bytes        C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css={...}, int message=0)  Line 214 + 0x1d bytes        C++
       vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css={...})  Line 183 + 0x14 bytes   C++
       vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 636   C++
       vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 606 C++
       vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream & stream={...}, bool ignore_errors=false)  Line 157 C++
       vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream={...}, bool ignore_errors=false, unsigned int location=21)  Line 2092     C++
       vtkPVServerManager.dll!vtkSMViewProxy::StillRender()  Line 137 + 0x18 bytes     C++
       vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()  Line 86      C++
       vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()  Line 302   C++
       vtkRendering.dll!vtkRenderWindowInteractor::Initialize()  Line 632      C++
       vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()  Line 76 + 0x13 bytes        C++
       vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0)  Line 1268  C++
       vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1)  Line 875       C++
       vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1)  Line 268 + 0x20 bytes        C++
       vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1)  Line 307 + 0x11 bytes     C++
       vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438)  Line 367 + 0x1f bytes  C++

------------------------------
but the other N-1 processes end up in here - waiting

>       vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0)  Line 1159 + 0x31 bytes        C++
       vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 256       C++
       vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 402     C++
       vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0)  Line 139  C++
       vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1)  Line 311 + 0x1f bytes     C++
       vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438)  Line 367 + 0x1f bytes  C++

There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there othe fixes on master/next that I might beneeding?

Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.

Any help appreciated.

thanks

JB

 

 

 

 


<div>
<p>I have some upcoming changes in the script generator plugin that may help out with some of your problems when outputting images.&nbsp; It will give you options to fit the view to screen (i.e. the reset button in the gui), rescale to the data range, and magnify the outputted image.&nbsp; It will also give you separate output frequencies and better control of the file names as well.&nbsp; <br><br>Andy<br><br></p>
<div class="gmail_quote">On Mon, Jan 2, 2012 at 5:54 PM, 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">

<div link="blue" vlink="purple" lang="EN-GB">
<div>
<p class="MsoNormal"><span>Andy</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Thanks for the replies, I&rsquo;ve been out drinking a bit so this reply may be hazy, but I did an update after Utkarsh&rsquo;s last gatekeeper review (which said some
 pvbatch fixes) and found that your test works fine now. Two things &ndash; one is that I did the update (on my master from kitware/master), the other that I looked at the test and saw you&rsquo;d left /my/ssd/drive/path/stuff in the output filenames, so it would never
 have worked for me, and I didn&rsquo;t check it before (this would explain the hang). However I got an error message (which I hadn&rsquo;t done before) which told me that it was unable to write to file XXX (and that&rsquo;s why I checked the path names in the script). Your
 test now runs just fine for me.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>My own coprocessing test still has problems. It no longer hangs, but nothing is written out (no png I mean), so I&rsquo;ll try your suggestion of adding writers to
 the pipeline to see what geometry is present.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>I agree that it is almost certainly not the the coprocessing that&rsquo;s now the issue.
</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Thanks for delving into this.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span>One small wrinkle is that on linux, my python print statements produce output I can see, but on windows, I see nothing from them. No idea why, but it&rsquo;d help
 debugging if I knew.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy Bauer [mailto:<a href="mailto:andy.bauer <at> kitware.com" target="_blank">andy.bauer <at> kitware.com</a>]
<br>Sent: 02 January 2012 22:35<div>
<div></div>
<div class="h5">
<br>To: Biddiscombe, John A.<br>Cc: <a href="mailto:paraview <at> paraview.org" target="_blank">paraview <at> paraview.org</a><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</div>
</div></span></p>
<div>
<div></div>
<div class="h5">
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">I made a mistake.&nbsp; That reduced-1.py script doesn't work with that sha but does work with an older version.&nbsp; For that sha you'll need to comment out the lines with HeadPose and WandPose.<br><br>
Andy</p>
<div>
<p class="MsoNormal">On Mon, Jan 2, 2012 at 4:16 PM, Andy Bauer &lt;<a href="mailto:andy.bauer <at> kitware.com" target="_blank">andy.bauer <at> kitware.com</a>&gt; wrote:</p>
<p class="MsoNormal">Happy New Year John,<br><br>
That branch that you used should be fine.&nbsp; I did my testing below with 803fb9bda66b479949556c14f9777384995188a6.<br><br>
I got a chance to play around with your reduced-1.py script and didn't see anything wrong with it.&nbsp; I modified it to work with the my driver script and to write out the results (I didn't want to mess with the view settings to get a "nice" picture).&nbsp; I also
 removed the part where the proxies are deleted because that's been changed about a week ago.&nbsp; I'm attaching the files I used to run.&nbsp; I ran it both in serial (bin/pvpython pkfdriver.py reduced-1.py 3) and parallel (mpirun -np 2 bin/pvbatch --symmetric pkfdriver.py
 reduced-1.py 3) without any problems.&nbsp; <br><br>
I'm not sure how to go any further in solving this problem myself since I'm quite unfamiliar with the rendering parts of VTK and ParaView.&nbsp; It does seem odd to me though that vtkRenderWindowInteractor::Initialize() is in the stack of the single process.&nbsp; Is
 your input a topologically structured grid?&nbsp; If it is, did you properly set the whole extent for your vtkCPInputDataDescription object?&nbsp; The last thing I can think of is to add in a writer to the script to see the actual output from the contour filter.&nbsp; Maybe
 someone else on the list has an idea of what's going wrong since I don't think it's a problem with the coprocessing libraries.&nbsp; If you can demonstrate the problem in some way that I can repeat it here though I'll keep trying to track it down.&nbsp; Maybe if you
 could send me a file for your data set I can try to replicate it here.<br><span><br>
Andy</span></p>
<div>
<div>
<p class="MsoNormal">&nbsp;</p>
<div>
<p class="MsoNormal">On Mon, Dec 26, 2011 at 4:57 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:</p>
<div>
<div>
<p class="MsoNormal"><span>Andy,</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Merry Christmas &hellip;.</span></p>
<div>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&gt;&nbsp;</span></p>
<p class="MsoNormal">Any chance you could test with the paraview's current master branch?<br><span>&lt;</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
</div>
<p class="MsoNormal"><span>Using kitware/master ref : aef70217488706ecd124e4ad5cb25e47f57d1478</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Using the pvbatch test you sent, it hangs&nbsp; the same &hellip; I have N-1 in here</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data, __int64 length,
 int type, int root)&nbsp; Line 1132 + 0x3b bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkCommunicator::Broadcast(int * data, __int64 length, int srcProcessId)&nbsp;
 Line 256&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data, __int64 length,
 int srcProcessId)&nbsp; Line 402&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image,
 const char * filename, const char * writerName)&nbsp; Line 139&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char
 * writerName, int magnification)&nbsp; Line 311 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object
 * args)&nbsp; Line 367 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp; C++ </span></p>
<div>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>and 1 in here.</span></p>
</div>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer, void * recvBuffer,
 __int64 length, int type, int operation, int destProcessId, int * comm)&nbsp; Line 317&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer, void
 * recvBuffer, __int64 length, int type, int operation, int destProcessId)&nbsp; Line 1395 + 0x4c bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer, double * recvBuffer,
 __int64 length, int operation, int destProcessId)&nbsp; Line 633&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer, double
 * recvBuffer, __int64 length, int operation, int destProcessId)&nbsp; Line 811&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double
 * bounds)&nbsp; Line 1381&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering)&nbsp;
 Line 598&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive, bool skip_rendering)&nbsp;
 Line 882&nbsp; C++</span></p>
<div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()&nbsp; Line 745&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

</div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu,
 vtkObjectBase * ob, const char * method, const vtkClientServerStream &amp; msg, vtkClientServerStream &amp; resultStream)&nbsp; Line 258&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream
 &amp; css, int midx)&nbsp; Line 379 + 0x2f bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream
 &amp; css, int message)&nbsp; Line 214 + 0x1d bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream
 &amp; css)&nbsp; Line 183 + 0x14 bytes&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream
 &amp; stream, bool ignore_errors)&nbsp; Line 636&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location,
 const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp; Line 606&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location,
 const vtkClientServerStream &amp; stream, bool ignore_errors)&nbsp; Line 157&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream &amp; stream,
 bool ignore_errors, unsigned int location)&nbsp; Line 2092&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::StillRender()&nbsp; Line 137 + 0x18 bytes C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender()&nbsp;
 Line 86&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()&nbsp; Line 302&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkRenderWindowInteractor::Initialize()&nbsp; Line 632&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()&nbsp; Line 76 + 0x13 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 C++</span></p>
</div>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen)&nbsp;
 Line 1417&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification)&nbsp;
 Line 875&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification)&nbsp; Line 268
 + 0x20 bytes&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename, const char
 * writerName, int magnification)&nbsp; Line 307 + 0x11 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self, _object
 * args)&nbsp; Line 367 + 0x1f bytes&nbsp;&nbsp;&nbsp;&nbsp; C++</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>I&rsquo;ll look and see if some commits mentioned in earlier emails are missing from master.</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy
 Bauer [mailto:<a href="mailto:andy.bauer <at> kitware.com" target="_blank">andy.bauer <at> kitware.com</a>]
<br>Sent: 21 December 2011 21:59</span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US"><br>To: Biddiscombe, John A.<br>Cc: <a href="mailto:paraview <at> paraview.org" target="_blank">paraview <at> paraview.org</a><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">I'm attaching a couple of files that you can use to test if you have the proper fix for your branch.&nbsp; Run the python script with "mpirun -np 8 bin/pvbatch -sym parallelpythontest.py".&nbsp;
 If you get the same results then you don't have the fix yet for the image issue.&nbsp; Note that parallelpythontest2.png isn't getting colored properly while parallelpythontest.png is.<br><br>
Andy</p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 3:48 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:</p>
<div>
<div>
<p class="MsoNormal"><span>I&rsquo;ll give it a try using master, a very simple python script is attached.
</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>The original contained a lot more filters, this has most of them stripped out and just a contour
 left. And yes, it is possible that some processes have no points.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">From:</span><span lang="EN-US"> Andy
 Bauer [mailto:</span><a href="mailto:andy.bauer <at> kitware.com" target="_blank"><span lang="EN-US">andy.bauer <at> kitware.com</span></a><span lang="EN-US">]
<br>Sent: 21 December 2011 19:10<br>To: Biddiscombe, John A.<br>Cc: </span><a href="mailto:paraview <at> paraview.org" target="_blank"><span lang="EN-US">paraview <at> paraview.org</span></a><span lang="EN-US"><br>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem</span></p>
<div>
<div>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Hi John,<br><br>
There were a couple of issues when saving images.&nbsp; One was for saving charts and maybe 2d views.&nbsp; The other one was for when some processes didn't have any points or cells.&nbsp; Looking at your stack traces I don't think it's the latter since that would fail in
 the python script and give a warning in there.&nbsp; Any chance you could test with the paraview's current master branch?<br><br>
Are you using a python script to drive the coprocessing?&nbsp; If yes, can you share it?<br><br>
Andy</p>
<div>
<p class="MsoNormal">On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. &lt;<a href="mailto:biddisco <at> cscs.ch" target="_blank">biddisco <at> cscs.ch</a>&gt; wrote:</p>
<p class="MsoNormal">I'm getting lock ups when saving images using the coprocessing. It looks a lot like a bug that was fixed many moons ago, but maybe the fix got lost in a merge ...<br><br>
1 &nbsp;process makes it to here and waits for MPI traffic<br><br>
&gt; &nbsp; &nbsp; &nbsp; vtkParallel.dll!vtkMPICommunicatorReduceData(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1476395010, int destProcessId=0, int * comm=0x0000000005d77670) &nbsp;Line 317 &nbsp; C++<br>

&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMPICommunicator::ReduceVoidArray(const void * sendBuffer=0x000000000012c318, void * recvBuffer=0x000000000012c378, __int64 length=3, int type=11, int operation=1, int destProcessId=0) &nbsp;Line 1422 + 0x4c bytes &nbsp; &nbsp; &nbsp;C++<br>

&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkCommunicator::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) &nbsp;Line 633 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMultiProcessController::Reduce(const double * sendBuffer=0x000000000012c318, double * recvBuffer=0x000000000012c378, __int64 length=3, int operation=1, int destProcessId=0) &nbsp;Line 811 &nbsp; &nbsp; &nbsp; C++<br>

&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8) &nbsp;Line 1381 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true) &nbsp;Line 598 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false) &nbsp;Line 882 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCore.dll!vtkPVRenderView::StillRender() &nbsp;Line 745 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream &amp; msg={...}, vtkClientServerStream &amp; resultStream={...})
 &nbsp;Line 258 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream &amp; css={...}, int midx=0) &nbsp;Line 379 + 0x2f bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream &amp; css={...}, int message=0) &nbsp;Line 214 + 0x1d bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream &amp; css={...}) &nbsp;Line 183 + 0x14 bytes &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 636 &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 606 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false) &nbsp;Line 157 C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false, unsigned int location=21) &nbsp;Line 2092 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::StillRender() &nbsp;Line 137 + 0x18 bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!`anonymous namespace'::vtkRenderHelper::EventuallyRender() &nbsp;Line 86 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render() &nbsp;Line 302 &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkRenderWindowInteractor::Initialize() &nbsp;Line 632 &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize() &nbsp;Line 76 + 0x13 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0) &nbsp;Line 1268 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1) &nbsp;Line 875 &nbsp; &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1) &nbsp;Line 268 + 0x20 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1) &nbsp;Line 307 + 0x11 bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438) &nbsp;Line 367 + 0x1f bytes &nbsp;C++<br><br>
------------------------------<br>
but the other N-1 processes end up in here - waiting<br><br>
&gt; &nbsp; &nbsp; &nbsp; vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0) &nbsp;Line 1159 + 0x31 bytes &nbsp; &nbsp; &nbsp; &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) &nbsp;Line 256 &nbsp; &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0) &nbsp;Line 402 &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0) &nbsp;Line 139 &nbsp;C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1) &nbsp;Line 311 + 0x1f bytes &nbsp; &nbsp; C++<br>
&nbsp; &nbsp; &nbsp; &nbsp;vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438) &nbsp;Line 367 + 0x1f bytes &nbsp;C++<br><br>
There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I'm using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy's patch from kitware/master or wherever that was mentioned a few days ago -are there
 othe fixes on master/next that I might beneeding?<br><br>
Any ideas. The pipeline is a contour of some image data on N processes. Pretty Simple.<br><br>
Any help appreciated.<br><br>
thanks<br><br>
JB</p>
</div>
<p class="MsoNormal">&nbsp;</p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">&nbsp;</p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">&nbsp;</p>
</div>
</div>
</div>
<p class="MsoNormal">&nbsp;</p>
</div>
</div>
</div>
</div>

</blockquote>
</div>
<br>
</div>
Biddiscombe, John A. | 10 Jan 2012 12:59
Picon
Favicon

Re: PV 3.12.0 coprocessing problem

Andy

 

Everything is working ok now. I’m glad that you are far away, because you may want to throw something heavy at me.

 

I found that my main problem was that I passed an array of real(4) from fortran to use for the grid spacing and cast them to double* in my adaptor, this caused some ridiculous numbers to be used for the grid and the python script was basically aborting without doing anything – hence the lack of png output (and no error messages either). Of course all my print statements were in the fortran side to check that the values were correct so I didn’t catch it for ages.

 

Anyway. All seems fine now.

 

New Question :

I am padding my imagedata pieces with one ghost cell on each side. Contouring etc works fine and pieces abut seamlessly, but for general safety, should I add a vtkGhostLevel array to my pointdata to ensure that other filters I might add later don’t make data in these regions visible?

(I didn’t look to see if there is an example anywhere that does this).

 

thanks

 

JB

 

PS. When I add a scalar bar to the display, the script displays this error on the first timestep. Quite annoying – is there anything I can set to true/false to make it go away.

 

<div>
<div class="WordSection1">
<p class="MsoNormal"><span>Andy<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>Everything is working ok now. I&rsquo;m glad that you are far away, because you may want to throw something heavy at me.<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>I found that my main problem was that I passed an array of real(4) from fortran to use for the grid spacing and cast them to double* in my adaptor, this caused
 some ridiculous numbers to be used for the grid and the python script was basically aborting without doing anything &ndash; hence the lack of png output (and no error messages either). Of course all my print statements were in the fortran side to check that the
 values were correct so I didn&rsquo;t catch it for ages.<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>Anyway. All seems fine now.<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>New Question :
<p></p></span></p>
<p class="MsoNormal"><span>I am padding my imagedata pieces with one ghost cell on each side. Contouring etc works fine and pieces abut seamlessly, but for general safety, should I add
 a vtkGhostLevel array to my pointdata to ensure that other filters I might add later don&rsquo;t make data in these regions visible?<p></p></span></p>
<p class="MsoNormal"><span>(I didn&rsquo;t look to see if there is an example anywhere that does this).<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>thanks<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>JB<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>PS. When I add a scalar bar to the display, the script displays this error on the first timestep. Quite annoying &ndash; is there anything I can set to true/false
 to make it go away.<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><p></p></p>
</div>
</div>
Andy Bauer | 10 Jan 2012 16:56
Favicon

Re: PV 3.12.0 coprocessing problem

Hi John,

Glad you got the bug fixed.  As far as I can tell, ParaView has now been bug-free for 3 years so I knew it must have been with your code :)

I can't say for sure but I would think that you'd want to add in the vtkGhostLevel array.  The trivial producer that's used to inject the data object into the pipeline probably isn't smart enough to pass that information along yet though.  This is something which I've been wondering for a while but haven't gotten around to looking into deeper.  It will probably be a bigger issue when we get the live-data working with coprocessing such that people can interact with the data coming out of their simulation code through the coprocessing library.  Utkarsh is spending time on that now so someone is going to have to figure out that answer fairly soon.  I'll put it on my list of things to do but if you want to take charge of it, I won't complain!

As for the scalar bar error dialogue, I'm not getting it on my machine so I'm not sure how it's coming up much less how to get rid of it.  I'd be more than happy to help you get rid of it though once I get more information.

Another thing -- have you looked at CMake's FortranCInterface stuff for automatically mangling the C++ functions to match up with Fortran?  It should make it such that you don't have to do the machine dependent mangling yourself.  An example is at ParaView/CoProcessing/Adaptors/FortranAdaptors if you haven't checked it out yet.

Andy



On Tue, Jan 10, 2012 at 6:59 AM, Biddiscombe, John A. <biddisco <at> cscs.ch> wrote:

Andy

 

Everything is working ok now. I’m glad that you are far away, because you may want to throw something heavy at me.

 

I found that my main problem was that I passed an array of real(4) from fortran to use for the grid spacing and cast them to double* in my adaptor, this caused some ridiculous numbers to be used for the grid and the python script was basically aborting without doing anything – hence the lack of png output (and no error messages either). Of course all my print statements were in the fortran side to check that the values were correct so I didn’t catch it for ages.

 

Anyway. All seems fine now.

 

New Question :

I am padding my imagedata pieces with one ghost cell on each side. Contouring etc works fine and pieces abut seamlessly, but for general safety, should I add a vtkGhostLevel array to my pointdata to ensure that other filters I might add later don’t make data in these regions visible?

(I didn’t look to see if there is an example anywhere that does this).

 

thanks

 

JB

 

PS. When I add a scalar bar to the display, the script displays this error on the first timestep. Quite annoying – is there anything I can set to true/false to make it go away.

 


<div>
<p>Hi John,<br><br>Glad you got the bug fixed.&nbsp; As far as I can tell, ParaView has now been bug-free for 3 years so I knew it must have been with your code :)<br><br>I can't say for sure but I would think that you'd want to add in the vtkGhostLevel array.&nbsp; The trivial producer that's used to inject the data object into the pipeline probably isn't smart enough to pass that information along yet though.&nbsp; This is something which I've been wondering for a while but haven't gotten around to looking into deeper.&nbsp; It will probably be a bigger issue when we get the live-data working with coprocessing such that people can interact with the data coming out of their simulation code through the coprocessing library.&nbsp; Utkarsh is spending time on that now so someone is going to have to figure out that answer fairly soon.&nbsp; I'll put it on my list of things to do but if you want to take charge of it, I won't complain!<br><br>As for the scalar bar error dialogue, I'm not getting it on my machine so I'm not sure how it's coming up much less how to get rid of it.&nbsp; I'd be more than happy to help you get rid of it though once I get more information.<br><br>Another thing -- have you looked at CMake's FortranCInterface stuff for automatically mangling the C++ functions to match up with Fortran?&nbsp; It should make it such that you don't have to do the machine dependent mangling yourself.&nbsp; An example is at ParaView/CoProcessing/Adaptors/FortranAdaptors if you haven't checked it out yet.<br><br>Andy<br><br><br><br></p>
<div class="gmail_quote">On Tue, Jan 10, 2012 at 6:59 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">

<div link="blue" vlink="purple" lang="EN-GB">
<div>
<p class="MsoNormal"><span>Andy</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Everything is working ok now. I&rsquo;m glad that you are far away, because you may want to throw something heavy at me.</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>I found that my main problem was that I passed an array of real(4) from fortran to use for the grid spacing and cast them to double* in my adaptor, this caused
 some ridiculous numbers to be used for the grid and the python script was basically aborting without doing anything &ndash; hence the lack of png output (and no error messages either). Of course all my print statements were in the fortran side to check that the
 values were correct so I didn&rsquo;t catch it for ages.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Anyway. All seems fine now.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>New Question :
</span></p>
<p class="MsoNormal"><span>I am padding my imagedata pieces with one ghost cell on each side. Contouring etc works fine and pieces abut seamlessly, but for general safety, should I add
 a vtkGhostLevel array to my pointdata to ensure that other filters I might add later don&rsquo;t make data in these regions visible?</span></p>
<p class="MsoNormal"><span>(I didn&rsquo;t look to see if there is an example anywhere that does this).</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>thanks</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>JB</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>PS. When I add a scalar bar to the display, the script displays this error on the first timestep. Quite annoying &ndash; is there anything I can set to true/false
 to make it go away.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"></p>
</div>
</div>

</blockquote>
</div>
<br>
</div>

Gmane