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
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview