Hi John,<br><br>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&#39;t have any points or cells.  Looking at your stack traces I don&#39;t think it&#39;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&#39;s current master branch?<br>
<br>Are you using a python script to drive the coprocessing?  If yes, can you share it?<br><br>Andy<br><br><div class="gmail_quote">
On Wed, Dec 21, 2011 at 12:15 PM, Biddiscombe, John A. <span dir="ltr">&lt;<a href="mailto:biddisco@cscs.ch" target="_blank">biddisco@cscs.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

I&#39;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  process makes it to here and waits for MPI traffic<br>
<br>
&gt;       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++<br>


        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++<br>


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


        vtkPVClientServerCore.dll!vtkPVSynchronizedRenderWindows::SynchronizeBounds(double * bounds=0x000000000d18a8a8)  Line 1381      C++<br>
        vtkPVClientServerCore.dll!vtkPVRenderView::GatherBoundsInformation(bool using_distributed_rendering=true)  Line 598     C++<br>
        vtkPVClientServerCore.dll!vtkPVRenderView::Render(bool interactive=false, bool skip_rendering=false)  Line 882  C++<br>
        vtkPVClientServerCore.dll!vtkPVRenderView::StillRender()  Line 745      C++<br>
        vtkPVClientServerCoreCS.dll!vtkPVRenderViewCommand(vtkClientServerInterpreter * arlu=0x0000000005d6be10, vtkObjectBase * ob=0x000000000d18a770, const char * method=0x000000000e1f7ee9, const vtkClientServerStream &amp; msg={...}, vtkClientServerStream &amp; resultStream={...})  Line 258  C++<br>


        vtkClientServer.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream &amp; css={...}, int midx=0)  Line 379 + 0x2f bytes        C++<br>
        vtkClientServer.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream &amp; css={...}, int message=0)  Line 214 + 0x1d bytes        C++<br>
        vtkClientServer.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream &amp; css={...})  Line 183 + 0x14 bytes   C++<br>
        vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false)  Line 636   C++<br>
        vtkPVServerImplementation.dll!vtkPVSessionCore::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false)  Line 606 C++<br>
        vtkPVServerImplementation.dll!vtkPVSessionBase::ExecuteStream(unsigned int location=21, const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false)  Line 157 C++<br>
        vtkPVServerManager.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream &amp; stream={...}, bool ignore_errors=false, unsigned int location=21)  Line 2092     C++<br>
        vtkPVServerManager.dll!vtkSMViewProxy::StillRender()  Line 137 + 0x18 bytes     C++<br>
        vtkPVServerManager.dll!`anonymous namespace&#39;::vtkRenderHelper::EventuallyRender()  Line 86      C++<br>
        vtkPVVTKExtensions.dll!vtkPVGenericRenderWindowInteractor::Render()  Line 302   C++<br>
        vtkRendering.dll!vtkRenderWindowInteractor::Initialize()  Line 632      C++<br>
        vtkRendering.dll!vtkRenderWindowInteractor::ReInitialize()  Line 76 + 0x13 bytes        C++<br>
        vtkRendering.dll!vtkWin32OpenGLRenderWindow::SetOffScreenRendering(int offscreen=0)  Line 1268  C++<br>
        vtkPVServerManager.dll!vtkSMRenderViewProxy::CaptureWindowInternal(int magnification=1)  Line 875       C++<br>
        vtkPVServerManager.dll!vtkSMViewProxy::CaptureWindow(int magnification=1)  Line 268 + 0x20 bytes        C++<br>
        vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b619f50, const char * writerName=0x000000000ac750e0, int magnification=1)  Line 307 + 0x11 bytes     C++<br>
        vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b62f6d8, _object * args=0x000000000b62b438)  Line 367 + 0x1f bytes  C++<br>
<br>
------------------------------<br>
but the other N-1 processes end up in here - waiting<br>
<br>
&gt;       vtkParallel.dll!vtkMPICommunicator::BroadcastVoidArray(void * data=0x000000000012dd24, __int64 length=1, int type=6, int root=0)  Line 1159 + 0x31 bytes        C++<br>
        vtkParallel.dll!vtkCommunicator::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 256       C++<br>
        vtkParallel.dll!vtkMultiProcessController::Broadcast(int * data=0x000000000012dd24, __int64 length=1, int srcProcessId=0)  Line 402     C++<br>
        vtkPVServerManager.dll!vtkSMUtilities::SaveImageOnProcessZero(vtkImageData * image=0x000000000e2c79c0, const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0)  Line 139  C++<br>
        vtkPVServerManager.dll!vtkSMViewProxy::WriteImage(const char * filename=0x000000000b729f50, const char * writerName=0x000000000ac850e0, int magnification=1)  Line 311 + 0x1f bytes     C++<br>
        vtkPVServerManagerPythonD.dll!PyvtkSMViewProxy_WriteImage(_object * self=0x000000000b73f6d8, _object * args=0x000000000b73b438)  Line 367 + 0x1f bytes  C++<br>
<br>
There was a problem with the SaveImageOnProcess Zero which caused exactly this some time ago. I&#39;m using a branch of mine derived from the v3.12.0 tag, but I cherry picked Andy&#39;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<br>
</blockquote></div><br>