Hi Takuya,<br><br>This issue has been fixed.  We did a slightly different fix than yours so that we could avoid the MPI communication.  The commit SHA is 135ed11151e547ff54fbb373d686898e40cc3dec.<br><br>Thanks for the bug report.<br>
<br>Andy<br><br><div class="gmail_quote">On Tue, Dec 6, 2011 at 4:05 PM, Andy Bauer <span dir="ltr">&lt;<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</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">Hi Takuya,<br><br>Sorry for the slow response but I finally did verify this problem.  Your change also fixes it.  I&#39;m not that familiar with vtkPVSessionCore so I&#39;ll need to talk to some other people to make sure that it&#39;s the proper fix and if not, what is the proper fix.  I&#39;ll email again when it&#39;s been fixed.<br>


<br>Thanks,<br><font color="#888888">Andy</font><div><div></div><div><br><br><div class="gmail_quote">On Mon, Nov 14, 2011 at 9:32 AM, Takuya OSHIMA <span dir="ltr">&lt;<a href="mailto:oshima@eng.niigata-u.ac.jp" target="_blank">oshima@eng.niigata-u.ac.jp</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">
Hi Andy,<br>
<br>
I may be wrong but I have a feeling that the collected data<br>
information in process 0 should be redistributed to other processes<br>
since adding a print statement for<br>
Slice1.GetDataInformation().GetNumberOfPoints() prints for each<br>
process the number of points expected from the hierarchical collection<br>
mechanism of vtkPVSessionCore::CollectInformation().<br>
<br>
I am not sure if this is the right place and thing but if I add the<br>
following code to vtkPVSessionCore::CollectInformation() the slice<br>
filter works exactly as you stated (&quot;it just needs to go through one<br>
<div>of the process&#39;s grid domain such that the global number of points and<br>
</div>cells is greater than 0&quot;).<br>
<div><br>
Takuya OSHIMA, Ph.D.<br>
Faculty of Engineering, Niigata University<br>
8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN<br>
<br>
</div>--- ParaView-3.12.0/ParaViewCore/ServerImplementation/vtkPVSessionCore.cxx      2011-11-09 05:56:18.000000000 +0900<br>
+++ ParaView-3.12.0.new/ParaViewCore/ServerImplementation/vtkPVSessionCore.cxx  2011-11-14 23:17:32.000000000 +0900<br>
@@ -825,6 +825,33 @@<br>
       controller-&gt;Send(&amp;len, 1, parent, ROOT_SATELLITE_INFO_TAG);<br>
       }<br>
     }<br>
+<br>
+  if (this-&gt;SymmetricMPIMode)<br>
+    {<br>
+    if (myid == 0)<br>
+      {<br>
+      vtkClientServerStream css;<br>
+      info-&gt;CopyToStream(&amp;css);<br>
+      const unsigned char* data;<br>
+      size_t length;<br>
+      css.GetData(&amp;data, &amp;length);<br>
+      int len = static_cast&lt;int&gt;(length);<br>
+      controller-&gt;Broadcast(&amp;len, 1, 0);<br>
+      controller-&gt;Broadcast(const_cast&lt;unsigned char *&gt;(data), len, 0);<br>
+      }<br>
+    else<br>
+      {<br>
+      int len;<br>
+      controller-&gt;Broadcast(&amp;len, 1, 0);<br>
+      unsigned char *data = new unsigned char[len];<br>
+      controller-&gt;Broadcast(data, len, 0);<br>
+      vtkClientServerStream stream;<br>
+      stream.SetData(data, len);<br>
+      info-&gt;CopyFromStream(&amp;stream);<br>
+      delete [] data;<br>
+      }<br>
+    }<br>
+<br>
   return true;<br>
 }<br>
 //----------------------------------------------------------------------------<br>
