<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div><span><font class="Apple-style-span" size="2"><div>Hi Hong-Jun,</div><div>Is there some change needed for "unpack_set" function (below)?</div><div><br></div><div>ErrorCode WriteHDF5Parallel::unpack_set( EntityHandle set,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;const unsigned long* buffer,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size_t buffer_size )</div><div>{</div><div>&nbsp; &nbsp; // use local variables for readability</div><div>&nbsp; assert(buffer_size &gt;= 4);</div><div>&nbsp; assert(buffer[1]+buffer[2]+buffer[3] &lt;= buffer_size);</div><div>....</div><div><br></div><div><br></div><div>CoreGen
 resolves MATERIAL_SET's using the "resolve_shared_sets" function before calling parallel save, the following error occurs and the process is terminated:</div><div>&nbsp;</div><div>"&nbsp;</div><div>&nbsp;3 &nbsp;H5M *********** Debug Barrier 7 (@412)***********</div><div>&nbsp; 0 &nbsp;H5M (1.60 s) creating meshset table</div><div>...</div><div>...</div><div>&nbsp; 0 &nbsp;H5M (1.61 s) COMMUNICATING SHARED SET DATA (0 owned &amp; 0 remote)</div><div>&nbsp; 0 &nbsp;H5M Using buffer size of 128 for an expected message count of 0</div><div>[2] Assert(buffer[1]+buffer[2]+buffer[3] &lt;= buffer_size) failed at WriteHDF5Parallel.cpp:1727</div><div>Terminated (signal 15)</div><div>"</div></font></span></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">&nbsp;</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><font style="font-family: arial, helvetica, sans-serif; "
 size="2">Rajeev</font><br><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><div style="font-size: 10pt; font-family: arial, helvetica, sans-serif; "><div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><font size="2" face="Arial"><hr size="1"><b><span style="font-weight:bold;">From:</span></b> "hongjun@mcs.anl.gov" &lt;hongjun@mcs.anl.gov&gt;<br><b><span style="font-weight: bold;">To:</span></b> moab-dev@mcs.anl.gov<br><b><span style="font-weight: bold;">Sent:</span></b> Friday, September 30, 2011 6:26 PM<br><b><span style="font-weight: bold;">Subject:</span></b> [MOAB-dev] r5182 - in MOAB/trunk/src/parallel: . moab<br></font><br>
Author: hongjun<br>Date: 2011-09-30 18:26:09 -0500 (Fri, 30 Sep 2011)<br>New Revision: 5182<br><br>Modified:<br>&nbsp;  MOAB/trunk/src/parallel/ParallelComm.cpp<br>&nbsp;  MOAB/trunk/src/parallel/moab/ParallelComm.hpp<br>Log:<br>o "created_iface" flag is added in "unpack_entities" function<br>o it is used in "exchange_owned_mesh" and it is for recognizing with ghost mesh element and non-ghost newly created mesh element<br>o it prevents to assign "PSTATUS_NOT_OWNED" and "PSTATUS_GHOST" for non-ghost newly created mesh elements<br>o passes make check&nbsp; <br><br><br>Modified: MOAB/trunk/src/parallel/ParallelComm.cpp<br>===================================================================<br>--- MOAB/trunk/src/parallel/ParallelComm.cpp&nbsp;&nbsp;&nbsp; 2011-09-29 21:08:52 UTC (rev 5181)<br>+++ MOAB/trunk/src/parallel/ParallelComm.cpp&nbsp;&nbsp;&nbsp; 2011-09-30 23:26:09 UTC (rev 5182)<br>@@ -960,12 +960,13 @@<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  std::vector&lt;EntityHandle&gt; &amp;L2hloc, <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  std::vector&lt;EntityHandle&gt; &amp;L2hrem,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  std::vector&lt;unsigned int&gt; &amp;L2p,<br>-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std::vector&lt;EntityHandle&gt; &amp;new_ents) <br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std::vector&lt;EntityHandle&gt; &amp;new_ents,<br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const bool created_iface) <br> {<br>&nbsp; &nbsp;  unsigned char *tmp_buff = buff_ptr;<br>&nbsp; &nbsp;  ErrorCode result;<br>&nbsp; &nbsp;  result = unpack_entities(buff_ptr, store_remote_handles,<br>-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  ind, false, L1hloc, L1hrem, L1p, L2hloc, L2hrem, L2p, new_ents);<br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  ind, false, L1hloc, L1hrem, L1p, L2hloc, L2hrem, L2p, new_ents, created_iface);<br>&nbsp;  RRA("Unpacking entities failed.");<br>&nbsp;  if (myDebug-&gt;get_verbosity() == 3) {<br>&nbsp; &nbsp;  myDebug-&gt;tprintf(4, "unpack_entities buffer space: %ld bytes.\n", (long int)(buff_ptr-tmp_buff));<br>@@ -1585,7 +1586,8 @@<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  std::vector&lt;EntityHandle&gt; &amp;L2hloc, <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  std::vector&lt;EntityHandle&gt; &amp;L2hrem,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  std::vector&lt;unsigned int&gt; &amp;L2p,<br>-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std::vector&lt;EntityHandle&gt; &amp;new_ents) <br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std::vector&lt;EntityHandle&gt; &amp;new_ents,<br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const bool created_iface) <br> {<br>&nbsp; &nbsp;  // general algorithm:<br>&nbsp; &nbsp;  // - unpack # entities<br>@@ -1769,7 +1771,8 @@<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  // update sharing data and pstatus, adjusting order if iface<br>&nbsp; &nbsp; &nbsp; &nbsp;  result = update_remote_data(new_h, &amp;ps[0], &amp;hs[0], num_ps, <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  (is_iface ? PSTATUS_INTERFACE :<br>-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  (created_here ? (PSTATUS_GHOST | PSTATUS_NOT_OWNED) : 0)));<br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  (created_here ? (created_iface ? 0 : PSTATUS_GHOST <br>+&nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | PSTATUS_NOT_OWNED) : 0)));<br>&nbsp; &nbsp; &nbsp; &nbsp;  RRA("");<br> <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  // need to send this new handle to all sharing procs<br>@@ -5918,7 +5921,8 @@<br>&nbsp; &nbsp; &nbsp;  remoteOwnedBuffs[ind/2]-&gt;reset_ptr(sizeof(int));<br>&nbsp; &nbsp; &nbsp;  result = unpack_buffer(remoteOwnedBuffs[ind/2]-&gt;buff_ptr,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; store_remote_handles, buffProcs[ind/2], ind/2,<br>-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  L1hloc, L1hrem, L1p, L2hloc, L2hrem, L2p, new_ents);<br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  L1hloc, L1hrem,
 L1p, L2hloc, L2hrem, L2p,<br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  new_ents, true);<br>&nbsp; &nbsp; &nbsp;  if (MB_SUCCESS != result) {<br>&nbsp; &nbsp; &nbsp; &nbsp;  std::cout &lt;&lt; "Failed to unpack entities.&nbsp; Buffer contents:" &lt;&lt; std::endl;<br>&nbsp; &nbsp; &nbsp; &nbsp;  print_buffer(remoteOwnedBuffs[ind/2]-&gt;mem_ptr, MB_MESG_ENTS_SIZE, buffProcs[ind/2], false);<br><br><br><br></div></div></blockquote></div></div></body></html>