<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">The reason that you are not seeing the MPIR_ERRTEST_USERBUFFER is that the original intent of the design is that easy error tests are carried out in the error test block and anything else must be handled elsewhere.  For example, some of the group operations have consistency checks in the body of the code, rather than in the error test block.  Because MPI_BOTTOM with an MPI Datatype containing non-zero offsets is always valid, the simple checks for NULL were originally not performed in any of the routines.  The ERRTEST_USERBUFFER check will catch many (though not all) null buffers at relatively low cost, though since other parts of the code must also check for null, it should not be considered necessary or sufficient.<div><br></div><div>Its probably worth adding a comment that it is incorrect to use ERRTEST_ARGNULL for communication buffers in every routine that has one, since this issue comes up every few years.</div><div><br></div><div>Also, the ERRTEST_USERBUFFER should include the parameter name and add an error message that includes the parameter name, since many routines have multiple communication buffers to which this can be applied.<br><div><br></div><div>Bill</div><div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="font-size: 12px; ">William Gropp</div><div style="font-size: 12px; ">Director, Parallel Computing Institute</div><div style="font-size: 12px; ">Deputy Director for Research</div><div style="font-size: 12px; ">Institute for Advanced Computing Applications and Technologies</div></div></div></span><span class="Apple-style-span" style="font-size: 12px; ">Thomas M. Siebel Chair in Computer Science</span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="font-size: 12px; ">University of Illinois Urbana-Champaign</div></div><div><br></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On May 30, 2013, at 6:40 AM, Jeff Hammond wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>The check for NO_OP in *get_accumulate was most certainly present.<br>That was the first thing I checked when<br>MPI_Get_accumulate(MPI_REPLACE) failed to behave like MPI_Get w.r.t.<br>ARMCI-MPI test codes.<br><br>I'm going to supplement the RMA test suite so that this issue and ones<br>like it would have been caught by MPICH rather than waiting until the<br>very last ARMCI-MPI test to be revealed.<br><br>Jeff<br><br>On Thu, May 30, 2013 at 4:53 AM, Jim Dinan <<a href="mailto:james.dinan@gmail.com">james.dinan@gmail.com</a>> wrote:<br><blockquote type="cite">Ugh, deep shame upon me and whoever reviewed my patch!  Lisandro is<br></blockquote><blockquote type="cite">correct.  :)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">For accumulate ops, the op can also cause a buffer to be ignored (e.g.<br></blockquote><blockquote type="cite">GACC/FOP with NO_OP).  I think there is code to handle this, but keep an<br></blockquote><blockquote type="cite">eye out for it.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> ~Jim.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">On 05/29/2013 03:08 PM, Lisandro Dalcin wrote:<br></blockquote><blockquote type="cite"><blockquote type="cite">On 29 May 2013 22:49, Jeff Hammond <<a href="mailto:jhammond@alcf.anl.gov">jhammond@alcf.anl.gov</a>> wrote:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">It seems that I didn't understand MPI_BOTTOM completely, so the error<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">checks needed to be different than described below, but the high-level<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">issues are the same.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Interested parties may consult<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="http://trac.mpich.org/projects/mpich/ticket/1863">http://trac.mpich.org/projects/mpich/ticket/1863</a> for details and<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">further discussion.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Please take a look at the macro MPIR_ERRTEST_USERBUFFER .<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">--<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Lisandro Dalcin<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">---------------<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">CIMEC (INTEC/CONICET-UNL)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Predio CONICET-Santa Fe<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Colectora RN 168 Km 472, Paraje El Pozo<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">3000 Santa Fe, Argentina<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Tel: +54-342-4511594 (ext 1011)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Tel/Fax: +54-342-4511169<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><br><br><br>-- <br>Jeff Hammond<br>Argonne Leadership Computing Facility<br>University of Chicago Computation Institute<br><a href="mailto:jhammond@alcf.anl.gov">jhammond@alcf.anl.gov</a> / (630) 252-5381<br><a href="http://www.linkedin.com/in/jeffhammond">http://www.linkedin.com/in/jeffhammond</a><br>https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond<br>ALCF docs: http://www.alcf.anl.gov/user-guides<br></div></blockquote></div><br></div></div></body></html>