<br>
From: Andy Bauer &lt;<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>&gt;<br>
<div>Subject: Re: [Paraview] PV 3.12.0 coprocessing problem when using multiple filters<br>
</div>Date: Sun, 13 Nov 2011 14:18:14 -0500<br>
<div><div></div><div><br>
&gt; I hope that&#39;s not the case that the slice has to go through each process&#39;s<br>
&gt; grid domain.  I think it just needs to go through one of the process&#39;s grid<br>
&gt; domain such that the global number of points and cells is greater than 0.<br>
&gt; I will check on this though.<br>
&gt;<br>
&gt; Andy<br>
&gt;<br>
&gt; On Sat, Nov 12, 2011 at 3:57 AM, Takuya OSHIMA<br>
&gt; &lt;<a href="mailto:oshima@eng.niigata-u.ac.jp" target="_blank">oshima@eng.niigata-u.ac.jp</a>&gt;wrote:<br>
&gt;<br>
&gt;&gt; Thanks for all the input guys. Indeed Pat&#39;s tip did the trick, in my case:<br>
&gt;&gt;<br>
&gt;&gt;    if Slice1.GetDataInformation().GetNumberOfPoints():<br>
&gt;&gt;        DataRepresentation2.ColorArrayName = &#39;p&#39;<br>
&gt;&gt;<br>
&gt;&gt; I am still new to coprocessing so I am not getting things right but<br>
&gt;&gt; here is my deduction: I am running my simulation code in parallel with<br>
&gt;&gt; 8 processes with one cell thickness of ghost layers. Slice1 does<br>
&gt;&gt; intersect the domain, but not all of parallel decomposed<br>
&gt;&gt; subdomains. Hence the error is issued for the processes that have no<br>
&gt;&gt; slice data.<br>
&gt;&gt;<br>
&gt;&gt; Meanwhile I noticed that the slice in oneSlice.py just have happened<br>
&gt;&gt; to locate exactly on interprocessor boundaries and intersected all of<br>
&gt;&gt; parallel decomposed subdomains at the ghost layers. That explains why<br>
&gt;&gt; the script worked without error.<br>
&gt;&gt;<br>
&gt;&gt; Takuya OSHIMA, Ph.D.<br>
&gt;&gt; Faculty of Engineering, Niigata University<br>
&gt;&gt; 8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN<br>
&gt;&gt;<br>
&gt;&gt; From: pat marion &lt;<a href="mailto:pat.marion@kitware.com" target="_blank">pat.marion@kitware.com</a>&gt;<br>
&gt;&gt; Subject: Re: [Paraview] PV 3.12.0 coprocessing problem when using multiple<br>
&gt;&gt; filters<br>
&gt;&gt; Date: Fri, 11 Nov 2011 20:08:54 -0500<br>
&gt;&gt;<br>
&gt;&gt; &gt; That&#39;s right, if the output has no point or cell data, then assigning the<br>
&gt;&gt; &gt; ColorArrayName property will throw an exception.  It&#39;s kind of an<br>
&gt;&gt; annoying<br>
&gt;&gt; &gt; behavior.  So I&#39;ll work around this by writing code such as:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; if mySlice.GetDataInformation().GetNumberOfPoints():<br>
&gt;&gt; &gt;     rep.ColorArrayName=&#39;p&#39;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Pat<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Fri, Nov 11, 2011 at 12:39 PM, Andy Bauer &lt;<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; Another thing to check is if there are any cells in the output from the<br>
&gt;&gt; &gt;&gt; second slice filter.  In the ParaView GUI, i started with the mandelbrot<br>
&gt;&gt; &gt;&gt; source and then created a slice filter that didn&#39;t intersect the domain.<br>
&gt;&gt; &gt;&gt; After that there wasn&#39;t any point or cell data in the output.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Andy<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; 2011/11/11 Takuya OSHIMA &lt;<a href="mailto:oshima@eng.niigata-u.ac.jp" target="_blank">oshima@eng.niigata-u.ac.jp</a>&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; I&#39;m not in a place where I can test the line 323 modification right<br>
&gt;&gt; &gt;&gt;&gt; now but the cell array p is present. Please note that oneSlice.py<br>
&gt;&gt; &gt;&gt;&gt; which also colors by cell p works.<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Takuya OSHIMA, Ph.D.<br>
&gt;&gt; &gt;&gt;&gt; Faculty of Engineering, Niigata University<br>
&gt;&gt; &gt;&gt;&gt; 8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; From: Utkarsh Ayachit &lt;<a href="mailto:utkarsh.ayachit@kitware.com" target="_blank">utkarsh.ayachit@kitware.com</a>&gt;<br>
&gt;&gt; &gt;&gt;&gt; Subject: Re: [Paraview] PV 3.12.0 coprocessing problem when using<br>
&gt;&gt; &gt;&gt;&gt; multiple filters<br>
&gt;&gt; &gt;&gt;&gt; Date: Fri, 11 Nov 2011 09:16:18 -0500<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; Is the array &quot;p&quot; not present when you&#39;re coprocessnig? Try taking out<br>
&gt;&gt; &gt;&gt;&gt; &gt; line 323 which sets the array &quot;p&quot; as the array to color with.<br>
&gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; Utkarsh<br>
&gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; On Fri, Nov 11, 2011 at 9:08 AM, Takuya OSHIMA<br>
&gt;&gt; &gt;&gt;&gt; &gt; &lt;<a href="mailto:oshima@eng.niigata-u.ac.jp" target="_blank">oshima@eng.niigata-u.ac.jp</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; Hi,<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; I am trying to explore the coprocessing capability of PV 3.12.0.<br>
&gt;&gt; When<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; I create a pipeline with a single slice filter within the PV GUI,<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; export the Python state file by the coprocessing plugin and run the<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; script as the coprocessing pipleline in my simulation code, it<br>
&gt;&gt; works<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; fine.<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; However if I create a pipeline with two or more filters my<br>
&gt;&gt; simulation<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; code issues an error from the coprocessing library (the error<br>
&gt;&gt; message<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; is for the case of two slice filters):<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; Traceback (most recent call last):<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;  File &quot;&lt;string&gt;&quot;, line 2, in &lt;module&gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;  File &quot;/Users/ohshima/shindoriTest/twoSlices.py&quot;, line 323, in<br>
&gt;&gt; &gt;&gt;&gt; DoCoProcessing<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;    DataRepresentation2.ColorArrayName = &#39;p&#39;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;  File<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &quot;/Volumes/RAID0data/paraview/3.12/build/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py&quot;,<br>
&gt;&gt; &gt;&gt;&gt; line 212, in __setattr__<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;    setter(self, value)<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;  File<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &quot;/Volumes/RAID0data/paraview/3.12/build/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py&quot;,<br>
&gt;&gt; &gt;&gt;&gt; line 2276, in setProperty<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;    return self.SetPropertyWithName(propName, value)<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;  File<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &quot;/Volumes/RAID0data/paraview/3.12/build/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py&quot;,<br>
&gt;&gt; &gt;&gt;&gt; line 267, in SetPropertyWithName<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;    prop.SetData(arg)<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;  File<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &quot;/Volumes/RAID0data/paraview/3.12/build/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py&quot;,<br>
&gt;&gt; &gt;&gt;&gt; line 695, in SetData<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;    raise ValueError(&quot;Could not locate array %s in the input.&quot; %<br>
&gt;&gt; arr)<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; ValueError: Could not locate array p in the input.<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; The problem is same for Mac OS X 10.6 and RHEL 5.1 64bit. I attach<br>
&gt;&gt; the<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; scripts oneSlice.py (which works) and twoSlices.py (which does not<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; work). Can anybody shed light on the problem?<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; Takuya<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; Takuya OSHIMA, Ph.D.<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; Faculty of Engineering, Niigata University<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; 8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; Visit other Kitware open-source projects at<br>
&gt;&gt; &gt;&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt;&gt; &gt;&gt;&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt; &gt;&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt;&gt; &gt;&gt;&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; &gt;&gt;&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt; &gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt;&gt; &gt;&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; &gt;&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;<br>
&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;<br>
&gt;&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt;&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;&gt;<br>
&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;&gt;<br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>