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