<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr">Hi Rob,<div><br></div><div>Thanks! Below is not exactly same issue/error but related :</div><div><br></div><div>While constructing derived datatype (filetype used for set_view), do we need displacements / offsets to be in ascending order?</div><div>I mean, suppose I am creating derived datatype using MPI_Type_create_hindexed (or mpi struct) with length/displacements as:</div><div><br></div><div><div>        blocklengths[0] = 8;</div><div>        blocklengths[1] = 231670;</div><div>        blocklengths[2] = 116606;</div><div><br></div><div>        displacements[0] = 0;</div><div>        displacements[1] = 8;</div><div>        displacements[2] = 231678;</div></div><div><br></div><div>Above displacements are in ascending order. Suppose I shuffle order bit:</div><div><br></div><div><div>        blocklengths[0] = 8;</div><div>        blocklengths[1] = 116606;</div><div>        blocklengths[2] = 231670;</div><div><br></div><div>        displacements[0] = 0;</div><div>        displacements[1] = 231678;</div><div>        displacements[2] = 8;</div></div><div><br></div><div>It's still the same but while specifying block-lengths/offsets I changed the order. (resultant file will have data in different oder but that's ignored here)</div><div>Isn't this a valid specification? This second example results in a segfault (in ADIO_GEN_WriteStrided / Coll). </div><div><br></div><div>I quickly wrote attached program, let me know if I have missed anything obvious here.</div><div><br></div><div>Regards,</div><div>Pramod</div><div><br></div><div>p.s. you can compile & run as:</div><div><br></div><div>Not working => mpicxx  test.cpp && mpirun -n 2 ./a.out</div><div>Working =>. mpicxx test.cpp -DUSE_ORDER && mpirun -n 2 ./a.out </div><div><br></div><div><br></div><div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 22, 2017 at 5:25 PM, Latham, Robert J. <span dir="ltr"><<a href="mailto:robl@mcs.anl.gov" target="_blank">robl@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">On Mon, 2017-08-21 at 17:45 +0200, pramod kumbhar wrote:<br>
> Dear All,<br>
><br>
> In one of our application I am seeing following error while using<br>
> collective call MPI_File_write_all :<br>
><br>
> Error in ADIOI_Calc_aggregator(): rank_index(1) >= fd->hints-<br>
> >cb_nodes (1) fd_size=102486061 off=102486469<br>
><br>
> Non collective version works fine.<br>
><br>
> While looking at callstack I came across below comment in mpich-<br>
> 3.2/src/mpi/romio/adio/common/<wbr>ad_aggregate.c :<br>
><br>
>     /* we index into fd_end with rank_index, and fd_end was allocated<br>
> to be no<br>
>      * bigger than fd->hins->cb_nodes.   If we ever violate that,<br>
> we're<br>
>      * overrunning arrays.  Obviously, we should never ever hit this<br>
> abort */<br>
>     if (rank_index >= fd->hints->cb_nodes || rank_index < 0) {<br>
>         FPRINTF(stderr, "Error in ADIOI_Calc_aggregator():<br>
> rank_index(%d) >= fd->hints->cb_nodes (%d) fd_size=%lld<br>
> off=%lld\n",<br>
>             rank_index,fd->hints->cb_<wbr>nodes,fd_size,off);<br>
>         MPI_Abort(MPI_COMM_WORLD, 1);<br>
>     }<br>
><br>
> I am going to look into application and see if there is an issue with<br>
> offset overflow. But looking at above comment ("Obviously, we should<br>
> never ever hit this abort ") I thought should ask if there is any<br>
> obvious thing I am missing.<br>
<br>
</div></div>that's my comment.  The 'rank_index' array is allocated based on the<br>
'cb_nodes' hint.  I definitely would like to know more about how the<br>
code is manipulating rank_index, cb_nodes, and fd_end .<br>
<br>
If there is a reduced test case you can send me, that will be a huge<br>
help.<br>
<br>
==rob<br>
<span class="gmail-"><br>
><br>
> Regards,<br>
> Pramod<br>
><br>
> p.s. I will provide reproducer after looking into this more<br>
> carefully.<br>
</span>> ______________________________<wbr>_________________<br>
> discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>
> To manage subscription options or unsubscribe:<br>
> <a href="https://lists.mpich.org/mailman/listinfo/discuss" rel="noreferrer" target="_blank">https://lists.mpich.org/<wbr>mailman/listinfo/discuss</a><br>
______________________________<wbr>_________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss" rel="noreferrer" target="_blank">https://lists.mpich.org/<wbr>mailman/listinfo/discuss</a><br>
</blockquote></div><br></div></div></div>